aes-xts 512b benchmarks compared

Post Reply
elatllat
Posts: 1900
Joined: Tue Sep 01, 2015 8:54 am
languages_spoken: english
ODROIDs: XU4, N1, N2, C4, N2+, HC4
Has thanked: 74 times
Been thanked: 140 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)
 879.4,  RPI 5 (assuming the same as aes-cbc 128b)
 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 Thu Sep 28, 2023 11:01 pm, edited 22 times in total.

User avatar
odroid
Site Admin
Posts: 41864
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English, Korean
ODROIDs: ODROID
Has thanked: 3433 times
Been thanked: 1920 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: 786
Joined: Mon Nov 09, 2015 12:30 am
languages_spoken: english
ODROIDs: C1+, C2, XU4, HC1
Has thanked: 2 times
Been thanked: 27 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: 1900
Joined: Tue Sep 01, 2015 8:54 am
languages_spoken: english
ODROIDs: XU4, N1, N2, C4, N2+, HC4
Has thanked: 74 times
Been thanked: 140 times
Contact:

Re: aes-xts 512b benchmarks compared

Post by elatllat »

Thanks tkaiser :)

tkaiser
Posts: 786
Joined: Mon Nov 09, 2015 12:30 am
languages_spoken: english
ODROIDs: C1+, C2, XU4, HC1
Has thanked: 2 times
Been thanked: 27 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: 786
Joined: Mon Nov 09, 2015 12:30 am
languages_spoken: english
ODROIDs: C1+, C2, XU4, HC1
Has thanked: 2 times
Been thanked: 27 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

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

Re: aes-xts 512b benchmarks compared

Post by elatllat »

5 years later and it looks like the RPI 5 may have caught up to the N2 encryption speed.

User avatar
meveric
Posts: 12126
Joined: Mon Feb 25, 2013 2:41 pm
languages_spoken: german, english
ODROIDs: X2, U2, U3, XU-Lite, XU3, XU3-Lite, C1, XU4, C2, C1+, XU4Q, HC1, N1, Go, H2 (N4100), N2, H2 (J4105), GoA, C4, GoA v1.1, H2+, HC4, GoS
Has thanked: 93 times
Been thanked: 675 times
Contact:

Re: aes-xts 512b benchmarks compared

Post by meveric »

RPi 5 is a Cortex-A76 board compared to a Cortex-A73 in the ODROID N2.
Not really surprising that it's catching up.
Donate to support my work on the ODROID GameStation Turbo Image for U2/U3 XU3/XU4 X2 X C1 as well as many other releases.
Check out the Games and Emulators section to find some of my work or check the files in my repository to find the software i build for ODROIDs.
If you want to add my repository to your image read my HOWTO integrate my repo into your image.

Post Reply

Return to “General Chat”

Who is online

Users browsing this forum: No registered users and 2 guests