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

Reply via email to