Crypto++ 5.6.5 Benchmarks

Here are speed benchmarks for some commonly used cryptographic algorithms.

The host OS is Fedora release 25 (x86_64). The host CPU is a 6th generation Skylake, frequency is 3.14e+09 Hz.


AlgorithmMiB/SecondCycles Per Byte
NonblockingRng16717.9
AutoSeededRandomPool4756.3
AutoSeededX917RNG(AES)5653.1
MT199378393.6
RDRAND6248.0
RDSEED25121.6
AES/OFB RNG8373.6
Hash_DRBG(SHA1)10030.0
Hash_DRBG(SHA256)8635.0
HMAC_DRBG(SHA1)24122.5
HMAC_DRBG(SHA256)22137.6
CRC324147.2
CRC32C34840.9
Adler3218081.7
MD54936.1
SHA-14396.8
SHA-25622513.3
SHA-5123059.8
Keccak-22422913.1
Keccak-25621613.8
Keccak-38416618.0
Keccak-51211526.0
SHA3-22422913.1
SHA3-25625411.8
SHA3-38420314.8
SHA3-51214121.2
Tiger5905.1
Whirlpool15119.8
RIPEMD-16023212.9
RIPEMD-32026011.5
RIPEMD-1284067.4
RIPEMD-2564786.3
BLAKE2s5475.5
BLAKE2b7623.9

AlgorithmMiB/SecondCycles Per ByteMicroseconds to
Setup Key and IV
Cycles to
Setup Key and IV
GMAC(AES)74250.40.3701162
VMAC(AES)-64 (128-bit key)113630.30.5371687
VMAC(AES)-128 (128-bit key)63990.50.5881848
HMAC(SHA-1) (128-bit key)5355.60.217682
HMAC(SHA-256) (128-bit key)27510.90.216679
Two-Track-MAC (160-bit key)25511.70.00928
CMAC(AES) (128-bit key)10692.80.118371
DMAC(AES) (128-bit key)10712.80.5221640
Poly1305(AES) (256-bit key)10402.90.174547
BLAKE2s (256-bit key)5475.50.195613
BLAKE2b (512-bit key)7743.90.211662
SipHash-2-4 (128-bit key)15881.90.00927
SipHash-4-8 (128-bit key)9313.20.00826
Panama-LE (256-bit key)18941.60.6692099
Panama-BE (256-bit key)10782.81.0063160
Salsa20 (256-bit key)4816.20.141442
Salsa20/127434.00.169529
Salsa20/810232.90.168529
ChaCha20 (256-bit key)4996.00.095298
ChaCha12 (256-bit key)7454.00.095298
ChaCha8 (256-bit key)10442.90.096300
Sosemanuk (128-bit key)17521.70.3901226
MARC4 (128-bit key)5825.10.8002513
SEAL-3.0-LE (160-bit key)7384.119.84662317
WAKE-OFB-LE (256-bit key)4157.21.4484547
AES/CTR (128-bit key)44990.70.224703
AES/CTR (192-bit key)38290.80.212665
AES/CTR (256-bit key)33240.90.235739
AES/CBC (128-bit key)10732.80.169530
AES/CBC (192-bit key)9203.30.156491
AES/CBC (256-bit key)8063.70.181569
AES/OFB (128-bit key)9923.00.219688
AES/CFB (128-bit key)10472.90.242761
AES/ECB (128-bit key)50160.60.069217
ARIA/CTR (128-bit key)14121.20.233731
ARIA/CTR (256-bit key)10927.40.241756
Camellia/CTR (128-bit key)15319.50.199624
Camellia/CTR (256-bit key)12025.00.215676
Twofish/CTR (128-bit key)18116.61.7105370
Threefish/CTR (256-bit key)3768.00.295927
Threefish/CTR (512-bit key)5075.90.295926
Threefish/CTR (1024-bit key)3319.00.301945
Serpent/CTR (128-bit key)8734.50.4111291
CAST-256/CTR (128-bit key)11027.10.9593013
RC6/CTR (128-bit key)15119.91.7455480
MARS/CTR (128-bit key)14820.20.8382630
SHACAL-2/CTR (128-bit key)19015.80.265831
SHACAL-2/CTR (512-bit key)19015.80.267839
DES/CTR (64-bit key)7838.51.8515811
DES-XEX3/CTR (192-bit key)7241.61.8855918
DES-EDE3/CTR (192-bit key)29102.85.68617853
IDEA/CTR (128-bit key)9033.20.228717
RC5 (r=16)12623.71.3534247
Blowfish/CTR (128-bit key)12324.429.92893974
TEA/CTR (128-bit key)7241.40.199624
XTEA/CTR (128-bit key)6347.40.200628
CAST-128/CTR (128-bit key)11027.20.298936
SKIPJACK/CTR (80-bit key)3878.11.7345445
SEED/CTR (1/2 K table)6148.80.237745
Kalyna-128(128) (128-bit key)24912.00.3721167
Kalyna-128(256) (256-bit key)15619.20.3961243
Kalyna-256(256) (256-bit key)20614.50.5101600
Kalyna-256(512) (512-bit key)16318.40.5611763
Kalyna-512(512) (512-bit key)14720.40.8842777
AES/GCM28011.10.3731171
AES/CCM (128-bit key)8653.50.269845
AES/EAX (128-bit key)8653.50.3421072
AES/OCB (128-bit key)11662.61.1003454

OperationMilliseconds/OperationMegacycles/Operation
RSA 1024 Encryption0.010.04
RSA 1024 Decryption0.230.73
LUC 1024 Encryption0.010.04
LUC 1024 Decryption0.411.28
DLIES 1024 Encryption0.140.45
DLIES 1024 Encryption with precomputation0.310.96
DLIES 1024 Decryption0.220.69
LUCELG 512 Encryption0.090.28
LUCELG 512 Encryption with precomputation0.090.28
LUCELG 512 Decryption0.110.36
RSA 2048 Encryption0.030.08
RSA 2048 Decryption1.033.25
LUC 2048 Encryption0.030.09
LUC 2048 Decryption1.745.47
DLIES 2048 Encryption0.702.18
DLIES 2048 Encryption with precomputation0.802.52
DLIES 2048 Decryption0.772.41
LUCELG 1024 Encryption0.321.02
LUCELG 1024 Encryption with precomputation0.321.02
LUCELG 1024 Decryption0.310.96
RSA 1024 Signature0.230.73
RSA 1024 Verification0.010.04
RW 1024 Signature0.250.79
RW 1024 Signature with precomputation0.250.79
RW 1024 Verification0.010.03
LUC 1024 Signature0.401.25
LUC 1024 Verification0.010.04
NR 1024 Signature0.070.23
NR 1024 Signature with precomputation0.090.27
NR 1024 Verification0.090.28
NR 1024 Verification with precomputation0.140.44
DSA 1024 Signature0.080.24
DSA 1024 Signature with precomputation0.090.29
DSA 1024 Verification0.090.28
DSA 1024 Verification with precomputation0.130.42
LUC-HMP 512 Signature0.090.27
LUC-HMP 512 Signature with precomputation0.090.27
LUC-HMP 512 Verification0.090.29
LUC-HMP 512 Verification with precomputation0.090.29
ESIGN 1023 Signature0.040.13
ESIGN 1023 Verification0.010.04
ESIGN 1536 Signature0.070.22
ESIGN 1536 Verification0.020.07
RSA 2048 Signature1.033.24
RSA 2048 Verification0.030.08
RW 2048 Signature1.063.34
RW 2048 Signature with precomputation1.063.33
RW 2048 Verification0.020.05
LUC 2048 Signature1.755.51
LUC 2048 Verification0.030.09
NR 2048 Signature0.361.12
NR 2048 Signature with precomputation0.200.62
NR 2048 Verification0.401.26
NR 2048 Verification with precomputation0.290.92
LUC-HMP 1024 Signature0.321.02
LUC-HMP 1024 Signature with precomputation0.321.02
LUC-HMP 1024 Verification0.331.03
LUC-HMP 1024 Verification with precomputation0.331.04
ESIGN 2046 Signature0.080.26
ESIGN 2046 Verification0.020.07
XTR-DH 171 Key-Pair Generation0.120.39
XTR-DH 171 Key Agreement0.250.78
XTR-DH 342 Key-Pair Generation0.300.95
XTR-DH 342 Key Agreement0.611.90
DH 1024 Key-Pair Generation0.080.24
DH 1024 Key-Pair Generation with precomputation0.150.48
DH 1024 Key Agreement0.230.71
DH 2048 Key-Pair Generation0.361.12
DH 2048 Key-Pair Generation with precomputation0.431.35
DH 2048 Key Agreement0.752.37
LUCDIF 512 Key-Pair Generation0.050.15
LUCDIF 512 Key-Pair Generation with precomputation0.050.15
LUCDIF 512 Key Agreement0.110.34
LUCDIF 1024 Key-Pair Generation0.160.52
LUCDIF 1024 Key-Pair Generation with precomputation0.170.52
LUCDIF 1024 Key Agreement0.310.99
MQV 1024 Key-Pair Generation0.070.22
MQV 1024 Key-Pair Generation with precomputation0.090.29
MQV 1024 Key Agreement0.150.46
MQV 2048 Key-Pair Generation0.351.09
MQV 2048 Key-Pair Generation with precomputation0.190.60
MQV 2048 Key Agreement0.652.05
ECIES over GF(p) 256 Encryption1.103.44
ECIES over GF(p) 256 Encryption with precomputation0.953.00
ECIES over GF(p) 256 Decryption0.782.44
ECDSA over GF(p) 256 Signature0.561.75
ECDSA over GF(p) 256 Signature with precomputation0.491.53
ECDSA over GF(p) 256 Verification1.986.21
ECDSA over GF(p) 256 Verification with precomputation0.842.64
ECDSA-RFC6979 over GF(p) 256 Signature0.581.83
ECDSA-RFC6979 over GF(p) 256 Signature with precomputation0.491.55
ECDSA-RFC6979 over GF(p) 256 Verification1.986.20
ECDSA-RFC6979 over GF(p) 256 Verification with precomputation0.842.64
ECGDSA over GF(p) 256 Signature1.093.41
ECGDSA over GF(p) 256 Signature with precomputation0.952.98
ECGDSA over GF(p) 256 Verification1.976.20
ECGDSA over GF(p) 256 Verification with precomputation0.852.67
ECDHC over GF(p) 256 Key-Pair Generation0.551.71
ECDHC over GF(p) 256 Key-Pair Generation with precomputation0.481.50
ECDHC over GF(p) 256 Key Agreement0.541.71
ECMQVC over GF(p) 256 Key-Pair Generation0.541.71
ECMQVC over GF(p) 256 Key-Pair Generation with precomputation0.481.50
ECMQVC over GF(p) 256 Key Agreement1.976.20
ECIES over GF(2^n) 233 Encryption6.9021.65
ECIES over GF(2^n) 233 Encryption with precomputation1.875.89
ECIES over GF(2^n) 233 Decryption3.9312.34
ECDSA over GF(2^n) 233 Signature3.4710.89
ECDSA over GF(2^n) 233 Signature with precomputation0.952.98
ECDSA over GF(2^n) 233 Verification4.2413.32
ECDSA over GF(2^n) 233 Verification with precomputation1.635.13
ECDSA-RFC6979 over GF(2^n) 233 Signature3.4610.87
ECDSA-RFC6979 over GF(2^n) 233 Signature with precomputation0.942.96
ECDSA-RFC6979 over GF(2^n) 233 Verification4.2713.42
ECDSA-RFC6979 over GF(2^n) 233 Verification with precomputation1.625.08
ECGDSA over GF(2^n) 233 Signature6.9121.69
ECGDSA over GF(2^n) 233 Signature with precomputation1.885.90
ECGDSA over GF(2^n) 233 Verification4.3413.64
ECGDSA over GF(2^n) 233 Verification with precomputation1.584.96
ECDHC over GF(2^n) 233 Key-Pair Generation3.4610.85
ECDHC over GF(2^n) 233 Key-Pair Generation with precomputation0.942.95
ECDHC over GF(2^n) 233 Key Agreement3.5211.04
ECMQVC over GF(2^n) 233 Key-Pair Generation3.4510.83
ECMQVC over GF(2^n) 233 Key-Pair Generation with precomputation0.942.94
ECMQVC over GF(2^n) 233 Key Agreement4.2813.43

Throughput Geometric Average: 1179.838788

Test started at Thu Oct 5 20:05:44 2017
Test ended at Thu Oct 5 20:15:26 2017