Inquire about the performance of gcrypt on ARM architecture
Mizar Zhou
kodanevhyz at gmail.com
Mon Nov 17 07:33:38 CET 2025
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 at 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 at 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 at 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 at 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 at 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 <jussi.kivilinna at iki.fi> 写道:
>
> 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 at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.gnupg.org/pipermail/gnupg-users/attachments/20251117/5cdc4feb/attachment-0001.html>
More information about the Gnupg-users
mailing list