Also see this thread for tests on a greater range of devices.
for i in chacha20-poly1305 aes-128-gcm aes-192-gcm aes-256-gcm; do openssl speed -evp "$i"; done
for i in chacha20-poly1305 aes-128-gcm aes-192-gcm aes-256-gcm; do openssl speed -multi $(nproc) -evp "$i"; done
Single thread:
OpenSSL 1.1.1d 10 Sep 2019
built on: Mon Apr 20 20:23:01 2020 UTC
options:bn(64,64) rc4(char) des(int) aes(partial) blowfish(ptr)
compiler: gcc -fPIC -pthread -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -fdebug-prefix-map=/build/openssl-yRQ4F5/openssl-1.1.1d=. -fstack-protector-strong -Wformat -Werror=format-security -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 -Wdate-time -D_FORTIFY_SOURCE=2
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes 16384 bytes
chacha20-poly1305 41878.22k 91181.85k 184606.48k 215040.34k 227065.86k 228745.85k
aes-128-gcm 60793.25k 179355.12k 378418.09k 532355.00k 596041.73k 601616.10k
aes-192-gcm 59544.51k 172985.06k 345410.73k 492964.90k 547127.30k 552069.57k
aes-256-gcm 57466.32k 166671.17k 331055.52k 451610.62k 508608.13k 509356.71k
Multi thread:
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes 16384 bytes
chacha20-poly1305 168410.50k 361107.07k 728362.84k 852470.78k 902591.83k 901797.21k
aes-128-gcm 236437.66k 704174.31k 1500298.92k 2102226.26k 2370237.78k 2375264.94k
aes-192-gcm 232604.51k 682347.37k 1385946.03k 1944189.27k 2171423.40k 2185177.77k
aes-256-gcm 223260.57k 657349.99k 1318890.67k 1795389.44k 2007621.63k 2019895.98k
This device has no support for chacha20-poly1305.
Single thread:
OpenSSL 1.0.2s 28 May 2019
built on: reproducible build, date unspecified
options:bn(64,64) rc4(ptr,char) des(idx,cisc,2,int) aes(partial) blowfish(ptr)
compiler: mips64-octeon-linux-gnu-gcc -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DOPENSSL_SMALL_FOOTPRINT -DOPENSSL_NO_ERR -mabi=64 -DTERMIOS -Os -pipe -mno-branch-likely -march=octeon -mabi=64 -fno-caller-saves -fpic -ffunction-sections -fdata-sections -fomit-frame-pointer -Wall -DBN_DIV3W -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DAES_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 13068.60k 14159.13k 14482.52k 14565.38k 14587.22k
aes-192-gcm 12160.67k 13095.38k 13370.03k 13443.75k 13464.92k
aes-256-gcm 11296.55k 12109.89k 12346.28k 12405.76k 12421.80k
Multi thread:
aes-128-gcm 104509.47k 112763.31k 114560.77k 115457.71k 115960.49k
aes-192-gcm 97318.42k 103089.64k 106573.91k 106963.63k 107151.36k
aes-256-gcm 89299.35k 96432.53k 98405.89k 98747.39k 97632.26k
Single thread:
OpenSSL 1.1.1f 31 Mar 2020
built on: Wed Dec 2 14:52:44 2020 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-OIe5k7/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
chacha20-poly1305 109261.88k 238878.95k 327913.81k 355238.23k 364718.76k 365363.20k
aes-128-gcm 174592.35k 448996.80k 737718.44k 881799.85k 924969.64k 928792.58k
aes-192-gcm 165500.99k 426340.27k 685058.99k 799281.15k 835488.43k 839035.56k
aes-256-gcm 156889.62k 399585.34k 639350.27k 734821.72k 763445.25k 766694.74k
Multi thread:
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes 16384 bytes
chacha20-poly1305 433371.80k 955142.93k 1311117.31k 1420334.76k 1458342.57k 1460906.67k
aes-128-gcm 696022.75k 1789738.26k 2950064.90k 3528646.31k 3696140.29k 3712712.70k
aes-192-gcm 661402.52k 1704518.38k 2739171.93k 3196008.45k 3346997.25k 3358698.15k
aes-256-gcm 627507.69k 1598095.94k 2554443.61k 2939327.49k 3052284.59k 3066505.90k
Single thread:
OpenSSL 1.1.0l 10 Sep 2019
built on: reproducible build, date unspecified
options:bn(64,64) rc4(16x,int) des(int) aes(partial) 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="\"/usr/lib/ssl\"" -DENGINESDIR="\"/usr/lib/x86_64-linux-gnu/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
chacha20-poly1305 278627.85k 520121.07k 1103699.88k 2033975.30k 2151555.07k 2157456.04k
aes-128-gcm 603928.07k 1501558.14k 2850397.10k 4651070.46k 5880414.21k 5973595.48k
aes-192-gcm 556153.62k 1468938.39k 2567462.61k 3999724.54k 4840224.09k 4907646.98k
aes-256-gcm 510923.73k 1405910.25k 2379631.79k 3452614.66k 4079129.94k 4138543.79k
Multi thread:
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes 16384 bytes
chacha20-poly1305 724267.75k 1565407.03k 2691981.82k 4807415.47k 5045835.09k 5055376.04k
aes-128-gcm 1405534.70k 3008528.70k 6280893.10k 9253919.06k 11844324.01k 12099949.91k
aes-192-gcm 1366381.00k 2951754.73k 5938452.82k 8166096.55k 9808347.14k 9947551.06k
aes-256-gcm 1280290.77k 2817154.69k 5739576.41k 7223393.84k 8335187.97k 8375058.43k
Single thread:
OpenSSL 1.1.1 11 Sep 2018
built on: Wed Feb 17 12:35:54 2021 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-KRAtHS/openssl-1.1.1=. -fstack-protector-strong -Wformat -Werror=format-security -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 -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
chacha20-poly1305 310510.58k 595589.78k 1204885.25k 2196923.05k 2341964.46k 2347368.45k
aes-128-gcm 600196.49k 1512564.29k 3050648.49k 4797396.31k 6020931.58k 6140532.05k
aes-192-gcm 570656.90k 1461219.73k 2762523.48k 4135288.49k 5038110.04k 5114494.98k
aes-256-gcm 531465.64k 1415756.35k 2545274.28k 3694216.87k 4348275.37k 4409322.15k
Multi thread:
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes 16384 bytes
chacha20-poly1305 1792858.45k 3460969.24k 6863706.71k 11701282.13k 12712214.53k 12886267.22k
aes-128-gcm 2802833.24k 7463964.67k 16511346.01k 26409253.89k 32994874.71k 33547261.27k
aes-192-gcm 2678443.81k 7267204.69k 15294117.12k 23616896.34k 28073915.73k 29329369.77k
aes-256-gcm 2975499.63k 7868931.29k 14598329.69k 20666313.47k 25199531.35k 25409465.00k
WSLv2 performs a tiny bit lower than v1.
Single thread:
OpenSSL 1.1.0k 28 May 2019
built on: reproducible build, date unspecified
options:bn(64,64) rc4(8x,int) des(int) aes(partial) 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="\"/usr/lib/ssl\"" -DENGINESDIR="\"/usr/lib/x86_64-linux-gnu/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
chacha20-poly1305 419848.90k 731487.34k 1776848.21k 3080595.80k 3232855.38k 3267209.90k
aes-128-gcm 899066.58k 2168198.66k 4361315.07k 5699653.63k 6285369.34k 6366276.27k
aes-192-gcm 840283.91k 2105852.86k 4141370.03k 5410947.41k 6013733.59k 6105475.75k
aes-256-gcm 786008.83k 2041702.78k 4041288.53k 5162102.44k 5844986.54k 5899632.64k
Multi thread:
chacha20-poly1305 4021605.43k 8422630.80k 16074189.59k 28769427.46k 30021436.15k 29928595.52k
aes-128-gcm 6698461.99k 15999291.71k 34088402.09k 42856590.34k 47528657.83k 47717504.34k
aes-192-gcm 6374886.04k 15790713.84k 32958526.79k 40809875.57k 45145715.73k 45625815.02k
aes-256-gcm 6094515.82k 15428671.90k 31079299.10k 39277711.38k 43239088.13k 43703475.76k