Skip to content

Instantly share code, notes, and snippets.

@voluntas
Last active March 29, 2024 15:09
Show Gist options
  • Star 28 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save voluntas/fd279c7b4e71f9950cfd4a5ab90b722b to your computer and use it in GitHub Desktop.
Save voluntas/fd279c7b4e71f9950cfd4a5ab90b722b to your computer and use it in GitHub Desktop.
$ openssl speed -evp aes-gcm | chacha20-poly1305 の結果を集めるスレ

$ openssl speed -evp aes-128-gcm | chacha20-poly1305 の結果を集めるスレ

AES-CBC が早いけど、AES-GCM/AES-CTR が遅かったり、Ryzen が爆速だったり、 ChaCha20-Poly1305 が ARM で早かったりするという噂の真相が知りたいです。コメントに適当にべたべた結果を貼ってください。

ちなみに Apple M2 おかしいくらい早いです。

CPU 情報はできれば詳細なのがほしいです。

OpenSSL のバージョンは 3.1 系の最新版でお願いします。

  • Linux であれば $ cat /proc/cpuinfo で詳細な CPU 情報が出てきます
  • macOS であれば $ sysctl -n machdep.cpu.brand_string で詳細な CPU 情報が出てきます

簡単にまとめた記事を書きました

CPU の AES 高速化 – V – Medium

MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports)

openssl speed -evp aes-128-ctr
Doing aes-128-ctr for 3s on 16 size blocks: 138605189 aes-128-ctr's in 2.98s
Doing aes-128-ctr for 3s on 64 size blocks: 121534149 aes-128-ctr's in 2.99s
Doing aes-128-ctr for 3s on 256 size blocks: 71543386 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 1024 size blocks: 25015577 aes-128-ctr's in 2.93s
Doing aes-128-ctr for 3s on 8192 size blocks: 3711078 aes-128-ctr's in 2.94s
Doing aes-128-ctr for 3s on 16384 size blocks: 1868394 aes-128-ctr's in 2.94s
OpenSSL 1.1.1h  22 Sep 2020
built on: Tue Sep 22 14:03:48 2020 UTC
options:bn(64,64) rc4(16x,int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: cc -fPIC -arch x86_64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAESNI_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -D_REENTRANT -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-ctr     744188.93k  2601399.84k  6105035.61k  8742645.34k 10340527.54k 10412165.75k
$ openssl speed -evp aes-128-gcm
Doing aes-128-gcm for 3s on 16 size blocks: 134740951 aes-128-gcm's in 2.99s
Doing aes-128-gcm for 3s on 64 size blocks: 88455699 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 256 size blocks: 48511365 aes-128-gcm's in 2.99s
Doing aes-128-gcm for 3s on 1024 size blocks: 16543957 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 8192 size blocks: 2553018 aes-128-gcm's in 2.99s
Doing aes-128-gcm for 3s on 16384 size blocks: 1295618 aes-128-gcm's in 3.00s
OpenSSL 1.1.1h  22 Sep 2020
built on: Tue Sep 22 14:03:48 2020 UTC
options:bn(64,64) rc4(16x,int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: cc -fPIC -arch x86_64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAESNI_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -D_REENTRANT -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-gcm     721021.81k  1887054.91k  4153481.42k  5647003.99k  6994757.01k  7075801.77k
openssl speed -evp chacha20-poly1305
Doing chacha20-poly1305 for 3s on 16 size blocks: 60815104 chacha20-poly1305's in 2.99s
Doing chacha20-poly1305 for 3s on 64 size blocks: 26210097 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 256 size blocks: 14266814 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 1024 size blocks: 6339883 chacha20-poly1305's in 2.99s
Doing chacha20-poly1305 for 3s on 8192 size blocks: 833146 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 16384 size blocks: 419006 chacha20-poly1305's in 2.99s
OpenSSL 1.1.1h  22 Sep 2020
built on: Tue Sep 22 14:03:48 2020 UTC
options:bn(64,64) rc4(16x,int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: cc -fPIC -arch x86_64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAESNI_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -D_REENTRANT -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
chacha20-poly1305   325431.99k   559148.74k  1217434.79k  2171250.90k  2275044.01k  2295984.72k

MacBook Pro (15-inch, 2018)

Intel(R) Core(TM) i9-8950HK CPU @ 2.90GHz

$ openssl speed -evp aes-128-ctr
Doing aes-128-ctr for 3s on 16 size blocks: 136790532 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 64 size blocks: 106857847 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 256 size blocks: 55523262 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 1024 size blocks: 18108679 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 8192 size blocks: 2462486 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 16384 size blocks: 1264990 aes-128-ctr's in 3.00s
OpenSSL 1.1.1  11 Sep 2018
built on: Sun Sep 16 07:17:45 2018 UTC
options:bn(64,64) rc4(16x,int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: cc -fPIC -arch x86_64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -D_REENTRANT -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-ctr     729549.50k  2279634.07k  4737985.02k  6181095.77k  6724228.44k  6908532.05k
$ openssl speed -evp aes-128-gcm
Doing aes-128-gcm for 3s on 16 size blocks: 115693434 aes-128-gcm's in 2.99s
Doing aes-128-gcm for 3s on 64 size blocks: 74186923 aes-128-gcm's in 2.99s
Doing aes-128-gcm for 3s on 256 size blocks: 37880488 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 1024 size blocks: 15008740 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 8192 size blocks: 2403850 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 16384 size blocks: 1222033 aes-128-gcm's in 3.00s
OpenSSL 1.1.1  11 Sep 2018
built on: Sun Sep 16 07:17:45 2018 UTC
options:bn(64,64) rc4(16x,int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: cc -fPIC -arch x86_64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -D_REENTRANT -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-gcm     619095.30k  1587947.52k  3232468.31k  5122983.25k  6564113.07k  6673929.56k
$ openssl speed -evp chacha20-poly1305
Doing chacha20-poly1305 for 3s on 16 size blocks: 61414296 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 64 size blocks: 30732194 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 256 size blocks: 15535943 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 1024 size blocks: 7044133 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 8192 size blocks: 917119 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 16384 size blocks: 451816 chacha20-poly1305's in 2.99s
OpenSSL 1.1.1  11 Sep 2018
built on: Sun Sep 16 07:17:45 2018 UTC
options:bn(64,64) rc4(16x,int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: cc -fPIC -arch x86_64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -D_REENTRANT -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
chacha20-poly1305   327542.91k   655620.14k  1325733.80k  2404397.40k  2504346.28k  2475770.35k

MacBook Pro (13-inch, 2018, Four Thunderbolt 3 Ports)

Intel(R) Core(TM) i7-8559U CPU @ 2.70GHz

% /opt/openssl/1.1.0h/bin/openssl speed -evp aes-128-ctr
Doing aes-128-ctr for 3s on 16 size blocks: 139491791 aes-128-ctr's in 2.99s
Doing aes-128-ctr for 3s on 64 size blocks: 111067871 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 256 size blocks: 55221450 aes-128-ctr's in 3.01s
Doing aes-128-ctr for 3s on 1024 size blocks: 18060987 aes-128-ctr's in 2.99s
Doing aes-128-ctr for 3s on 8192 size blocks: 2527180 aes-128-ctr's in 3.01s
Doing aes-128-ctr for 3s on 16384 size blocks: 1277986 aes-128-ctr's in 3.00s
OpenSSL 1.1.0h  27 Mar 2018
built on: reproducible build, date unspecified
options:bn(64,64) rc4(16x,int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: cc -DDSO_DLFCN -DHAVE_DLFCN_H -DNDEBUG -DOPENSSL_THREADS -DOPENSSL_NO_STATIC_ENGINE -DOPENSSL_PIC -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/opt/openssl/1.1.0h/ssl\"" -DENGINESDIR="\"/opt/openssl/1.1.0h/lib/engines-1.1\""
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-ctr     746444.37k  2369447.91k  4696575.15k  6185435.01k  6877959.65k  6979507.54k
% /opt/openssl/1.1.0h/bin/openssl speed -evp aes-128-gcm
Doing aes-128-gcm for 3s on 16 size blocks: 84752075 aes-128-gcm's in 2.98s
Doing aes-128-gcm for 3s on 64 size blocks: 75521695 aes-128-gcm's in 2.98s
Doing aes-128-gcm for 3s on 256 size blocks: 37770320 aes-128-gcm's in 2.99s
Doing aes-128-gcm for 3s on 1024 size blocks: 14785887 aes-128-gcm's in 2.99s
Doing aes-128-gcm for 3s on 8192 size blocks: 2311058 aes-128-gcm's in 2.98s
Doing aes-128-gcm for 3s on 16384 size blocks: 1244979 aes-128-gcm's in 3.00s
OpenSSL 1.1.0h  27 Mar 2018
built on: reproducible build, date unspecified
options:bn(64,64) rc4(16x,int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: cc -DDSO_DLFCN -DHAVE_DLFCN_H -DNDEBUG -DOPENSSL_THREADS -DOPENSSL_NO_STATIC_ENGINE -DOPENSSL_PIC -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/opt/openssl/1.1.0h/ssl\"" -DENGINESDIR="\"/opt/openssl/1.1.0h/lib/engines-1.1\""
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-gcm     455044.70k  1621942.44k  3233846.80k  5063795.41k  6353082.93k  6799245.31k
$ /opt/openssl/1.1.1/bin/openssl speed -evp aes-128-ctr
Doing aes-128-ctr for 3s on 16 size blocks: 133702783 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 64 size blocks: 100514874 aes-128-ctr's in 2.99s
Doing aes-128-ctr for 3s on 256 size blocks: 51478616 aes-128-ctr's in 2.99s
Doing aes-128-ctr for 3s on 1024 size blocks: 17467114 aes-128-ctr's in 2.98s
Doing aes-128-ctr for 3s on 8192 size blocks: 2452573 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 16384 size blocks: 1251433 aes-128-ctr's in 3.00s
OpenSSL 1.1.1  11 Sep 2018
built on: Thu Sep 20 09:15:20 2018 UTC
options:bn(64,64) rc4(16x,int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: cc -fPIC -arch x86_64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -D_REENTRANT -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-ctr     713081.51k  2151488.94k  4407533.68k  6002122.39k  6697159.34k  6834492.76k
$ /opt/openssl/1.1.1/bin/openssl speed -evp aes-128-gcm
Doing aes-128-gcm for 3s on 16 size blocks: 115685657 aes-128-gcm's in 2.99s
Doing aes-128-gcm for 3s on 64 size blocks: 75101872 aes-128-gcm's in 2.99s
Doing aes-128-gcm for 3s on 256 size blocks: 38027665 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 1024 size blocks: 15034030 aes-128-gcm's in 2.99s
Doing aes-128-gcm for 3s on 8192 size blocks: 2376815 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 16384 size blocks: 1216629 aes-128-gcm's in 3.00s
OpenSSL 1.1.1  11 Sep 2018
built on: Thu Sep 20 09:15:20 2018 UTC
options:bn(64,64) rc4(16x,int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: cc -fPIC -arch x86_64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -D_REENTRANT -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-gcm     619053.68k  1607531.71k  3245027.41k  5148778.17k  6490289.49k  6644416.51k

MacBook Pro (Retina, 13-inch, Mid 2014)

Intel(R) Core(TM) i7-4578U CPU @ 3.00GHz

$ openssl speed -evp aes-128-ctr
Doing aes-128-ctr for 3s on 16 size blocks: 112211893 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 64 size blocks: 88506818 aes-128-ctr's in 2.98s
Doing aes-128-ctr for 3s on 256 size blocks: 42595428 aes-128-ctr's in 2.96s
Doing aes-128-ctr for 3s on 1024 size blocks: 13355708 aes-128-ctr's in 2.91s
Doing aes-128-ctr for 3s on 8192 size blocks: 1895115 aes-128-ctr's in 3.00s
OpenSSL 1.0.2l  25 May 2017
built on: reproducible build, date unspecified
options:bn(64,64) rc4(ptr,int) des(idx,cisc,16,int) aes(partial) idea(int) blowfish(idx)
compiler: /usr/bin/clang -I. -I.. -I../include  -fPIC -fno-common -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -arch x86_64 -O3 -DL_ENDIAN -Wall -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
aes-128-ctr     598463.43k  1900817.57k  3683928.91k  4699740.55k  5174927.36k
$ openssl speed -evp aes-128-gcm
Doing aes-128-gcm for 3s on 16 size blocks: 76458852 aes-128-gcm's in 2.99s
Doing aes-128-gcm for 3s on 64 size blocks: 42256456 aes-128-gcm's in 2.78s
Doing aes-128-gcm for 3s on 256 size blocks: 24036137 aes-128-gcm's in 2.94s
Doing aes-128-gcm for 3s on 1024 size blocks: 7144657 aes-128-gcm's in 2.91s
Doing aes-128-gcm for 3s on 8192 size blocks: 1100133 aes-128-gcm's in 2.93s
OpenSSL 1.0.2l  25 May 2017
built on: reproducible build, date unspecified
options:bn(64,64) rc4(ptr,int) des(idx,cisc,16,int) aes(partial) idea(int) blowfish(idx)
compiler: /usr/bin/clang -I. -I.. -I../include  -fPIC -fno-common -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -arch x86_64 -O3 -DL_ENDIAN -Wall -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
aes-128-gcm     409144.36k   972810.50k  2092942.54k  2514133.60k  3075866.74k

さくら VPS 4G プラン

Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz

$ openssl speed -evp aes-128-ctr
Doing aes-128-ctr for 3s on 16 size blocks: 59802606 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 64 size blocks: 54749396 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 256 size blocks: 24021185 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 1024 size blocks: 9760580 aes-128-ctr's in 2.99s
Doing aes-128-ctr for 3s on 8192 size blocks: 1339667 aes-128-ctr's in 2.99s
OpenSSL 1.0.2g  1 Mar 2016
built on: reproducible build, date unspecified
options:bn(64,64) rc4(16x,int) des(idx,cisc,16,int) aes(partial) blowfish(idx)
compiler: cc -I. -I.. -I../include  -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-Bsymbolic-functions -Wl,-z,relro -Wa,--noexecstack -Wall -DMD32_REG_T=int -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
aes-128-ctr     318947.23k  1167987.11k  2049807.79k  3342753.82k  3670418.75k
$ openssl speed -evp aes-128-gcm
Doing aes-128-gcm for 3s on 16 size blocks: 44378842 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 64 size blocks: 28788048 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 256 size blocks: 9272965 aes-128-gcm's in 2.99s
Doing aes-128-gcm for 3s on 1024 size blocks: 2953378 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 8192 size blocks: 393397 aes-128-gcm's in 2.99s
OpenSSL 1.0.2g  1 Mar 2016
built on: reproducible build, date unspecified
options:bn(64,64) rc4(16x,int) des(idx,cisc,16,int) aes(partial) blowfish(idx)
compiler: cc -I. -I.. -I../include  -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-Bsymbolic-functions -Wl,-z,relro -Wa,--noexecstack -Wall -DMD32_REG_T=int -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
aes-128-gcm     236687.16k   614145.02k   793939.48k  1008086.36k  1077828.84k

Vultr dedcated instance $60

Virtual CPU 714389bda930

$ openssl speed -evp aes-128-ctr
Doing aes-128-ctr for 3s on 16 size blocks: 99812164 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 64 size blocks: 72267113 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 256 size blocks: 45080115 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 1024 size blocks: 15288248 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 8192 size blocks: 2164504 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 16384 size blocks: 1103140 aes-128-ctr's in 3.00s
OpenSSL 1.1.0f  25 May 2017
built on: reproducible build, date unspecified
options:bn(64,64) rc4(16x,int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: gcc -DDSO_DLFCN -DHAVE_DLFCN_H -DNDEBUG -DOPENSSL_THREADS -DOPENSSL_NO_STATIC_ENGINE -DOPENSSL_PIC -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/opt/openssl/1.1.0f/ssl\"" -DENGINESDIR="\"/opt/openssl/1.1.0f/lib/engines-1.1\""
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-ctr     532331.54k  1541698.41k  3846836.48k  5218388.65k  5910538.92k  6024615.25k
$ openssl speed -evp aes-128-gcm
Doing aes-128-gcm for 3s on 16 size blocks: 79661918 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 64 size blocks: 53470284 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 256 size blocks: 29359838 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 1024 size blocks: 9201140 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 8192 size blocks: 1298793 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 16384 size blocks: 682900 aes-128-gcm's in 3.00s
OpenSSL 1.1.0f  25 May 2017
built on: reproducible build, date unspecified
options:bn(64,64) rc4(16x,int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: gcc -DDSO_DLFCN -DHAVE_DLFCN_H -DNDEBUG -DOPENSSL_THREADS -DOPENSSL_NO_STATIC_ENGINE -DOPENSSL_PIC -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/opt/openssl/1.1.0f/ssl\"" -DENGINESDIR="\"/opt/openssl/1.1.0f/lib/engines-1.1\""
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-gcm     424863.56k  1140699.39k  2505372.84k  3140655.79k  3546570.75k  3729544.53k
Doing aes-128-ctr for 3s on 16 size blocks: 106997340 aes-128-ctr's in 2.99s
Doing aes-128-ctr for 3s on 64 size blocks: 85885365 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 256 size blocks: 44025343 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 1024 size blocks: 15942624 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 8192 size blocks: 2210939 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 16384 size blocks: 1118052 aes-128-ctr's in 3.00s
OpenSSL 1.1.1-pre6 (beta) 1 May 2018
built on: Tue May  8 15:02:29 2018 UTC
options:bn(64,64) rc4(16x,int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: gcc -fPIC -pthread -m64  -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-ctr     572561.02k  1832221.12k  3756829.27k  5441748.99k  6037337.43k  6106054.66k
Doing aes-128-gcm for 3s on 16 size blocks: 78172961 aes-128-gcm's in 2.99s
Doing aes-128-gcm for 3s on 64 size blocks: 55513677 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 256 size blocks: 27273464 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 1024 size blocks: 9318324 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 8192 size blocks: 1364860 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 16384 size blocks: 690585 aes-128-gcm's in 3.00s
OpenSSL 1.1.1-pre6 (beta) 1 May 2018
built on: Tue May  8 15:02:29 2018 UTC
options:bn(64,64) rc4(16x,int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: gcc -fPIC -pthread -m64  -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-gcm     418316.85k  1184291.78k  2327335.59k  3180654.59k  3726977.71k  3771514.88k
$ /opt/libressl/2.6.0/bin/openssl speed -evp aes-128-ctr
Doing aes-128-ctr for 3s on 16 size blocks: 129660679 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 64 size blocks: 96063710 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 256 size blocks: 37787363 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 1024 size blocks: 11193934 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 8192 size blocks: 1485097 aes-128-ctr's in 3.00s
LibreSSL 2.6.0
built on: date not available
options:bn(64,64) rc4(16x,int) des(idx,cisc,16,int) aes(partial) idea(int) blowfish(idx)
compiler: information not available
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
aes-128-ctr     691523.62k  2049359.15k  3224521.64k  3820862.81k  4055304.87k
@voluntas
Copy link
Author

Mac mini (M1, 2020)

% ./openssl version
OpenSSL 3.0.0-beta1 17 Jun 2021 (Library: OpenSSL 3.0.0-beta1 17 Jun 2021)
% ./openssl speed -evp aes-128-ctr
Doing AES-128-CTR for 3s on 16 size blocks: 263047661 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 64 size blocks: 190934349 AES-128-CTR's in 2.99s
Doing AES-128-CTR for 3s on 256 size blocks: 97924394 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 1024 size blocks: 33355352 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 8192 size blocks: 4610909 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 16384 size blocks: 2326162 AES-128-CTR's in 3.00s
version: 3.0.0-beta1
built on: built on: Thu Jun 17 23:14:56 2021 UTC
options:bn(64,64)
compiler: cc -fPIC -arch arm64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -D_REENTRANT -DOPENSSL_BUILDING_OPENSSL -DNDEBUG
CPUINFO: OPENSSL_armcap=0x7f
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
AES-128-CTR    1402920.86k  4086889.08k  8356214.95k 11385293.48k 12590855.51k 12703946.07k
% ./openssl speed -evp aes-128-gcm
Doing AES-128-GCM for 3s on 16 size blocks: 198016652 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 64 size blocks: 140787796 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 256 size blocks: 56406277 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 1024 size blocks: 18631790 AES-128-GCM's in 2.99s
Doing AES-128-GCM for 3s on 8192 size blocks: 2459099 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 16384 size blocks: 1234272 AES-128-GCM's in 3.00s
version: 3.0.0-beta1
built on: built on: Thu Jun 17 23:14:56 2021 UTC
options:bn(64,64)
compiler: cc -fPIC -arch arm64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -D_REENTRANT -DOPENSSL_BUILDING_OPENSSL -DNDEBUG
CPUINFO: OPENSSL_armcap=0x7f
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
AES-128-GCM    1056088.81k  3003472.98k  4813335.64k  6380920.72k  6714979.67k  6740770.82k
% ./openssl speed -evp chacha20-poly1305
Doing ChaCha20-Poly1305 for 3s on 16 size blocks: 71127733 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 64 size blocks: 27573582 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 256 size blocks: 13735490 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 1024 size blocks: 5367895 ChaCha20-Poly1305's in 2.99s
Doing ChaCha20-Poly1305 for 3s on 8192 size blocks: 670445 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 16384 size blocks: 331303 ChaCha20-Poly1305's in 3.00s
version: 3.0.0-beta1
built on: built on: Thu Jun 17 23:14:56 2021 UTC
options:bn(64,64)
compiler: cc -fPIC -arch arm64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -D_REENTRANT -DOPENSSL_BUILDING_OPENSSL -DNDEBUG
CPUINFO: OPENSSL_armcap=0x7f
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
ChaCha20-Poly1305   379347.91k   588236.42k  1172095.15k  1838369.39k  1830761.81k  1809356.12k

@voluntas
Copy link
Author

Oracle Cloud

  • Ampere Altra
  • 2C / 12G
$ cat /proc/cpuinfo
processor	: 0
BogoMIPS	: 50.00
Features	: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp ssbs
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x3
CPU part	: 0xd0c
CPU revision	: 1

processor	: 1
BogoMIPS	: 50.00
Features	: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp ssbs
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x3
CPU part	: 0xd0c
CPU revision	: 1
$ openssl speed -evp aes-128-ctr
Doing aes-128-ctr for 3s on 16 size blocks: 105984145 aes-128-ctr's in 2.99s
Doing aes-128-ctr for 3s on 64 size blocks: 76441544 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 256 size blocks: 35716532 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 1024 size blocks: 11346159 aes-128-ctr's in 2.99s
Doing aes-128-ctr for 3s on 8192 size blocks: 1545882 aes-128-ctr's in 2.99s
Doing aes-128-ctr for 3s on 16384 size blocks: 777966 aes-128-ctr's in 3.00s
OpenSSL 1.1.1l  24 Aug 2021
built on: Thu Aug 26 13:59:39 2021 UTC
options:bn(64,64) rc4(char) des(int) aes(partial) blowfish(ptr)
compiler: gcc -fPIC -pthread -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DVPAES_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-ctr     567139.24k  1630752.94k  3047810.73k  3885774.85k  4235406.47k  4248731.65k
$ openssl speed -evp aes-128-gcm
Doing aes-128-gcm for 3s on 16 size blocks: 90616624 aes-128-gcm's in 2.99s
Doing aes-128-gcm for 3s on 64 size blocks: 61740338 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 256 size blocks: 24248543 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 1024 size blocks: 7059369 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 8192 size blocks: 921092 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 16384 size blocks: 463808 aes-128-gcm's in 3.00s
OpenSSL 1.1.1l  24 Aug 2021
built on: Thu Aug 26 13:59:39 2021 UTC
options:bn(64,64) rc4(char) des(int) aes(partial) blowfish(ptr)
compiler: gcc -fPIC -pthread -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DVPAES_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-gcm     484905.01k  1317127.21k  2069209.00k  2409597.95k  2515195.22k  2533010.09k
$ openssl speed -evp chacha20-poly1305
Doing chacha20-poly1305 for 3s on 16 size blocks: 38759465 chacha20-poly1305's in 2.99s
Doing chacha20-poly1305 for 3s on 64 size blocks: 15736222 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 256 size blocks: 7642042 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 1024 size blocks: 2344355 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 8192 size blocks: 301804 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 16384 size blocks: 151304 chacha20-poly1305's in 3.00s
OpenSSL 1.1.1l  24 Aug 2021
built on: Thu Aug 26 13:59:39 2021 UTC
options:bn(64,64) rc4(char) des(int) aes(partial) blowfish(ptr)
compiler: gcc -fPIC -pthread -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DVPAES_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
chacha20-poly1305   207408.51k   335706.07k   652120.92k   800206.51k   824126.12k   826321.58k

@voluntas
Copy link
Author

voluntas commented Nov 2, 2021

MacBook Pro 16 M1 Max 10C/64G

openssl speed -evp aes-128-ctr
Doing aes-128-ctr for 3s on 16 size blocks: 216456176 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 64 size blocks: 165427993 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 256 size blocks: 89741704 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 1024 size blocks: 29642896 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 8192 size blocks: 4048117 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 16384 size blocks: 2047197 aes-128-ctr's in 3.00s
OpenSSL 1.1.1l  24 Aug 2021
built on: Wed Aug 25 08:26:56 2021 UTC
options:bn(64,64) rc4(int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: cc -fPIC -arch arm64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DVPAES_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM -D_REENTRANT -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-ctr    1154432.94k  3529130.52k  7657958.74k 10118108.50k 11054058.15k 11180425.22k
openssl speed -evp aes-128-gcm
Doing aes-128-gcm for 3s on 16 size blocks: 213655402 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 64 size blocks: 144511486 aes-128-gcm's in 2.99s
Doing aes-128-gcm for 3s on 256 size blocks: 55693445 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 1024 size blocks: 13560599 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 8192 size blocks: 1655633 aes-128-gcm's in 2.99s
Doing aes-128-gcm for 3s on 16384 size blocks: 831018 aes-128-gcm's in 3.00s
OpenSSL 1.1.1l  24 Aug 2021
built on: Wed Aug 25 08:26:56 2021 UTC
options:bn(64,64) rc4(int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: cc -fPIC -arch arm64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DVPAES_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM -D_REENTRANT -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-gcm    1139495.48k  3093222.44k  4752507.31k  4628684.46k  4536102.19k  4538466.30k
openssl speed -evp chacha20-poly1305
Doing chacha20-poly1305 for 3s on 16 size blocks: 70680561 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 64 size blocks: 27245387 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 256 size blocks: 12688205 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 1024 size blocks: 5076630 chacha20-poly1305's in 2.99s
Doing chacha20-poly1305 for 3s on 8192 size blocks: 631797 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 16384 size blocks: 318473 chacha20-poly1305's in 3.00s
OpenSSL 1.1.1l  24 Aug 2021
built on: Wed Aug 25 08:26:56 2021 UTC
options:bn(64,64) rc4(int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: cc -fPIC -arch arm64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DVPAES_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM -D_REENTRANT -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
chacha20-poly1305   376962.99k   581234.92k  1082726.83k  1738618.43k  1725227.01k  1739287.21k
openssl speed -evp aes-128-gcm
Doing AES-128-GCM for 3s on 16 size blocks: 199145085 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 64 size blocks: 141535574 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 256 size blocks: 55675446 AES-128-GCM's in 3.01s
Doing AES-128-GCM for 3s on 1024 size blocks: 18726506 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 8192 size blocks: 2470932 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 16384 size blocks: 1241734 AES-128-GCM's in 3.00s
version: 3.0.0
built on: built on: Mon Oct 18 08:30:57 2021 UTC
options:bn(64,64)
compiler: cc -fPIC -arch arm64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -D_REENTRANT -DOPENSSL_BUILDING_OPENSSL -DNDEBUG
CPUINFO: OPENSSL_armcap=0x7f
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
AES-128-GCM    1062107.12k  3019425.58k  4735187.43k  6391980.71k  6747291.65k  6781523.29k
openssl speed -evp aes-128-gcm
Doing AES-128-GCM ops for 3s on 16 size blocks: 212014558 AES-128-GCM ops in 2.99s
Doing AES-128-GCM ops for 3s on 64 size blocks: 144764512 AES-128-GCM ops in 3.00s
Doing AES-128-GCM ops for 3s on 256 size blocks: 53842499 AES-128-GCM ops in 2.99s
Doing AES-128-GCM ops for 3s on 1024 size blocks: 22182939 AES-128-GCM ops in 2.99s
Doing AES-128-GCM ops for 3s on 8192 size blocks: 3116348 AES-128-GCM ops in 2.98s
Doing AES-128-GCM ops for 3s on 16384 size blocks: 1584296 AES-128-GCM ops in 3.00s
version: 3.2.0
built on: Sat Nov 25 07:11:26 2023 UTC
options: bn(64,64)
compiler: cc -fPIC -arch arm64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -D_REENTRANT -DOPENSSL_BUILDING_OPENSSL -DNDEBUG
CPUINFO: OPENSSL_armcap=0x987d
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
AES-128-GCM    1134526.06k  3088309.59k  4609926.34k  7597100.18k  8566819.74k  8652368.55k

@thorgeo
Copy link

thorgeo commented May 24, 2022

c7g.medium

openssl speed -evp aes-128-ctr
Doing AES-128-CTR for 3s on 16 size blocks: 180830348 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 64 size blocks: 124779370 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 256 size blocks: 61025806 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 1024 size blocks: 18730736 AES-128-CTR's in 2.98s
Doing AES-128-CTR for 3s on 8192 size blocks: 2510330 AES-128-CTR's in 2.96s
Doing AES-128-CTR for 3s on 16384 size blocks: 1287692 AES-128-CTR's in 3.00s
version: 3.0.2
built on: Wed Mar 16 08:35:51 2022 UTC
options: bn(64,64)
compiler: gcc -fPIC -pthread -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -ffile-prefix-map=/build/openssl-bOWniJ/openssl-3.0.2=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_TLS_SECURITY_LEVEL=2 -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
CPUINFO: OPENSSL_armcap=0xff
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
AES-128-CTR     964428.52k  2661959.89k  5207535.45k  6436333.44k  6947507.89k  7032515.24k
openssl speed -evp aes-128-gcm
Doing AES-128-GCM for 3s on 16 size blocks: 119139097 AES-128-GCM's in 2.99s
Doing AES-128-GCM for 3s on 64 size blocks: 82881589 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 256 size blocks: 33646615 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 1024 size blocks: 12024154 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 8192 size blocks: 1654676 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 16384 size blocks: 833006 AES-128-GCM's in 3.00s
version: 3.0.2
built on: Wed Mar 16 08:35:51 2022 UTC
options: bn(64,64)
compiler: gcc -fPIC -pthread -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -ffile-prefix-map=/build/openssl-bOWniJ/openssl-3.0.2=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_TLS_SECURITY_LEVEL=2 -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
CPUINFO: OPENSSL_armcap=0xff
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
AES-128-GCM     637533.63k  1768140.57k  2871177.81k  4104244.57k  4518368.60k  4549323.43k
openssl speed -evp chacha20-poly1305
Doing ChaCha20-Poly1305 for 3s on 16 size blocks: 49922137 ChaCha20-Poly1305's in 2.99s
Doing ChaCha20-Poly1305 for 3s on 64 size blocks: 20760735 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 256 size blocks: 9314451 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 1024 size blocks: 3129378 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 8192 size blocks: 399624 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 16384 size blocks: 200204 ChaCha20-Poly1305's in 3.00s
version: 3.0.2
built on: Wed Mar 16 08:35:51 2022 UTC
options: bn(64,64)
compiler: gcc -fPIC -pthread -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -ffile-prefix-map=/build/openssl-bOWniJ/openssl-3.0.2=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_TLS_SECURITY_LEVEL=2 -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
CPUINFO: OPENSSL_armcap=0xff
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
ChaCha20-Poly1305   267141.87k   442895.68k   794833.15k  1068161.02k  1091239.94k  1093380.78k
openssl speed -evp aes-128-gcm
Doing AES-128-GCM for 3s on 16 size blocks: 119343962 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 64 size blocks: 82857291 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 256 size blocks: 33644669 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 1024 size blocks: 12015629 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 8192 size blocks: 1654447 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 16384 size blocks: 833152 AES-128-GCM's in 3.00s
version: 3.0.2
built on: Wed Mar 16 08:35:51 2022 UTC
options: bn(64,64)
compiler: gcc -fPIC -pthread -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -ffile-prefix-map=/build/openssl-bOWniJ/openssl-3.0.2=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_TLS_SECURITY_LEVEL=2 -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
CPUINFO: OPENSSL_armcap=0xff
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
AES-128-GCM     636501.13k  1767622.21k  2871011.75k  4101334.70k  4517743.27k  4550120.79k

@voluntas
Copy link
Author

voluntas commented Jun 5, 2022

Intel(R) Xeon(R) Silver 4210 CPU @ 2.20GHz

$ openssl speed -evp aes-128-ctr
Doing aes-128-ctr for 3s on 16 size blocks: 86907960 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 64 size blocks: 69629031 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 256 size blocks: 36108227 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 1024 size blocks: 12434480 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 8192 size blocks: 1772179 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 16384 size blocks: 893401 aes-128-ctr's in 3.00s
OpenSSL 1.1.1f  31 Mar 2020
built on: Tue May  3 17:49:36 2022 UTC
options:bn(64,64) rc4(16x,int) des(int) aes(partial) blowfish(ptr)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -fdebug-prefix-map=/build/openssl-7zx7z2/openssl-1.1.1f=. -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_TLS_SECURITY_LEVEL=2 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAESNI_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-ctr     463509.12k  1485419.33k  3081235.37k  4244302.51k  4839230.12k  4879160.66k
$ openssl speed -evp aes-128-gcm
Doing aes-128-gcm for 3s on 16 size blocks: 71974789 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 64 size blocks: 48304425 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 256 size blocks: 24868289 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 1024 size blocks: 10572036 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 8192 size blocks: 1709488 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 16384 size blocks: 874154 aes-128-gcm's in 3.00s
OpenSSL 1.1.1f  31 Mar 2020
built on: Tue May  3 17:49:36 2022 UTC
options:bn(64,64) rc4(16x,int) des(int) aes(partial) blowfish(ptr)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -fdebug-prefix-map=/build/openssl-7zx7z2/openssl-1.1.1f=. -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_TLS_SECURITY_LEVEL=2 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAESNI_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-gcm     383865.54k  1030494.40k  2122093.99k  3608588.29k  4668041.90k  4774046.38k

@voluntas
Copy link
Author

voluntas commented Jun 5, 2022

AMD EPYC 7443P

Ubuntu 22.04

$ openssl speed -evp aes-128-ctr
Doing AES-128-CTR for 3s on 16 size blocks: 177714481 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 64 size blocks: 153085323 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 256 size blocks: 76838482 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 1024 size blocks: 26542398 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 8192 size blocks: 3718162 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 16384 size blocks: 1875945 AES-128-CTR's in 3.00s
version: 3.0.2
built on: Thu May  5 08:04:52 2022 UTC
options: bn(64,64)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -ffile-prefix-map=/build/openssl-Ke3YUO/openssl-3.0.2=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_TLS_SECURITY_LEVEL=2 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
CPUINFO: OPENSSL_ia32cap=0x7efa320b078bffff:0x40069c219c95a9
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
AES-128-CTR     947810.57k  3265820.22k  6556883.80k  9059805.18k 10153061.03k 10245160.96k
$ openssl speed -evp aes-128-gcm
Doing AES-128-GCM for 3s on 16 size blocks: 121319971 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 64 size blocks: 80266306 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 256 size blocks: 40578185 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 1024 size blocks: 13466334 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 8192 size blocks: 1871394 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 16384 size blocks: 946399 AES-128-GCM's in 3.00s
version: 3.0.2
built on: Thu May  5 08:04:52 2022 UTC
options: bn(64,64)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -ffile-prefix-map=/build/openssl-Ke3YUO/openssl-3.0.2=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_TLS_SECURITY_LEVEL=2 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
CPUINFO: OPENSSL_ia32cap=0x7efa320b078bffff:0x40069c219c95a9
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
AES-128-GCM     647039.85k  1712347.86k  3462671.79k  4596508.67k  5110153.22k  5168600.41kopenssl speed -evp aes-128-gcm

@shibukawa
Copy link

MacBook Air 2022 M2

macOS 12.5。OpenSSLはMacPorts。

% sysctl -n machdep.cpu.brand_string
Apple M2
 % openssl speed -evp aes-128-ctr
Doing AES-128-CTR for 3s on 16 size blocks: 266378225 AES-128-CTR's in 2.99s
Doing AES-128-CTR for 3s on 64 size blocks: 199071108 AES-128-CTR's in 2.99s
Doing AES-128-CTR for 3s on 256 size blocks: 102641563 AES-128-CTR's in 2.98s
Doing AES-128-CTR for 3s on 1024 size blocks: 35420355 AES-128-CTR's in 2.99s
Doing AES-128-CTR for 3s on 8192 size blocks: 4972471 AES-128-CTR's in 2.98s
Doing AES-128-CTR for 3s on 16384 size blocks: 2507713 AES-128-CTR's in 2.98s
version: 3.0.5
built on: Tue Jul  5 17:18:40 2022 UTC
options: bn(64,64)
compiler: /usr/bin/clang -fPIC -arch arm64 -pipe -Os -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk -DL_ENDIAN -DOPENSSL_PIC -D_REENTRANT -DOPENSSL_BUILDING_OPENSSL -DZLIB -DNDEBUG -I/opt/local/include -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk
CPUINFO: OPENSSL_armcap=0x7f
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
AES-128-CTR    1425435.32k  4261053.82k  8817530.24k 12130583.12k 13669289.41k 13787372.41k
% openssl speed -evp aes-128-gcm
Doing AES-128-GCM for 3s on 16 size blocks: 201217144 AES-128-GCM's in 2.99s
Doing AES-128-GCM for 3s on 64 size blocks: 143249362 AES-128-GCM's in 2.99s
Doing AES-128-GCM for 3s on 256 size blocks: 63072427 AES-128-GCM's in 2.99s
Doing AES-128-GCM for 3s on 1024 size blocks: 16591221 AES-128-GCM's in 2.99s
Doing AES-128-GCM for 3s on 8192 size blocks: 2542971 AES-128-GCM's in 2.98s
Doing AES-128-GCM for 3s on 16384 size blocks: 1293961 AES-128-GCM's in 2.98s
version: 3.0.5
built on: Tue Jul  5 17:18:40 2022 UTC
options: bn(64,64)
compiler: /usr/bin/clang -fPIC -arch arm64 -pipe -Os -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk -DL_ENDIAN -DOPENSSL_PIC -D_REENTRANT -DOPENSSL_BUILDING_OPENSSL -DZLIB -DNDEBUG -I/opt/local/include -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk
CPUINFO: OPENSSL_armcap=0x7f
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
AES-128-GCM    1076747.26k  3066207.08k  5400181.04k  5682077.02k  6990610.21k  7114180.21k
% openssl speed -evp chacha20-poly1305
Doing ChaCha20-Poly1305 for 3s on 16 size blocks: 66894789 ChaCha20-Poly1305's in 2.99s
Doing ChaCha20-Poly1305 for 3s on 64 size blocks: 29754665 ChaCha20-Poly1305's in 2.99s
Doing ChaCha20-Poly1305 for 3s on 256 size blocks: 14610317 ChaCha20-Poly1305's in 2.98s
Doing ChaCha20-Poly1305 for 3s on 1024 size blocks: 5706749 ChaCha20-Poly1305's in 2.99s
Doing ChaCha20-Poly1305 for 3s on 8192 size blocks: 709131 ChaCha20-Poly1305's in 2.98s
Doing ChaCha20-Poly1305 for 3s on 16384 size blocks: 354823 ChaCha20-Poly1305's in 2.99s
version: 3.0.5
built on: Tue Jul  5 17:18:40 2022 UTC
options: bn(64,64)
compiler: /usr/bin/clang -fPIC -arch arm64 -pipe -Os -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk -DL_ENDIAN -DOPENSSL_PIC -D_REENTRANT -DOPENSSL_BUILDING_OPENSSL -DZLIB -DNDEBUG -I/opt/local/include -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk
CPUINFO: OPENSSL_armcap=0x7f
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
ChaCha20-Poly1305   357965.43k   636889.15k  1255114.48k  1954418.39k  1949396.36k  1944287.64k

@cactusman
Copy link

AMD Ryzen 9 7950X

Ubuntu 22.04

$ openssl version
OpenSSL 3.0.2 15 Mar 2022 (Library: OpenSSL 3.0.2 15 Mar 2022)
$ openssl speed -evp aes-128-ctr
Doing AES-128-CTR for 3s on 16 size blocks: 255384091 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 64 size blocks: 226112189 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 256 size blocks: 110480439 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 1024 size blocks: 37225102 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 8192 size blocks: 5183209 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 16384 size blocks: 2613718 AES-128-CTR's in 3.00s
version: 3.0.2
built on: Mon Jul  4 11:20:23 2022 UTC
options: bn(64,64)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -ffile-prefix-map=/build/openssl-Q8dQt3/openssl-3.0.2=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_TLS_SECURITY_LEVEL=2 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
CPUINFO: OPENSSL_ia32cap=0x7ef8320b078bffff:0x405fdef1bf97a9
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
AES-128-CTR    1362048.49k  4823726.70k  9427664.13k 12706168.15k 14153616.04k 14274385.24k
$ openssl speed -evp aes-128-gcm
Doing AES-128-GCM for 3s on 16 size blocks: 208749840 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 64 size blocks: 123251088 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 256 size blocks: 59714303 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 1024 size blocks: 19470857 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 8192 size blocks: 2650165 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 16384 size blocks: 1335928 AES-128-GCM's in 3.00s
version: 3.0.2
built on: Mon Jul  4 11:20:23 2022 UTC
options: bn(64,64)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -ffile-prefix-map=/build/openssl-Q8dQt3/openssl-3.0.2=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_TLS_SECURITY_LEVEL=2 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
CPUINFO: OPENSSL_ia32cap=0x7ef8320b078bffff:0x405fdef1bf97a9
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
AES-128-GCM    1113332.48k  2629356.54k  5095620.52k  6646052.52k  7236717.23k  7295948.12k
$ openssl speed -evp chacha20-poly1305
Doing ChaCha20-Poly1305 for 3s on 16 size blocks: 81882553 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 64 size blocks: 38852929 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 256 size blocks: 32111505 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 1024 size blocks: 15946079 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 8192 size blocks: 2125751 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 16384 size blocks: 1068498 ChaCha20-Poly1305's in 3.00s
version: 3.0.2
built on: Mon Jul  4 11:20:23 2022 UTC
options: bn(64,64)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -ffile-prefix-map=/build/openssl-Q8dQt3/openssl-3.0.2=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_TLS_SECURITY_LEVEL=2 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
CPUINFO: OPENSSL_ia32cap=0x7ef8320b078bffff:0x405fdef1bf97a9
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
ChaCha20-Poly1305   436706.95k   828862.49k  2740181.76k  5442928.30k  5804717.40k  5835423.74k

@voluntas
Copy link
Author

voluntas commented Feb 13, 2023

AMD EPYC 7443P 24-Core Processor

  • Ubuntu 22.04
$ openssl speed -evp aes-128-gcm
Doing AES-128-GCM for 3s on 16 size blocks: 125333512 AES-128-GCM's in 2.99s
Doing AES-128-GCM for 3s on 64 size blocks: 83097078 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 256 size blocks: 41481403 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 1024 size blocks: 13944443 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 8192 size blocks: 1932655 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 16384 size blocks: 977551 AES-128-GCM's in 3.00s
version: 3.0.2
built on: Mon Feb  6 17:57:17 2023 UTC
options: bn(64,64)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -ffile-prefix-map=/build/openssl-hnAO60/openssl-3.0.2=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_TLS_SECURITY_LEVEL=2 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
CPUINFO: OPENSSL_ia32cap=0x7eda320b078bffff:0x40069c219c95a9
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
AES-128-GCM     670681.00k  1772737.66k  3539746.39k  4759703.21k  5277436.59k  5338731.86k

@voluntas
Copy link
Author

voluntas commented Mar 3, 2023

Mac mini M2 Pro

$ sysctl -n machdep.cpu.brand_string
Apple M2 Pro
$ openssl speed -evp aes-128-gcm
Doing AES-128-GCM for 3s on 16 size blocks: 224854800 AES-128-GCM's in 2.98s
Doing AES-128-GCM for 3s on 64 size blocks: 155701328 AES-128-GCM's in 2.99s
Doing AES-128-GCM for 3s on 256 size blocks: 63589013 AES-128-GCM's in 2.99s
Doing AES-128-GCM for 3s on 1024 size blocks: 20552100 AES-128-GCM's in 2.99s
Doing AES-128-GCM for 3s on 8192 size blocks: 2690065 AES-128-GCM's in 2.99s
Doing AES-128-GCM for 3s on 16384 size blocks: 1290038 AES-128-GCM's in 2.92s
version: 3.1.0-beta1
built on: Thu Feb 16 02:55:44 2023 UTC
options: bn(64,64)
compiler: cc -fPIC -arch arm64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -D_REENTRANT -DOPENSSL_BUILDING_OPENSSL -DNDEBUG
CPUINFO: OPENSSL_armcap=0x87d
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
AES-128-GCM    1207274.09k  3332737.46k  5444410.48k  7038578.73k  7370238.29k  7238350.20k

@marinecat
Copy link

Mac mini M2

吊るしの最小構成モデル

$ sysctl -n machdep.cpu.brand_string
Apple M2
$ /opt/homebrew/opt/openssl/bin/openssl speed -evp aes-128-gcm
Doing AES-128-GCM for 3s on 16 size blocks: 208976887 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 64 size blocks: 148147185 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 256 size blocks: 63519574 AES-128-GCM's in 3.01s
Doing AES-128-GCM for 3s on 1024 size blocks: 17147210 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 8192 size blocks: 2634558 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 16384 size blocks: 1340191 AES-128-GCM's in 3.00s
version: 3.0.8
built on: Tue Feb  7 13:43:33 2023 UTC
options: bn(64,64)
compiler: clang -fPIC -arch arm64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -D_REENTRANT -DOPENSSL_BUILDING_OPENSSL -DNDEBUG
CPUINFO: OPENSSL_armcap=0x7d
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
AES-128-GCM    1114543.40k  3160473.28k  5402329.22k  5852914.35k  7194099.71k  7319229.78k
$ /usr/bin/openssl speed -evp aes-128-gcm
Doing aes-128-gcm for 3s on 16 size blocks: 77936535 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 64 size blocks: 78590315 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 256 size blocks: 78642233 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 1024 size blocks: 78824039 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 8192 size blocks: 78790907 aes-128-gcm's in 3.00s
LibreSSL 3.3.6
built on: date not available
options:bn(64,64) rc4(ptr,int) des(idx,cisc,16,int) aes(partial) blowfish(idx) 
compiler: information not available
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
aes-128-gcm     415374.91k  1675532.77k  6708552.05k 26896136.26k 215018821.75k

@rampageX
Copy link

rampageX commented Mar 5, 2023

Intel 13600K

# openssl speed -evp aes-128-gcm
Doing aes-128-gcm for 3s on 16 size blocks: 196523386 aes-128-gcm's in 2.98s
Doing aes-128-gcm for 3s on 64 size blocks: 129070802 aes-128-gcm's in 2.78s
Doing aes-128-gcm for 3s on 256 size blocks: 69491809 aes-128-gcm's in 2.97s
Doing aes-128-gcm for 3s on 1024 size blocks: 25059193 aes-128-gcm's in 2.97s
Doing aes-128-gcm for 3s on 8192 size blocks: 3517587 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 16384 size blocks: 1777463 aes-128-gcm's in 3.17s
OpenSSL 1.1.1f  31 Mar 2020
built on: Wed Apr  8 10:59:14 2020 UTC
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-gcm    1053744.70k  2970345.68k  5991883.83k  8642847.30k  9605357.57k  9180943.82k
# openssl speed -evp chacha20-poly1305
Doing chacha20-poly1305 for 3s on 16 size blocks: 97167721 chacha20-poly1305's in 2.94s
Doing chacha20-poly1305 for 3s on 64 size blocks: 38750488 chacha20-poly1305's in 2.97s
Doing chacha20-poly1305 for 3s on 256 size blocks: 19753497 chacha20-poly1305's in 2.81s
Doing chacha20-poly1305 for 3s on 1024 size blocks: 8696392 chacha20-poly1305's in 2.95s
Doing chacha20-poly1305 for 3s on 8192 size blocks: 1108281 chacha20-poly1305's in 3.08s
Doing chacha20-poly1305 for 3s on 16384 size blocks: 550980 chacha20-poly1305's in 2.88s
OpenSSL 1.1.1f  31 Mar 2020
built on: Wed Apr  8 10:59:14 2020 UTC
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
chacha20-poly1305   529344.07k   835308.60k  1798326.90k  3015613.07k  2948696.96k  3139915.24k

@voluntas
Copy link
Author

voluntas commented Mar 5, 2023

Intel Xeon E-2388G

model name      : Intel(R) Xeon(R) E-2388G CPU @ 3.20GHz
$ openssl speed -evp aes-128-gcm
Doing AES-128-GCM for 3s on 16 size blocks: 133833928 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 64 size blocks: 104438742 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 256 size blocks: 57568800 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 1024 size blocks: 19383623 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 8192 size blocks: 4378701 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 16384 size blocks: 2313492 AES-128-GCM's in 3.00s
version: 3.1.0-beta1
built on: Sun Mar  5 05:07:26 2023 UTC
options: bn(64,64)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG
CPUINFO: OPENSSL_ia32cap=0x7ffaf3ffffebffff:0x40405f5ef2bf67ef
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
AES-128-GCM     713780.95k  2228026.50k  4912537.60k  6616276.65k 11956772.86k 12634750.98k

@so298
Copy link

so298 commented Mar 10, 2023

GCP n2-standard-8 (Ice Lake)

Intel® QuickAssist Technology(QAT) OpenSSL* Engineを適用した場合とそうでない場合について試した

$ openssl version
OpenSSL 3.0.2 15 Mar 2022 (Library: OpenSSL 3.0.2 15 Mar 2022)
$ openssl engine -v qatengine
(qatengine) Reference implementation of QAT crypto engine(qat_sw) v0.6.19
     ENABLE_EXTERNAL_POLLING, POLL, ENABLE_HEURISTIC_POLLING, 
     GET_NUM_REQUESTS_IN_FLIGHT, INIT_ENGINE, SW_ALGO_BITMAP
809B1728167F0000:error:1280006A:DSO support routines:dlfcn_bind_func:could not bind to the requested symbol name:../crypto/dso/dso_dlfcn.c:188:symname(EVP_PKEY_base_id): /usr/lib/x86_64-linux-gnu/engines-3/qatengine.so: undefined symbol: EVP_PKEY_base_id
809B1728167F0000:error:1280006A:DSO support routines:DSO_bind_func:could not bind to the requested symbol name:../crypto/dso/dso_lib.c:176:

なんかエラー出てるけどよくわからん

aes-128-gcm

QAT Engine なし

$ openssl speed -evp aes-128-gcm
Doing AES-128-GCM for 3s on 16 size blocks: 127992858 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 64 size blocks: 76284376 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 256 size blocks: 42488086 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 1024 size blocks: 15397757 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 8192 size blocks: 2273200 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 16384 size blocks: 1150996 AES-128-GCM's in 3.00s
version: 3.0.2
built on: Mon Feb  6 17:57:17 2023 UTC
options: bn(64,64)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -ffile-prefix-map=/build/openssl-hnAO60/openssl-3.0.2=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_TLS_SECURITY_LEVEL=2 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
CPUINFO: OPENSSL_ia32cap=0xfefa32035f8bffff:0x405f46f1bf2ffb
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
AES-128-GCM     682628.58k  1627400.02k  3625650.01k  5255767.72k  6207351.47k  6285972.82k

QAT Engine あり

$ openssl speed -engine qatengine -evp aes-128-gcm
Engine "qatengine" set.
Doing AES-128-GCM for 3s on 16 size blocks: 109974541 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 64 size blocks: 89364103 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 256 size blocks: 50045002 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 1024 size blocks: 29516005 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 8192 size blocks: 4564498 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 16384 size blocks: 2353982 AES-128-GCM's in 3.00s
version: 3.0.2
built on: Mon Feb  6 17:57:17 2023 UTC
options: bn(64,64)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -ffile-prefix-map=/build/openssl-hnAO60/openssl-3.0.2=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_TLS_SECURITY_LEVEL=2 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
CPUINFO: OPENSSL_ia32cap=0xfefa32035f8bffff:0x405f46f1bf2ffb
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
AES-128-GCM     586530.89k  1906434.20k  4270506.84k 10074796.37k 12464122.54k 12855880.36k

1024 bytes 以降は大体2倍くらい速い

aes-128-ctr

QAT Engine なし

$ openssl speed -evp aes-128-ctr
Doing AES-128-CTR for 3s on 16 size blocks: 177189451 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 64 size blocks: 129222686 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 256 size blocks: 71686196 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 1024 size blocks: 25626352 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 8192 size blocks: 3662314 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 16384 size blocks: 1840201 AES-128-CTR's in 3.00s
version: 3.0.2
built on: Mon Feb  6 17:57:17 2023 UTC
options: bn(64,64)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -ffile-prefix-map=/build/openssl-hnAO60/openssl-3.0.2=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_TLS_SECURITY_LEVEL=2 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
CPUINFO: OPENSSL_ia32cap=0xfefa32035f8bffff:0x405f46f1bf2ffb
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
AES-128-CTR     945010.41k  2756750.63k  6117222.06k  8747128.15k 10000558.76k 10049951.06k

QAT Engine あり

$ openssl speed -engine qatengine -evp aes-128-ctr
Engine "qatengine" set.
Doing AES-128-CTR for 3s on 16 size blocks: 177708180 AES-128-CTR's in 2.99s
Doing AES-128-CTR for 3s on 64 size blocks: 129253145 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 256 size blocks: 71697346 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 1024 size blocks: 25668842 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 8192 size blocks: 3655854 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 16384 size blocks: 1843037 AES-128-CTR's in 3.00s
version: 3.0.2
built on: Mon Feb  6 17:57:17 2023 UTC
options: bn(64,64)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -ffile-prefix-map=/build/openssl-hnAO60/openssl-3.0.2=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_TLS_SECURITY_LEVEL=2 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
CPUINFO: OPENSSL_ia32cap=0xfefa32035f8bffff:0x405f46f1bf2ffb
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
AES-128-CTR     950946.78k  2757400.43k  6118173.53k  8761631.40k  9982918.66k 10065439.40k

変化なし

chacha20-poly1305

QAT Engine なし

$ openssl speed -evp chacha20-poly1305
Doing ChaCha20-Poly1305 for 3s on 16 size blocks: 51876085 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 64 size blocks: 25916354 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 256 size blocks: 21052322 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 1024 size blocks: 9419079 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 8192 size blocks: 1337422 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 16384 size blocks: 672829 ChaCha20-Poly1305's in 3.00s
version: 3.0.2
built on: Mon Feb  6 17:57:17 2023 UTC
options: bn(64,64)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -ffile-prefix-map=/build/openssl-hnAO60/openssl-3.0.2=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_TLS_SECURITY_LEVEL=2 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
CPUINFO: OPENSSL_ia32cap=0xfefa32035f8bffff:0x405f46f1bf2ffb
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
ChaCha20-Poly1305   276672.45k   552882.22k  1796464.81k  3215045.63k  3652053.67k  3674543.45k

QAT Engine あり

$ openssl speed -engine qatengine -evp chacha20-poly1305
Engine "qatengine" set.
Doing ChaCha20-Poly1305 for 3s on 16 size blocks: 51898009 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 64 size blocks: 26196760 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 256 size blocks: 21134291 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 1024 size blocks: 9479344 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 8192 size blocks: 1336801 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 16384 size blocks: 672172 ChaCha20-Poly1305's in 3.00s
version: 3.0.2
built on: Mon Feb  6 17:57:17 2023 UTC
options: bn(64,64)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -ffile-prefix-map=/build/openssl-hnAO60/openssl-3.0.2=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_TLS_SECURITY_LEVEL=2 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
CPUINFO: OPENSSL_ia32cap=0xfefa32035f8bffff:0x405f46f1bf2ffb
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
ChaCha20-Poly1305   276789.38k   558864.21k  1803459.50k  3235616.09k  3650357.93k  3670955.35k

変化なし

追記(OpenSSL 3.1.0-beta1 での検証)

$ ./openssl speed -evp aes-128-gcm
Doing AES-128-GCM for 3s on 16 size blocks: 136722134 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 64 size blocks: 127713350 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 256 size blocks: 62024856 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 1024 size blocks: 20155531 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 8192 size blocks: 4373650 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 16384 size blocks: 2313676 AES-128-GCM's in 3.00s
version: 3.1.0-beta1
built on: Fri Mar 10 10:35:57 2023 UTC
options: bn(64,64)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG
CPUINFO: OPENSSL_ia32cap=0xfefa32035f8bffff:0x405f46f1bf2ffb
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
AES-128-GCM     729184.71k  2724551.47k  5292787.71k  6879754.58k 11942980.27k 12635755.86k

3.1.0-beta1ではQAT Engineなしで同じ速度が出る

@ekusiadadus
Copy link

AMD Ryzen 9 3900X 12-Core Processor

cpuinfo

[ekusiadadus@DESKTOP-0TU9KB3:~/dev]
$ cat /proc/cpuinfo
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 23
model           : 113
model name      : AMD Ryzen 9 3900X 12-Core Processor
stepping        : 0
microcode       : 0xffffffff
cpu MHz         : 3800.021
cache size      : 512 KB
physical id     : 0
siblings        : 24
core id         : 0
cpu cores       : 12
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
$ openssl speed -evp aes-128-ctr
Doing AES-128-CTR for 3s on 16 size blocks: 181990760 AES-128-CTR's in 2.99s
Doing AES-128-CTR for 3s on 64 size blocks: 138104743 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 256 size blocks: 74688999 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 1024 size blocks: 28015586 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 8192 size blocks: 4137256 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 16384 size blocks: 2211740 AES-128-CTR's in 3.00s
version: 3.0.2
built on: Mon Feb  6 17:57:17 2023 UTC
options: bn(64,64)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -ffile-prefix-map=/build/openssl-hnAO60/openssl-3.0.2=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_TLS_SECURITY_LEVEL=2 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
CPUINFO: OPENSSL_ia32cap=0xfed83203078bffff:0x400004219c01a9
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
AES-128-CTR     973863.60k  2946234.52k  6373461.25k  9562653.35k 11297467.05k 12079049.39k
$ openssl speed -evp aes-128-gcm
Doing AES-128-GCM for 3s on 16 size blocks: 110592034 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 64 size blocks: 72234040 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 256 size blocks: 35198875 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 1024 size blocks: 12169855 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 8192 size blocks: 1668632 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 16384 size blocks: 845703 AES-128-GCM's in 3.00s
version: 3.0.2
built on: Mon Feb  6 17:57:17 2023 UTC
options: bn(64,64)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -ffile-prefix-map=/build/openssl-hnAO60/openssl-3.0.2=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_TLS_SECURITY_LEVEL=2 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
CPUINFO: OPENSSL_ia32cap=0xfed83203078bffff:0x400004219c01a9
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
AES-128-GCM     589824.18k  1540992.85k  3003637.33k  4153977.17k  4556477.78k  4618665.98k
$ openssl speed -evp chacha20-poly1305
Doing ChaCha20-Poly1305 for 3s on 16 size blocks: 60392349 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 64 size blocks: 25831286 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 256 size blocks: 13914260 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 1024 size blocks: 5848523 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 8192 size blocks: 766069 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 16384 size blocks: 393284 ChaCha20-Poly1305's in 3.00s
version: 3.0.2
built on: Mon Feb  6 17:57:17 2023 UTC
options: bn(64,64)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -ffile-prefix-map=/build/openssl-hnAO60/openssl-3.0.2=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_TLS_SECURITY_LEVEL=2 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
CPUINFO: OPENSSL_ia32cap=0xfed83203078bffff:0x400004219c01a9
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
ChaCha20-Poly1305   322092.53k   551067.43k  1187350.19k  1996295.85k  2091879.08k  2147855.02k

@OperKH
Copy link

OperKH commented Apr 18, 2023

Dell Latitude 5530

12th Gen Intel® Core™ i7-1255U - 2P + 8E cores

$ openssl speed -evp aes-128-ctr
Doing AES-128-CTR for 3s on 16 size blocks: 260572485 AES-128-CTR's in 2.99s
Doing AES-128-CTR for 3s on 64 size blocks: 201980228 AES-128-CTR's in 2.99s
Doing AES-128-CTR for 3s on 256 size blocks: 100304029 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 1024 size blocks: 34294543 AES-128-CTR's in 2.99s
Doing AES-128-CTR for 3s on 8192 size blocks: 4721791 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 16384 size blocks: 2376185 AES-128-CTR's in 3.00s
version: 3.0.8
built on: Tue Mar 21 00:00:00 2023 UTC
options: bn(64,64)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer  -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Wa,--noexecstack -Wa,--generate-missing-build-notes=yes -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -specs=/usr/lib/rpm/redhat/redhat-package-notes -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DZLIB -DNDEBUG -DPURIFY -DDEVRANDOM="\"/dev/urandom\"" -DREDHAT_FIPS_VERSION="\"3.0.8-5ac54a139c73ec4a\"" -DSYSTEM_CIPHERS_FILE="/etc/crypto-policies/back-ends/openssl.config"
CPUINFO: OPENSSL_ia32cap=0x7ffaf3ffffebffff:0x984007bc239c27eb
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
AES-128-CTR    1394367.81k  4323322.61k  8559277.14k 11745020.75k 12893637.29k 12977138.35k
$ openssl speed -evp aes-128-gcm
Doing AES-128-GCM for 3s on 16 size blocks: 208158451 AES-128-GCM's in 2.99s
Doing AES-128-GCM for 3s on 64 size blocks: 123913586 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 256 size blocks: 64930695 AES-128-GCM's in 2.99s
Doing AES-128-GCM for 3s on 1024 size blocks: 22511928 AES-128-GCM's in 2.99s
Doing AES-128-GCM for 3s on 8192 size blocks: 3124302 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 16384 size blocks: 1575009 AES-128-GCM's in 2.99s
version: 3.0.8
built on: Tue Mar 21 00:00:00 2023 UTC
options: bn(64,64)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer  -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Wa,--noexecstack -Wa,--generate-missing-build-notes=yes -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -specs=/usr/lib/rpm/redhat/redhat-package-notes -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DZLIB -DNDEBUG -DPURIFY -DDEVRANDOM="\"/dev/urandom\"" -DREDHAT_FIPS_VERSION="\"3.0.8-5ac54a139c73ec4a\"" -DSYSTEM_CIPHERS_FILE="/etc/crypto-policies/back-ends/openssl.config"
CPUINFO: OPENSSL_ia32cap=0x7ffaf3ffffebffff:0x984007bc239c27eb
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
AES-128-GCM    1113891.38k  2643489.83k  5559283.59k  7709770.66k  8531427.33k  8630417.21k
$ openssl speed -evp chacha20-poly1305
Doing ChaCha20-Poly1305 for 3s on 16 size blocks: 92021725 ChaCha20-Poly1305's in 2.99s
Doing ChaCha20-Poly1305 for 3s on 64 size blocks: 35325598 ChaCha20-Poly1305's in 2.99s
Doing ChaCha20-Poly1305 for 3s on 256 size blocks: 17892559 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 1024 size blocks: 7755183 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 8192 size blocks: 986185 ChaCha20-Poly1305's in 2.99s
Doing ChaCha20-Poly1305 for 3s on 16384 size blocks: 492198 ChaCha20-Poly1305's in 3.00s
version: 3.0.8
built on: Tue Mar 21 00:00:00 2023 UTC
options: bn(64,64)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer  -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Wa,--noexecstack -Wa,--generate-missing-build-notes=yes -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -specs=/usr/lib/rpm/redhat/redhat-package-notes -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DZLIB -DNDEBUG -DPURIFY -DDEVRANDOM="\"/dev/urandom\"" -DREDHAT_FIPS_VERSION="\"3.0.8-5ac54a139c73ec4a\"" -DSYSTEM_CIPHERS_FILE="/etc/crypto-policies/back-ends/openssl.config"
CPUINFO: OPENSSL_ia32cap=0x7ffaf3ffffebffff:0x984007bc239c27eb
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
ChaCha20-Poly1305   492423.95k   756133.20k  1526831.70k  2647102.46k  2701949.00k  2688057.34k

@OperKH
Copy link

OperKH commented Apr 18, 2023

Oracle Ampere A1 Compute

Oracle Cloud Infrastructure offers Ampere Altra processors with an industry-leading 80 cores per CPU, with all cores capable of running at the maximum frequency of 3.0 Ghz consistently. Each core comes with its own 64 KB L1 I-cache, 64 KB L1 D-cache, and a huge 1 MB L2 D-cache, and delivers predictable performance.

$ openssl speed -evp aes-128-ctr
Doing AES-128-CTR for 3s on 16 size blocks: 117095768 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 64 size blocks: 81628527 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 256 size blocks: 34891687 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 1024 size blocks: 10893002 AES-128-CTR's in 2.99s
Doing AES-128-CTR for 3s on 8192 size blocks: 1467189 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 16384 size blocks: 737655 AES-128-CTR's in 3.00s
version: 3.0.2
built on: Mon Feb  6 17:57:17 2023 UTC
options: bn(64,64)
compiler: gcc -fPIC -pthread -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -ffile-prefix-map=/build/openssl-oZetzz/openssl-3.0.2=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_TLS_SECURITY_LEVEL=2 -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
CPUINFO: OPENSSL_armcap=0xbf
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
AES-128-CTR     624510.76k  1741408.58k  2977423.96k  3730579.95k  4006404.10k  4028579.84k
$ openssl speed -evp aes-128-gcm
Doing AES-128-GCM for 3s on 16 size blocks: 83293358 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 64 size blocks: 58197951 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 256 size blocks: 22911051 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 1024 size blocks: 7726077 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 8192 size blocks: 1080744 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 16384 size blocks: 545087 AES-128-GCM's in 3.00s
version: 3.0.2
built on: Mon Feb  6 17:57:17 2023 UTC
options: bn(64,64)
compiler: gcc -fPIC -pthread -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -ffile-prefix-map=/build/openssl-oZetzz/openssl-3.0.2=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_TLS_SECURITY_LEVEL=2 -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
CPUINFO: OPENSSL_armcap=0xbf
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
AES-128-GCM     444231.24k  1241556.29k  1955076.35k  2637167.62k  2951151.62k  2976901.80k
$ openssl speed -evp chacha20-poly1305
Doing ChaCha20-Poly1305 for 3s on 16 size blocks: 38937534 ChaCha20-Poly1305's in 2.99s
Doing ChaCha20-Poly1305 for 3s on 64 size blocks: 15568801 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 256 size blocks: 6999447 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 1024 size blocks: 2486131 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 8192 size blocks: 320694 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 16384 size blocks: 160791 ChaCha20-Poly1305's in 3.00s
version: 3.0.2
built on: Mon Feb  6 17:57:17 2023 UTC
options: bn(64,64)
compiler: gcc -fPIC -pthread -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -ffile-prefix-map=/build/openssl-oZetzz/openssl-3.0.2=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_TLS_SECURITY_LEVEL=2 -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
CPUINFO: OPENSSL_armcap=0xbf
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
ChaCha20-Poly1305   208361.39k   332134.42k   597286.14k   848599.38k   875708.42k   878133.25k

@voluntas
Copy link
Author

voluntas commented Sep 20, 2023

AWS m7g.metal

OpenSSL 3.1.2

$ openssl speed -evp aes-128-gcm
Doing AES-128-GCM for 3s on 16 size blocks: 124184538 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 64 size blocks: 87322461 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 256 size blocks: 33349494 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 1024 size blocks: 15575534 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 8192 size blocks: 2356660 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 16384 size blocks: 1196780 AES-128-GCM's in 3.00s
version: 3.1.3
built on: Wed Sep 20 03:33:34 2023 UTC
options: bn(64,64)
compiler: gcc -fPIC -pthread -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG
CPUINFO: OPENSSL_armcap=0x3ffd
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
AES-128-GCM     662317.54k  1862879.17k  2845823.49k  5316448.94k  6435252.91k  6536014.51k
$ openssl speed -evp chacha20-poly1305
Doing ChaCha20-Poly1305 for 3s on 16 size blocks: 50664277 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 64 size blocks: 20709233 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 256 size blocks: 9196311 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 1024 size blocks: 2704696 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 8192 size blocks: 458845 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 16384 size blocks: 233833 ChaCha20-Poly1305's in 3.00s
version: 3.1.3
built on: Wed Sep 20 03:33:34 2023 UTC
options: bn(64,64)
compiler: gcc -fPIC -pthread -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG
CPUINFO: OPENSSL_armcap=0x3ffd
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
ChaCha20-Poly1305   270209.48k   441796.97k   784751.87k   923202.90k  1252952.75k  1277039.96k

OpenSSL 3.2.0-alpha1

$ openssl speed -evp aes-128-gcm
Doing AES-128-GCM ops for 3s on 16 size blocks: 123675390 AES-128-GCM ops in 3.00s
Doing AES-128-GCM ops for 3s on 64 size blocks: 87008858 AES-128-GCM ops in 3.00s
Doing AES-128-GCM ops for 3s on 256 size blocks: 33353957 AES-128-GCM ops in 3.00s
Doing AES-128-GCM ops for 3s on 1024 size blocks: 15578523 AES-128-GCM ops in 3.00s
Doing AES-128-GCM ops for 3s on 8192 size blocks: 2354509 AES-128-GCM ops in 3.00s
Doing AES-128-GCM ops for 3s on 16384 size blocks: 1195147 AES-128-GCM ops in 3.00s
version: 3.2.0-alpha1
built on: Wed Sep 20 03:37:44 2023 UTC
options: bn(64,64)
compiler: gcc -fPIC -pthread -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG
CPUINFO: OPENSSL_armcap=0x3ffd
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
AES-128-GCM     659602.08k  1856188.97k  2846204.33k  5317469.18k  6429379.24k  6527096.15k
$ openssl speed -evp chacha20-poly1305
Doing ChaCha20-Poly1305 ops for 3s on 16 size blocks: 50485929 ChaCha20-Poly1305 ops in 3.00s
Doing ChaCha20-Poly1305 ops for 3s on 64 size blocks: 20581479 ChaCha20-Poly1305 ops in 3.00s
Doing ChaCha20-Poly1305 ops for 3s on 256 size blocks: 9212650 ChaCha20-Poly1305 ops in 3.00s
Doing ChaCha20-Poly1305 ops for 3s on 1024 size blocks: 2707622 ChaCha20-Poly1305 ops in 3.00s
Doing ChaCha20-Poly1305 ops for 3s on 8192 size blocks: 459597 ChaCha20-Poly1305 ops in 3.00s
Doing ChaCha20-Poly1305 ops for 3s on 16384 size blocks: 233765 ChaCha20-Poly1305 ops in 3.00s
version: 3.2.0-alpha1
built on: Wed Sep 20 03:37:44 2023 UTC
options: bn(64,64)
compiler: gcc -fPIC -pthread -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG
CPUINFO: OPENSSL_armcap=0x3ffd
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
ChaCha20-Poly1305   269258.29k   439071.55k   786146.13k   924201.64k  1255006.21k  1276668.59k

@jj1bdx
Copy link

jj1bdx commented Sep 20, 2023

Mac mini 2023 (M2 Pro) 32GB unified memory 4 USB-C/Thunderbolt 4 ports

macOS 13.5.2

% sysctl -n machdep.cpu.brand_string
Apple M2 Pro
% openssl speed -evp aes-128-gcm
Doing AES-128-GCM for 3s on 16 size blocks: 211251475 AES-128-GCM's in 2.98s
Doing AES-128-GCM for 3s on 64 size blocks: 149394932 AES-128-GCM's in 2.99s
Doing AES-128-GCM for 3s on 256 size blocks: 63490958 AES-128-GCM's in 2.99s
Doing AES-128-GCM for 3s on 1024 size blocks: 20628256 AES-128-GCM's in 2.99s
Doing AES-128-GCM for 3s on 8192 size blocks: 2691295 AES-128-GCM's in 2.99s
Doing AES-128-GCM for 3s on 16384 size blocks: 1330913 AES-128-GCM's in 2.99s
version: 3.1.2
built on: Tue Aug  1 13:36:55 2023 UTC
options: bn(64,64)
compiler: clang -fPIC -arch arm64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -D_REENTRANT -DOPENSSL_BUILDING_OPENSSL -DNDEBUG
CPUINFO: OPENSSL_armcap=0x87d
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
AES-128-GCM    1134236.11k  3197751.05k  5436015.13k  7064660.25k  7373608.24k  7292869.09k

@voluntas
Copy link
Author

AWS m7a.metal-48xl

processor	: 191
vendor_id	: AuthenticAMD
cpu family	: 25
model		: 17
model name	: AMD EPYC 9R14 96-Core Processor
stepping	: 1
microcode	: 0xa10113e
cpu MHz		: 2600.000
cache size	: 1024 KB
physical id	: 1
siblings	: 96
core id		: 183
cpu cores	: 96
apicid		: 439
initial apicid	: 439
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 nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic 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 cpb cat_l3 cdp_l3 invpcid_single hw_pstate ssbd mba perfmon_v2 ibrs ibpb stibp 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 amd_ppin cppc arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl avx512vbmi umip pku ospke avx512_vbmi2 gfni vaes vpclmulqdq avx512_vnni avx512_bitalg avx512_vpopcntdq la57 rdpid overflow_recov succor smca fsrm flush_l1d sev sev_es
bugs		: sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass
bogomips	: 5197.82
TLB size	: 3584 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 46 bits physical, 57 bits virtual
power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]

OpenSSL 3.1.3

$ openssl speed -evp aes-128-gcm
Doing AES-128-GCM for 3s on 16 size blocks: 151215912 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 64 size blocks: 137411955 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 256 size blocks: 73322561 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 1024 size blocks: 21906527 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 8192 size blocks: 4309490 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 16384 size blocks: 2229325 AES-128-GCM's in 3.00s
version: 3.1.3
built on: Wed Sep 20 03:56:27 2023 UTC
options: bn(64,64)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG
CPUINFO: OPENSSL_ia32cap=0x7efa320b078bffff:0x415fdef1bf97a9
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
AES-128-GCM     806484.86k  2931455.04k  6256858.54k  7477427.88k 11767780.69k 12175086.93k
$ openssl speed -evp chacha20-poly1305
Doing ChaCha20-Poly1305 for 3s on 16 size blocks: 54734285 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 64 size blocks: 25362300 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 256 size blocks: 20783465 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 1024 size blocks: 10543214 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 8192 size blocks: 1398852 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 16384 size blocks: 697240 ChaCha20-Poly1305's in 3.00s
version: 3.1.3
built on: Wed Sep 20 03:56:27 2023 UTC
options: bn(64,64)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG
CPUINFO: OPENSSL_ia32cap=0x7efa320b078bffff:0x415fdef1bf97a9
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
ChaCha20-Poly1305   291916.19k   541062.40k  1773522.35k  3598750.38k  3819798.53k  3807860.05k

OpenSSL 3.2.0-alpha1

$ openssl speed -evp aes-128-gcm
Doing AES-128-GCM ops for 3s on 16 size blocks: 152214648 AES-128-GCM ops in 3.00s
Doing AES-128-GCM ops for 3s on 64 size blocks: 138571352 AES-128-GCM ops in 3.00s
Doing AES-128-GCM ops for 3s on 256 size blocks: 73839210 AES-128-GCM ops in 3.00s
Doing AES-128-GCM ops for 3s on 1024 size blocks: 22187989 AES-128-GCM ops in 3.00s
Doing AES-128-GCM ops for 3s on 8192 size blocks: 4317718 AES-128-GCM ops in 3.00s
Doing AES-128-GCM ops for 3s on 16384 size blocks: 2242863 AES-128-GCM ops in 3.00s
version: 3.2.0-alpha1
built on: Wed Sep 20 03:57:05 2023 UTC
options: bn(64,64)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG
CPUINFO: OPENSSL_ia32cap=0x7efa320b078bffff:0x415fdef1bf97a9
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
AES-128-GCM     811811.46k  2956188.84k  6300945.92k  7573500.25k 11790248.62k 12249022.46k
$ openssl speed -evp chacha20-poly1305
Doing ChaCha20-Poly1305 ops for 3s on 16 size blocks: 55039665 ChaCha20-Poly1305 ops in 3.00s
Doing ChaCha20-Poly1305 ops for 3s on 64 size blocks: 25250008 ChaCha20-Poly1305 ops in 3.00s
Doing ChaCha20-Poly1305 ops for 3s on 256 size blocks: 20756065 ChaCha20-Poly1305 ops in 3.00s
Doing ChaCha20-Poly1305 ops for 3s on 1024 size blocks: 10440946 ChaCha20-Poly1305 ops in 3.00s
Doing ChaCha20-Poly1305 ops for 3s on 8192 size blocks: 1379873 ChaCha20-Poly1305 ops in 3.00s
Doing ChaCha20-Poly1305 ops for 3s on 16384 size blocks: 694907 ChaCha20-Poly1305 ops in 3.00s
version: 3.2.0-alpha1
built on: Wed Sep 20 03:57:05 2023 UTC
options: bn(64,64)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG
CPUINFO: OPENSSL_ia32cap=0x7efa320b078bffff:0x415fdef1bf97a9
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
ChaCha20-Poly1305   293544.88k   538666.84k  1771184.21k  3563842.90k  3767973.21k  3795118.76k

@shibukawa
Copy link

shibukawa commented Mar 29, 2024

MacBook Air 15 2024 M3

LibreSSL 3.3.6(preinstalled)

% openssl speed -evp aes-128-ctr                                                               
Doing aes-128-ctr for 3s on 16 size blocks: 88006997 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 64 size blocks: 23408316 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 256 size blocks: 5897121 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 1024 size blocks: 1460985 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 8192 size blocks: 184644 aes-128-ctr's in 3.00s
LibreSSL 3.3.6
built on: date not available
options:bn(64,64) rc4(ptr,int) des(idx,cisc,16,int) aes(partial) blowfish(idx) 
compiler: information not available
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
aes-128-ctr     469581.49k   499704.38k   503110.48k   499422.52k   504551.71k

OpenSSL 3.2.1(Homebrew)

% openssl speed -evp aes-128-ctr
Doing AES-128-CTR ops for 3s on 16 size blocks: 332550943 AES-128-CTR ops in 3.00s
Doing AES-128-CTR ops for 3s on 64 size blocks: 246413862 AES-128-CTR ops in 3.00s
Doing AES-128-CTR ops for 3s on 256 size blocks: 125842005 AES-128-CTR ops in 3.00s
Doing AES-128-CTR ops for 3s on 1024 size blocks: 44415753 AES-128-CTR ops in 3.00s
Doing AES-128-CTR ops for 3s on 8192 size blocks: 6270657 AES-128-CTR ops in 3.00s
Doing AES-128-CTR ops for 3s on 16384 size blocks: 3167271 AES-128-CTR ops in 2.99s
version: 3.2.1
built on: Tue Jan 30 13:14:56 2024 UTC
options: bn(64,64)
compiler: clang -fPIC -arch arm64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -D_REENTRANT -DOPENSSL_BUILDING_OPENSSL -DNDEBUG
CPUINFO: OPENSSL_armcap=0x87d
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
AES-128-CTR    1773605.03k  5256829.06k 10738517.76k 15160577.02k 17123074.05k 17355373.93k
% openssl speed -evp aes-128-gcm      
Doing AES-128-GCM ops for 3s on 16 size blocks: 252045730 AES-128-GCM ops in 3.00s
Doing AES-128-GCM ops for 3s on 64 size blocks: 185452978 AES-128-GCM ops in 3.00s
Doing AES-128-GCM ops for 3s on 256 size blocks: 72861325 AES-128-GCM ops in 3.00s
Doing AES-128-GCM ops for 3s on 1024 size blocks: 21809802 AES-128-GCM ops in 3.00s
Doing AES-128-GCM ops for 3s on 8192 size blocks: 2861667 AES-128-GCM ops in 2.99s
Doing AES-128-GCM ops for 3s on 16384 size blocks: 1437704 AES-128-GCM ops in 3.00s
version: 3.2.1
built on: Tue Jan 30 13:14:56 2024 UTC
options: bn(64,64)
compiler: clang -fPIC -arch arm64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -D_REENTRANT -DOPENSSL_BUILDING_OPENSSL -DNDEBUG
CPUINFO: OPENSSL_armcap=0x87d
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
AES-128-GCM    1344243.89k  3956330.20k  6217499.73k  7444412.42k  7840393.33k  7851780.78k
% openssl speed -evp chacha20-poly1305                                                         
Doing ChaCha20-Poly1305 ops for 3s on 16 size blocks: 98414389 ChaCha20-Poly1305 ops in 2.99s
Doing ChaCha20-Poly1305 ops for 3s on 64 size blocks: 38098164 ChaCha20-Poly1305 ops in 3.01s
Doing ChaCha20-Poly1305 ops for 3s on 256 size blocks: 16807322 ChaCha20-Poly1305 ops in 2.99s
Doing ChaCha20-Poly1305 ops for 3s on 1024 size blocks: 6401169 ChaCha20-Poly1305 ops in 3.00s
Doing ChaCha20-Poly1305 ops for 3s on 8192 size blocks: 797918 ChaCha20-Poly1305 ops in 2.99s
Doing ChaCha20-Poly1305 ops for 3s on 16384 size blocks: 395829 ChaCha20-Poly1305 ops in 3.00s
version: 3.2.1
built on: Tue Jan 30 13:14:56 2024 UTC
options: bn(64,64)
compiler: clang -fPIC -arch arm64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -D_REENTRANT -DOPENSSL_BUILDING_OPENSSL -DNDEBUG
CPUINFO: OPENSSL_armcap=0x87d
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
ChaCha20-Poly1305   526632.18k   810060.63k  1439021.55k  2184932.35k  2186135.20k  2161754.11k

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment