Hi, Jussi, Thanks for your patient replying
I have confirmed that AES hardware acceleration is active on my ARM node;
without it, the performance drops significantly.
I believe this is not an issue with Libgcrypt’s compilation options on ARM, but
rather a limitation of the hardware’s throughput.
Thank you.
ARM:
[root@node-2 tests]# ./version
version:1.12.0-beta679:10c00:1.57-beta1:13900:
cc:110500:gcc:11.5.0 20240719 (Red Hat 11.5.0-5):
ciphers:arcfour:blowfish:cast5:des:aes:twofish:serpent:rfc2268:seed:camellia:idea:salsa20:gost28147:chacha20:sm4:aria:
pubkeys:dsa:elgamal:rsa:ecc:kyber:dilithium:
digests:crc:gostr3411-94::md4:md5:rmd160:sha1:sha256:sha512:sha3:tiger:whirlpool:stribog:blake2:sm3:
rnd-mod:getentropy:
cpu-arch:arm:
mpi-asm:aarch64/mpih-add1.S:aarch64/mpih-sub1.S:aarch64/mpih-mul1.S:aarch64/mpih-mul2.S:aarch64/mpih-mul3.S:generic/mpih-lshift.c:generic/mpih-rshift.c:
mpi-powm:fixed-window
hwflist:arm-neon:arm-aes:arm-sha1:arm-sha2:arm-pmull:
fips-mode:n:::
rng-type:standard:1:3030000:2:
compliance:::
[root@node-2 tests]# ./bench-slope --cpu-mhz auto cipher aes256
Cipher:
AES256 | nanosecs/byte mebibytes/sec cycles/byte auto Mhz
ECB enc | 0.355 ns/B 2689 MiB/s 0.922 c/B 2600
ECB dec | 0.355 ns/B 2688 MiB/s 0.922 c/B 2600
CBC enc | 1.32 ns/B 721.5 MiB/s 3.44 c/B 2600
CBC dec | 0.421 ns/B 2265 MiB/s 1.09 c/B 2600
CFB enc | 1.32 ns/B 721.6 MiB/s 3.44 c/B 2600
CFB dec | 0.433 ns/B 2203 MiB/s 1.13 c/B 2600
OFB enc | 1.32 ns/B 720.2 MiB/s 3.44 c/B 2600
OFB dec | 1.32 ns/B 720.0 MiB/s 3.44 c/B 2600
CTR enc | 0.451 ns/B 2115 MiB/s 1.17 c/B 2600
CTR dec | 0.451 ns/B 2116 MiB/s 1.17 c/B 2600
XTS enc | 0.535 ns/B 1783 MiB/s 1.39 c/B 2600
XTS dec | 0.495 ns/B 1926 MiB/s 1.29 c/B 2600
CCM enc | 1.77 ns/B 538.3 MiB/s 4.61 c/B 2600
CCM dec | 1.77 ns/B 538.2 MiB/s 4.61 c/B 2600
CCM auth | 1.32 ns/B 720.9 MiB/s 3.44 c/B 2600
EAX enc | 1.77 ns/B 537.3 MiB/s 4.61 c/B 2600
EAX dec | 1.77 ns/B 540.1 MiB/s 4.59 c/B 2600
EAX auth | 1.32 ns/B 721.5 MiB/s 3.44 c/B 2600
GCM enc | 0.673 ns/B 1417 MiB/s 1.75 c/B 2600
GCM dec | 0.648 ns/B 1471 MiB/s 1.69 c/B 2600
GCM auth | 0.210 ns/B 4541 MiB/s 0.546 c/B 2600
OCB enc | 0.463 ns/B 2062 MiB/s 1.20 c/B 2600
OCB dec | 0.463 ns/B 2061 MiB/s 1.20 c/B 2600
OCB auth | 0.440 ns/B 2165 MiB/s 1.15 c/B 2600
SIV enc | 1.78 ns/B 537.2 MiB/s 4.62 c/B 2600
SIV dec | 1.80 ns/B 531.1 MiB/s 4.67 c/B 2600
SIV auth | 1.32 ns/B 720.8 MiB/s 3.44 c/B 2600
GCM-SIV enc | 0.641 ns/B 1489 MiB/s 1.67 c/B 2600
GCM-SIV dec | 0.712 ns/B 1340 MiB/s 1.85 c/B 2600
GCM-SIV auth | 0.241 ns/B 3963 MiB/s 0.626 c/B 2600
[root@node-2 tests]# ./bench-slope --cpu-mhz auto --disable-hwf arm-aes cipher
aes256
Cipher:
AES256 | nanosecs/byte mebibytes/sec cycles/byte auto Mhz
ECB enc | 6.32 ns/B 150.9 MiB/s 16.43 c/B 2600
ECB dec | 7.69 ns/B 124.1 MiB/s 19.98 c/B 2600
CBC enc | 10.82 ns/B 88.16 MiB/s 28.12 c/B 2600
CBC dec | 7.78 ns/B 122.7 MiB/s 20.21 c/B 2600
CFB enc | 10.87 ns/B 87.71 MiB/s 28.27 c/B 2600
CFB dec | 6.39 ns/B 149.3 MiB/s 16.60 c/B 2600
OFB enc | 11.18 ns/B 85.29 MiB/s 29.07 c/B 2600
OFB dec | 11.16 ns/B 85.49 MiB/s 29.00 c/B 2600
CTR enc | 6.41 ns/B 148.9 MiB/s 16.66 c/B 2600
CTR dec | 6.41 ns/B 148.8 MiB/s 16.66 c/B 2600
XTS enc | 6.44 ns/B 148.2 MiB/s 16.73 c/B 2600
XTS dec | 7.91 ns/B 120.6 MiB/s 20.57 c/B 2600
CCM enc | 17.22 ns/B 55.37 MiB/s 44.78 c/B 2600
CCM dec | 17.23 ns/B 55.36 MiB/s 44.79 c/B 2600
CCM auth | 10.83 ns/B 88.08 MiB/s 28.15 c/B 2600
EAX enc | 17.23 ns/B 55.36 MiB/s 44.79 c/B 2600
EAX dec | 17.23 ns/B 55.36 MiB/s 44.79 c/B 2600
EAX auth | 10.82 ns/B 88.14 MiB/s 28.13 c/B 2600
GCM enc | 6.62 ns/B 144.1 MiB/s 17.21 c/B 2600
GCM dec | 6.62 ns/B 144.1 MiB/s 17.20 c/B 2600
GCM auth | 0.211 ns/B 4514 MiB/s 0.549 c/B 2600
OCB enc | 6.38 ns/B 149.6 MiB/s 16.58 c/B 2600
OCB dec | 7.79 ns/B 122.4 MiB/s 20.26 c/B 2600
OCB auth | 6.48 ns/B 147.3 MiB/s 16.83 c/B 2600
SIV enc | 17.28 ns/B 55.20 MiB/s 44.91 c/B 2600
SIV dec | 17.30 ns/B 55.12 MiB/s 44.98 c/B 2600
SIV auth | 10.82 ns/B 88.14 MiB/s 28.13 c/B 2600
GCM-SIV enc | 6.60 ns/B 144.5 MiB/s 17.16 c/B 2600
GCM-SIV dec | 6.62 ns/B 144.0 MiB/s 17.22 c/B 2600
GCM-SIV auth | 0.240 ns/B 3970 MiB/s 0.625 c/B 2600
=
x86:
[root@node-94 tests]# ./version
version:1.12.0-beta679:10c00:1.57-beta1:13900:
cc:110500:gcc:11.5.0 20240719 (Red Hat 11.5.0-5):
ciphers:arcfour:blowfish:cast5:des:aes:twofish:serpent:rfc2268:seed:camellia:idea:salsa20:gost28147:chacha20:sm4:aria:
pubkeys:dsa:elgamal:rsa:ecc:kyber:dilithium:
digests:crc:gostr3411-94::md4:md5:rmd160:sha1:sha256:sha512:sha3:tiger:whirlpool:stribog:blake2:sm3:
rnd-mod:getentropy:
cpu-arch:x86:amd64:
mpi-asm:amd64/mpih-add1.S:amd64/mpih-sub1.S:amd64/mpih-mul1.S:amd64/mpih-mul2.S:amd64/mpih-mul3.S:amd64/mpih-lshift.S:amd64/mpih-rshift.S:
mpi-powm:fixed-window
hwflist:intel-cpu:intel-bmi2:intel-ssse3:intel-sse4.1:intel-pclmul:intel-aesni:intel-rdrand:intel-avx:intel-avx2:intel-rdtsc:intel-shaext:intel-vaes-vpclmul:intel-avx512:intel-gfni:
fips-mode:n:::
rng-type:standard:1:3030000:1:
compliance:::
[root@node-94 tests]# ./bench-slope --cpu-mhz auto cipher aes256
Cipher:
AES256 | nanosecs/byte mebibytes/sec cycles/byte auto Mhz
ECB enc | 0.085 ns/B 11178 MiB/s 0.221 c/B 2594
ECB dec | 0.084 ns/B 11382 MiB/s 0.217 c/B 2594
CBC enc | 1.02 ns/B 937.3 MiB/s 2.64 c/B 2594
CBC dec | 0.085 ns/B 11186 MiB/s 0.221 c/B 2594
CFB enc | 1.01 ns/B 942.6 MiB/s 2.62 c/B 2593
CFB dec | 0.085 ns/B 11178 MiB/s 0.221 c/B 2594
OFB enc | 1.21 ns/B 786.1 MiB/s 3.15 c/B 2594
OFB dec | 1.22 ns/B 784.3 MiB/s 3.15 c/B 2594
CTR enc | 0.086 ns/B 11150 MiB/s 0.222 c/B 2594
CTR dec | 0.085 ns/B 11156 MiB/s 0.222 c/B 2594
XTS enc | 0.120 ns/B 7978 MiB/s 0.310 c/B 2594
XTS dec | 0.119 ns/B 8001 MiB/s 0.309 c/B 2594
CCM enc | 1.10 ns/B 864.9 MiB/s 2.86 c/B 2594
CCM dec | 1.10 ns/B 865.2 MiB/s 2.86 c/B 2594
CCM auth | 1.02 ns/B 937.3 MiB/s 2.64 c/B 2594
EAX enc | 1.11 ns/B 861.7 MiB/s 2.87 c/B 2594
EAX dec | 1.11 ns/B 860.2 MiB/s 2.88 c/B 2594
EAX auth | 1.02 ns/B 937.2 MiB/s 2.64 c/B 2594
GCM enc | 0.155 ns/B 6171 MiB/s 0.401 c/B 2594
GCM dec | 0.154 ns/B 6182 MiB/s 0.400 c/B 2594
GCM auth | 0.068 ns/B 13950 MiB/s 0.177 c/B 2594
OCB enc | 0.090 ns/B 10599 MiB/s 0.233 c/B 2594
OCB dec | 0.083 ns/B 11444 MiB/s 0.216 c/B 2594
OCB auth | 0.088 ns/B 10851 MiB/s 0.228 c/B 2594
SIV enc | 1.11 ns/B 861.3 MiB/s 2.87 c/B 2594
SIV dec | 1.13 ns/B 847.0 MiB/s 2.92 c/B 2594
SIV auth | 1.02 ns/B 937.8 MiB/s 2.64 c/B 2594
GCM-SIV enc | 0.142 ns/B 6735 MiB/s 0.367 c/B 2594
GCM-SIV dec | 0.170 ns/B 5611 MiB/s 0.441 c/B 2594
GCM-SIV auth | 0.068 ns/B 13978 MiB/s 0.177 c/B 2594
=
Regards, Zhou
> 2025年11月16日 20:21,Jussi Kivilinna <[email protected]> 写道:
>
> Hello,
>
> On 14/11/2025 11:05, Mizar Zhou via Gnupg-users wrote:
>> Hi everyone,
>> I’d like to ask about the performance of Libgcrypt on ARM architectures.
>> In my tests, using the same Libgcrypt version on ARMv8 results in
>> performance that is *three times slower, or even more*, compared to Intel.
>> Is this expected behavior? If not, are there any performance-related
>> configuration options or build switches that I might have overlooked?
>
> When comparing two different systems, you'd need to also check at differences
> of those systems. For example, does the other system have significantly
> higher clock speed? When comparing AES performance, does both systems have
> AES acceleration instructions sets available? With Linux system, you can
> check /proc/cpuinfo. You can check if libgcrypt is detecting AES acceleration
> on CPU with 'tests/version'.
>
> Here's example on x86-64 architecture:
>
>
> $ cat /proc/cpuinfo
> processor : 0
> vendor_id : AuthenticAMD
> cpu family : 25
> model : 97
> model name : AMD Ryzen 9 7900X 12-Core Processor
> stepping : 2
> microcode : 0xa60120c
> cpu MHz : 4947.451
> cache size : 1024 KB
> physical id : 0
> siblings : 24
> core id : 0
> cpu cores : 12
> apicid : 0
> initial apicid : 0
> fpu : yes
> fpu_exception : yes
> cpuid level : 16
> wp : yes
> flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
> cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt
> pdpe1gb rdtscp lm constant_tsc rep_good amd_lbr_v2 nopl xtopology nonstop_tsc
> cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1
> sse4_2 movbe popcnt ***aes*** xsave avx f16c rdrand lahf_lm cmp_legacy svm
> extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt
> tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpuid_fault cpb
> cat_l3 cdp_l3 hw_pstate ssbd mba perfmon_v2 ibrs ibpb stibp ibrs_enhanced
> vmmcall fsgsbase bmi1 avx2 smep bmi2 erms invpcid cqm rdt_a avx512f avx512dq
> rdseed adx smap avx512ifma clflushopt clwb avx512cd sha_ni avx512bw avx512vl
> xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total
> cqm_mbm_local avx512_bf16 clzero irperf xsaveerptr rdpru wbnoinvd cppc arat
> npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists
> pausefilter pfthreshold avic vgif x2avic v_spec_ctrl vnmi avx512vbmi umip pku
> ospke avx512_vbmi2 gfni ***vaes*** vpclmulqdq avx512_vnni avx512_bitalg
> avx512_vpopcntdq rdpid overflow_recov succor smca fsrm flush_l1d
> amd_lbr_pmc_freeze
> bugs : sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass
> srso spectre_v2_user tsa vmscape
> bogomips : 9400.07
> TLB size : 3584 4K pages
> clflush size : 64
> cache_alignment : 64
> address sizes : 48 bits physical, 48 bits virtual
> power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]
>
> $ tests/version
> version:1.12.0-beta677:10c00:1.51:13300:
> cc:150200:gcc:15.2.0:
> ciphers:arcfour:blowfish:cast5:des:aes:twofish:serpent:rfc2268:seed:camellia:idea:salsa20:gost28147:chacha20:sm4:aria:
> pubkeys:dsa:elgamal:rsa:ecc:kyber:dilithium:
> digests:crc:gostr3411-94::md4:md5:rmd160:sha1:sha256:sha512:sha3:tiger:whirlpool:stribog:blake2:sm3:
> rnd-mod:getentropy:
> cpu-arch:x86:amd64:
> mpi-asm:amd64/mpih-add1.S:amd64/mpih-sub1.S:amd64/mpih-mul1.S:amd64/mpih-mul2.S:amd64/mpih-mul3.S:amd64/mpih-lshift.S:amd64/mpih-rshift.S:
> mpi-powm:fixed-window
> hwflist:intel-bmi2:intel-ssse3:intel-sse4.1:intel-pclmul:***intel-aesni***:intel-rdrand:intel-avx:intel-avx2:intel-rdtsc:intel-shaext:***intel-vaes-vpclmul***:intel-avx512:intel-gfni:
> fips-mode:n:::
> rng-type:standard:1:3030000:1:
> compliance:::
>
>
> You can disable AES acceleration with --disable-hwf option to
> 'tests/benchmark' or 'tests/bench-slope'. This way you can check if
> libgcrypt's AES acceleration is active by default on your target system:
>
>
> $ tests/benchmark --large-buffers --cipher-repetitions 1000 cipher aes256
> Running each test 1000 times.
> ECB/Stream CBC/Poly1305 CFB OFB
> CTR XTS CCM GCM OCB
> EAX
> --------------- --------------- --------------- ---------------
> --------------- --------------- --------------- ---------------
> --------------- ---------------
> AES256 40ms 50ms 710ms 50ms 670ms 40ms 980ms 980ms
> 40ms 50ms 50ms 60ms 710ms 710ms 80ms 70ms 50ms
> 40ms 710ms 710ms
>
> $ ./benchmark --large-buffers --cipher-repetitions 1000 --disable-hwf
> intel-aesni --disable-hwf intel-vaes-vpclmul cipher aes256
> Running each test 1000 times.
> ECB/Stream CBC/Poly1305 CFB OFB
> CTR XTS CCM GCM OCB
> EAX
> --------------- --------------- --------------- ---------------
> --------------- --------------- --------------- ---------------
> --------------- ---------------
> AES256 3060ms 3870ms 3280ms 3830ms 3250ms 2950ms 3330ms 3320ms
> 3000ms 3000ms 3110ms 3990ms 6270ms 6290ms 3090ms 3060ms 3020ms
> 3900ms 6290ms 6260ms
>
>
> To get some estimate on your CPU frequency during tests, you can use
> '--cpu-mhz auto' setting of bench-slope tool:
>
> $ tests/bench-slope --cpu-mhz auto cipher aes256
> Cipher:
> AES256 | nanosecs/byte mebibytes/sec cycles/byte auto Mhz
> ECB enc | 0.040 ns/B 23975 MiB/s 0.224 c/B 5624
> ECB dec | 0.040 ns/B 24061 MiB/s 0.223 c/B 5624
> CBC enc | 0.647 ns/B 1473 MiB/s 3.60 c/B 5555±1
> CBC dec | 0.040 ns/B 24044 MiB/s 0.223 c/B 5624
> CFB enc | 0.647 ns/B 1475 MiB/s 3.55 c/B 5487±5
> CFB dec | 0.041 ns/B 23519 MiB/s 0.223 c/B 5500
> OFB enc | 0.937 ns/B 1018 MiB/s 5.27 c/B 5624
> OFB dec | 0.932 ns/B 1024 MiB/s 5.24 c/B 5624
> CTR enc | 0.041 ns/B 23294 MiB/s 0.225 c/B 5500
> CTR dec | 0.041 ns/B 23332 MiB/s 0.225 c/B 5500
> XTS enc | 0.053 ns/B 17877 MiB/s 0.293 c/B 5500
> XTS dec | 0.054 ns/B 17652 MiB/s 0.297 c/B 5500
> CCM enc | 0.692 ns/B 1378 MiB/s 3.90 c/B 5640±3
> CCM dec | 0.688 ns/B 1386 MiB/s 3.74 c/B 5437±5
> CCM auth | 0.647 ns/B 1475 MiB/s 3.65 c/B 5651±1
> EAX enc | 0.691 ns/B 1380 MiB/s 3.95 c/B 5717±4
> EAX dec | 0.692 ns/B 1378 MiB/s 3.80 c/B 5487±5
> EAX auth | 0.646 ns/B 1476 MiB/s 3.54 c/B 5473±1
> GCM enc | 0.072 ns/B 13281 MiB/s 0.395 c/B 5500
> GCM dec | 0.072 ns/B 13271 MiB/s 0.395 c/B 5500
> GCM auth | 0.030 ns/B 31772 MiB/s 0.165 c/B 5500
> OCB enc | 0.041 ns/B 23461 MiB/s 0.224 c/B 5500
> OCB dec | 0.044 ns/B 21456 MiB/s 0.244 c/B 5500
> OCB auth | 0.040 ns/B 23562 MiB/s 0.223 c/B 5500
> SIV enc | 0.693 ns/B 1376 MiB/s 3.82 c/B 5510±1
> SIV dec | 0.696 ns/B 1370 MiB/s 3.82 c/B 5487±5
> SIV auth | 0.650 ns/B 1466 MiB/s 3.67 c/B 5637±4
> GCM-SIV enc | 0.074 ns/B 12831 MiB/s 0.418 c/B 5624
> GCM-SIV dec | 0.079 ns/B 12045 MiB/s 0.445 c/B 5624
> GCM-SIV auth | 0.033 ns/B 29124 MiB/s 0.180 c/B 5500
> =
>
>> I’m using *Libgcrypt 1.10.0 *in ARMv8, compiled with the default settings.
>> Arm:
>> [root@node-2 tests]# ./benchmark --large-buffers --cipher-repetitions 1000
>> cipher aes256
>> Running each test 1000 times.
>> ECB/Stream CBC/Poly1305 CFB OFB
>> CTR *XTS* CCM GCM OCB
>> EAX
>> --------------- --------------- --------------- ---------------
>> --------------- --------------- --------------- ---------------
>> --------------- ---------------
>> AES256 380ms 390ms 1350ms 440ms 1360ms 440ms 1350ms 1360ms
>> 430ms 440ms *530ms 550ms* 1820ms 1800ms 680ms 670ms 480ms
>> 480ms 1820ms 1810ms
>
> My old ARMv8 system (with AES acceleration) shows following results:
>
>
> $ cat /proc/cpuinfo
> processor : 0
> BogoMIPS : 48.00
> Features : fp asimd evtstrm ***aes*** pmull sha1 sha2 crc32 cpuid
> CPU implementer : 0x41
> CPU architecture: 8
> CPU variant : 0x0
> CPU part : 0xd03
> CPU revision : 4
>
> $ ./version
> version:1.11.1-beta23:10b01:1.50-beta2:13200:
> cc:130200:gcc:13.2.0:
> ciphers:arcfour:blowfish:cast5:des:aes:twofish:serpent:rfc2268:seed:camellia:idea:salsa20:gost28147:chacha20:sm4:aria:
> pubkeys:dsa:elgamal:rsa:ecc:
> digests:crc:gostr3411-94::md4:md5:rmd160:sha1:sha256:sha512:sha3:tiger:whirlpool:stribog:blake2:sm3:
> rnd-mod:getentropy:
> cpu-arch:arm:
> mpi-asm:arm/mpih-add1.S:arm/mpih-sub1.S:arm/mpih-mul1.S:arm/mpih-mul2.S:arm/mpih-mul3.S:generic/mpih-lshift.c:generic/mpih-rshift.c:
> hwflist:arm-neon:***arm-aes***:arm-sha1:arm-sha2:arm-pmull:
> fips-mode:n:::
> rng-type:standard:1:3030000:2:
> compliance:::
>
>
> With AES acceleration:
>
>
> $ ./benchmark --large-buffers --cipher-repetitions 1000 cipher aes256
> Running each test 1000 times.
> ECB/Stream CBC/Poly1305 CFB OFB
> CTR XTS CCM GCM OCB
> EAX
> --------------- --------------- --------------- ---------------
> --------------- --------------- --------------- ---------------
> --------------- ---------------
> AES256 6340ms 6540ms 1950ms 1200ms 1830ms 1190ms 6740ms 6740ms
> 1340ms 1340ms 1560ms 1560ms 3330ms 3350ms 2280ms 2260ms 1560ms
> 1550ms 3350ms 3340ms
>
> $ ./bench-slope --cpu-mhz auto cipher aes256
> Cipher:
> AES256 | nanosecs/byte mebibytes/sec cycles/byte auto Mhz
> ECB enc | 1.02 ns/B 936.5 MiB/s 1.17 c/B 1152
> ECB dec | 1.02 ns/B 935.9 MiB/s 1.17 c/B 1152
> CBC enc | 1.57 ns/B 605.9 MiB/s 1.81 c/B 1152
> CBC dec | 1.06 ns/B 899.6 MiB/s 1.22 c/B 1152
> CFB enc | 1.63 ns/B 585.7 MiB/s 1.88 c/B 1152
> CFB dec | 1.06 ns/B 899.8 MiB/s 1.22 c/B 1152
> OFB enc | 6.29 ns/B 151.5 MiB/s 7.25 c/B 1152
> OFB dec | 6.29 ns/B 151.5 MiB/s 7.25 c/B 1152
> CTR enc | 1.11 ns/B 857.2 MiB/s 1.28 c/B 1152
> CTR dec | 1.11 ns/B 855.3 MiB/s 1.28 c/B 1152
> XTS enc | 1.44 ns/B 660.5 MiB/s 1.66 c/B 1152
> XTS dec | 1.44 ns/B 661.3 MiB/s 1.66 c/B 1152
> CCM enc | 2.75 ns/B 347.4 MiB/s 3.16 c/B 1152
> CCM dec | 2.74 ns/B 347.5 MiB/s 3.16 c/B 1152
> CCM auth | 1.74 ns/B 549.0 MiB/s 2.00 c/B 1152
> EAX enc | 2.75 ns/B 347.1 MiB/s 3.16 c/B 1152
> EAX dec | 2.76 ns/B 345.9 MiB/s 3.18 c/B 1152
> EAX auth | 1.63 ns/B 583.8 MiB/s 1.88 c/B 1152
> GCM enc | 1.99 ns/B 478.2 MiB/s 2.30 c/B 1152
> GCM dec | 2.00 ns/B 477.9 MiB/s 2.30 c/B 1152
> GCM auth | 0.881 ns/B 1082 MiB/s 1.02 c/B 1152
> OCB enc | 1.21 ns/B 788.1 MiB/s 1.39 c/B 1152
> OCB dec | 1.21 ns/B 785.2 MiB/s 1.40 c/B 1152
> OCB auth | 1.32 ns/B 724.7 MiB/s 1.52 c/B 1152
> SIV enc | 2.76 ns/B 346.1 MiB/s 3.17 c/B 1152
> SIV dec | 2.85 ns/B 334.6 MiB/s 3.28 c/B 1152
> SIV auth | 1.63 ns/B 583.7 MiB/s 1.88 c/B 1152
> GCM-SIV enc | 2.10 ns/B 453.1 MiB/s 2.42 c/B 1152
> GCM-SIV dec | 2.20 ns/B 433.2 MiB/s 2.54 c/B 1152
> GCM-SIV auth | 0.990 ns/B 963.6 MiB/s 1.14 c/B 1152
> =
>
>
> Without AES acceleration:
>
>
> $ ./benchmark --large-buffers --cipher-repetitions 1000 --disable-hwf arm-aes
> cipher aes256
> Running each test 1000 times.
> ECB/Stream CBC/Poly1305 CFB OFB
> CTR XTS CCM GCM OCB
> EAX
> --------------- --------------- --------------- ---------------
> --------------- --------------- --------------- ---------------
> --------------- ---------------
> AES256 30100ms 30640ms 26200ms 26330ms 26290ms 26180ms 30400ms 30370ms
> 26740ms 26690ms 26360ms 26380ms 52890ms 52910ms 27640ms 27620ms 27310ms
> 27520ms 52980ms 52900ms
>
> $ ./bench-slope --cpu-mhz auto --disable-hwf arm-aes cipher aes256
> Cipher:
> AES256 | nanosecs/byte mebibytes/sec cycles/byte auto Mhz
> ECB enc | 30.67 ns/B 31.09 MiB/s 35.33 c/B 1152
> ECB dec | 33.22 ns/B 28.71 MiB/s 38.27 c/B 1152
> CBC enc | 26.99 ns/B 35.33 MiB/s 31.09 c/B 1152
> CBC dec | 29.21 ns/B 32.65 MiB/s 33.64 c/B 1152
> CFB enc | 26.94 ns/B 35.40 MiB/s 31.03 c/B 1152
> CFB dec | 26.94 ns/B 35.40 MiB/s 31.03 c/B 1152
> OFB enc | 30.94 ns/B 30.82 MiB/s 35.64 c/B 1152
> OFB dec | 30.94 ns/B 30.82 MiB/s 35.64 c/B 1152
> CTR enc | 19.82 ns/B 48.12 MiB/s 22.83 c/B 1152
> CTR dec | 19.82 ns/B 48.11 MiB/s 22.83 c/B 1152
> XTS enc | 31.00 ns/B 30.77 MiB/s 35.71 c/B 1152
> XTS dec | 33.49 ns/B 28.47 MiB/s 38.58 c/B 1152
> CCM enc | 46.87 ns/B 20.35 MiB/s 54.00 c/B 1152
> CCM dec | 46.88 ns/B 20.34 MiB/s 53.99 c/B 1152
> CCM auth | 27.10 ns/B 35.19 MiB/s 31.22 c/B 1152
> EAX enc | 46.88 ns/B 20.34 MiB/s 54.00 c/B 1152
> EAX dec | 46.88 ns/B 20.34 MiB/s 54.00 c/B 1152
> EAX auth | 27.05 ns/B 35.25 MiB/s 31.16 c/B 1152
> GCM enc | 20.70 ns/B 46.08 MiB/s 23.84 c/B 1152
> GCM dec | 20.70 ns/B 46.07 MiB/s 23.85 c/B 1152
> GCM auth | 0.877 ns/B 1087 MiB/s 1.01 c/B 1152
> OCB enc | 27.32 ns/B 34.91 MiB/s 31.46 c/B 1152
> OCB dec | 29.58 ns/B 32.24 MiB/s 34.08 c/B 1152
> OCB auth | 27.27 ns/B 34.97 MiB/s 31.42 c/B 1152
> SIV enc | 46.89 ns/B 20.34 MiB/s 54.00 c/B 1152
> SIV dec | 46.97 ns/B 20.30 MiB/s 54.11 c/B 1152
> SIV auth | 27.05 ns/B 35.25 MiB/s 31.16 c/B 1152
> GCM-SIV enc | 32.09 ns/B 29.72 MiB/s 36.96 c/B 1152
> GCM-SIV dec | 32.19 ns/B 29.63 MiB/s 37.08 c/B 1152
> GCM-SIV auth | 0.976 ns/B 976.7 MiB/s 1.12 c/B 1152
> =
>
>
> -Jussi
_______________________________________________
Gnupg-users mailing list
[email protected]
https://lists.gnupg.org/mailman/listinfo/gnupg-users