$ 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 情報が出てきます
簡単にまとめた記事を書きました
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
Intel(R) Xeon(R) Silver 4210 CPU @ 2.20GHz