aes-xts 512b benchmarks compared

Post Reply
elatllat
Posts: 1895
Joined: Tue Sep 01, 2015 8:54 am
languages_spoken: english
ODROIDs: XU4, N1, N2, C4, N2+, HC4
Has thanked: 70 times
Been thanked: 139 times
Contact:

aes-xts 512b benchmarks compared

Post by elatllat »

Code: Select all

MiB/s,   Product
   9.7,  RPI 1
  18.8,  HiFive Unmatched (U740)
  22.5,  RPI 3
  42.2,  Odroid C2
  60.0,  USB2 =======
  66.1,  RPI 4
  76.2,  Odroid XU4
 125.0,  GbE =======
 221.2,  UP1
 240.3,  Orange Pi PC2, NanoPi NEO2 (AllWinner H5)
 267.0,  espressobin
 370.5,  ROCK64 (RK3328)
 536.6,  Odroid M1 (RK3568)
 570.6,  Odroid C4 (S905X3)
 625.0,  USB3 =======
 655.6,  Odroid N1, ROCKPRO64, etc (RK3399)
 666.1,  UP2 (N4200)
 704.2,  Odroid H2 (J4105)
 707.1,  Odroid N2 (S922X)
 826.1,  rackspace (E5-2670)
 985.1,  EC2 (AMD EPYC 7571)
1366.7,  EC2 (E5-2676)
1393.7,  old i5 (2500S)
2710.3,  Ryzen 1800X
2994.5,  i7-1165G7
Last edited by elatllat on Sat Aug 13, 2022 4:48 am, edited 20 times in total.

User avatar
odroid
Site Admin
Posts: 39555
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English, Korean
ODROIDs: ODROID
Has thanked: 2683 times
Been thanked: 1482 times
Contact:

Re: aes-xts 512b benchmarks compared

Post by odroid »

The N1's AES performance seems to be very similar to the Intel Apollo Lake Pentium.

BTW, we recently fixed the AES acceleration driver issue in XU4 kernel 4.14.18.
https://wiki.odroid.com/odroid-xu4/soft ... encryption

tkaiser
Posts: 773
Joined: Mon Nov 09, 2015 12:30 am
languages_spoken: english
ODROIDs: C1+, C2, XU4, HC1
Has thanked: 2 times
Been thanked: 25 times
Contact:

Re: aes-xts 512b benchmarks compared

Post by tkaiser »

Since you were asking for RPi 4 numbers:

Debian Stretch (armhf):

Code: Select all

root@raspberrypi:~# cryptsetup benchmark
# Tests are approximate using memory only (no storage IO).
PBKDF2-sha1       302357 iterations per second for 256-bit key
PBKDF2-sha256     424181 iterations per second for 256-bit key
PBKDF2-sha512     217366 iterations per second for 256-bit key
PBKDF2-ripemd160  266136 iterations per second for 256-bit key
PBKDF2-whirlpool   41426 iterations per second for 256-bit key
#  Algorithm | Key |  Encryption |  Decryption
     aes-cbc   128b    45.6 MiB/s    78.7 MiB/s
 serpent-cbc   128b           N/A           N/A
 twofish-cbc   128b           N/A           N/A
     aes-cbc   256b    36.2 MiB/s    59.2 MiB/s
 serpent-cbc   256b           N/A           N/A
 twofish-cbc   256b           N/A           N/A
     aes-xts   256b    86.9 MiB/s    76.0 MiB/s
 serpent-xts   256b           N/A           N/A
 twofish-xts   256b           N/A           N/A
     aes-xts   512b    67.5 MiB/s    57.8 MiB/s
 serpent-xts   512b           N/A           N/A
 twofish-xts   512b           N/A           N/A
Raspbian Buster (ARMv6):

Code: Select all

root@raspberrypi:/home/pi# cryptsetup benchmark
# Tests are approximate using memory only (no storage IO).
PBKDF2-sha1       317365 iterations per second for 256-bit key
PBKDF2-sha256     499321 iterations per second for 256-bit key
PBKDF2-sha512     142160 iterations per second for 256-bit key
PBKDF2-ripemd160  268865 iterations per second for 256-bit key
PBKDF2-whirlpool   48473 iterations per second for 256-bit key
argon2i       4 iterations, 256024 memory, 4 parallel threads (CPUs) for 256-bit key (requested 2000 ms time)
argon2id      4 iterations, 268911 memory, 4 parallel threads (CPUs) for 256-bit key (requested 2000 ms time)
#     Algorithm |       Key |      Encryption |      Decryption
        aes-cbc        128b        46.7 MiB/s        77.0 MiB/s
    serpent-cbc        128b               N/A               N/A
    twofish-cbc        128b               N/A               N/A
        aes-cbc        256b        36.7 MiB/s        58.3 MiB/s
    serpent-cbc        256b               N/A               N/A
    twofish-cbc        256b               N/A               N/A
        aes-xts        256b        85.5 MiB/s        74.6 MiB/s
    serpent-xts        256b               N/A               N/A
    twofish-xts        256b               N/A               N/A
        aes-xts        512b        66.1 MiB/s        56.8 MiB/s
    serpent-xts        512b               N/A               N/A
    twofish-xts        512b               N/A               N/A
Tests done with cpufreq governor set to performance and monitoring ensured that no throttling happened. OpenSSL benchmark also reveal that they didn't license ARMv8 Crypto Extensions: https://github.com/ThomasKaiser/sbc-ben ... Results.md
These users thanked the author tkaiser for the post (total 2):
elatllat (Thu Jul 04, 2019 8:17 pm) • DHGE (Mon Feb 03, 2020 5:58 pm)

elatllat
Posts: 1895
Joined: Tue Sep 01, 2015 8:54 am
languages_spoken: english
ODROIDs: XU4, N1, N2, C4, N2+, HC4
Has thanked: 70 times
Been thanked: 139 times
Contact:

Re: aes-xts 512b benchmarks compared

Post by elatllat »

Thanks tkaiser :)

tkaiser
Posts: 773
Joined: Mon Nov 09, 2015 12:30 am
languages_spoken: english
ODROIDs: C1+, C2, XU4, HC1
Has thanked: 2 times
Been thanked: 25 times
Contact:

Re: aes-xts 512b benchmarks compared

Post by tkaiser »

Here are ODROID-M1 numbers: viewtopic.php?p=346440#p346440

Not so surprisingly close to C4 since both SoCs are essentially the same (Cortex-A55 with ARMv8 Crypto Extensions) but RK3568 on M1 is clocked slightly lower (~1930-1950 MHz vs. 2100 with the S905X3)

tkaiser
Posts: 773
Joined: Mon Nov 09, 2015 12:30 am
languages_spoken: english
ODROIDs: C1+, C2, XU4, HC1
Has thanked: 2 times
Been thanked: 25 times
Contact:

Re: aes-xts 512b benchmarks compared

Post by tkaiser »

And since it just happened that I'm running an RPi 4 with 64-bit kernel and userland cryptsetup numbers again (the RPi 4 running at the now common 1.8 GHz instead of 1.5 GHz back then):

Code: Select all

pi@raspberrypi:~ $ uname -a
Linux raspberrypi 5.10.92-v8+ #1514 SMP PREEMPT Mon Jan 17 17:39:38 GMT 2022 aarch64 GNU/Linux
root@raspberrypi:/home/pi# cryptsetup benchmark
# Tests are approximate using memory only (no storage IO).
PBKDF2-sha1       430449 iterations per second for 256-bit key
PBKDF2-sha256     698119 iterations per second for 256-bit key
PBKDF2-sha512     569259 iterations per second for 256-bit key
PBKDF2-ripemd160  363583 iterations per second for 256-bit key
PBKDF2-whirlpool  147770 iterations per second for 256-bit key
argon2i       4 iterations, 337523 memory, 4 parallel threads (CPUs) for 256-bit key (requested 2000 ms time)
argon2id      4 iterations, 339792 memory, 4 parallel threads (CPUs) for 256-bit key (requested 2000 ms time)
#     Algorithm |       Key |      Encryption |      Decryption
        aes-cbc        128b        28.3 MiB/s        91.6 MiB/s
    serpent-cbc        128b               N/A               N/A
    twofish-cbc        128b               N/A               N/A
        aes-cbc        256b        20.6 MiB/s        69.5 MiB/s
    serpent-cbc        256b               N/A               N/A
    twofish-cbc        256b               N/A               N/A
        aes-xts        256b        99.9 MiB/s        88.7 MiB/s
    serpent-xts        256b               N/A               N/A
    twofish-xts        256b               N/A               N/A
        aes-xts        512b        77.4 MiB/s        67.9 MiB/s
    serpent-xts        512b               N/A               N/A
    twofish-xts        512b               N/A               N/A
After updating all packages to latest version (kernel included) the scores slightly improved by some MB/s but ofc still simply just pathetic compared to any ARMv8 SoC with Crypto Extensions licensed:

Code: Select all

root@raspberrypi:/home/pi# uname -a
Linux raspberrypi 5.15.32-v8+ #1538 SMP PREEMPT Thu Mar 31 19:40:39 BST 2022 aarch64 GNU/Linux
root@raspberrypi:/home/pi# cryptsetup benchmark
# Tests are approximate using memory only (no storage IO).
PBKDF2-sha1       430449 iterations per second for 256-bit key
PBKDF2-sha256     699983 iterations per second for 256-bit key
PBKDF2-sha512     567411 iterations per second for 256-bit key
PBKDF2-ripemd160  363080 iterations per second for 256-bit key
PBKDF2-whirlpool  147437 iterations per second for 256-bit key
argon2i       4 iterations, 338864 memory, 4 parallel threads (CPUs) for 256-bit key (requested 2000 ms time)
argon2id      4 iterations, 339792 memory, 4 parallel threads (CPUs) for 256-bit key (requested 2000 ms time)
#     Algorithm |       Key |      Encryption |      Decryption
        aes-cbc        128b        98.4 MiB/s       102.0 MiB/s
    serpent-cbc        128b               N/A               N/A
    twofish-cbc        128b               N/A               N/A
        aes-cbc        256b        78.4 MiB/s        79.4 MiB/s
    serpent-cbc        256b               N/A               N/A
    twofish-cbc        256b               N/A               N/A
        aes-xts        256b       102.8 MiB/s       106.4 MiB/s
    serpent-xts        256b               N/A               N/A
    twofish-xts        256b               N/A               N/A
        aes-xts        512b        81.4 MiB/s        82.5 MiB/s
    serpent-xts        512b               N/A               N/A
    twofish-xts        512b               N/A               N/A

Post Reply

Return to “General Chat”

Who is online

Users browsing this forum: No registered users and 0 guests