Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
$ 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 M1 おかしいくらい早いです。

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

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

  • 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
@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

shibukawa commented Oct 3, 2022

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

cactusman commented Oct 9, 2022

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

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