Crypto++ 6.0.0 Benchmarks

Here are speed benchmarks for some commonly used cryptographic algorithms.

CPU frequency of the Skylake Core-i5 test platform is 2.7e+09 Hz.


AlgorithmMiB/SecondCycles Per Byte
NonblockingRng19713.06
AutoSeededRandomPool6284.10
AutoSeededX917RNG(AES)6837.9
MT1993710162.53
RDRAND6937.1
RDSEED25104.0
AES/OFB RNG10062.56
Hash_DRBG(SHA1)11921.69
Hash_DRBG(SHA256)10524.5
HMAC_DRBG(SHA1)3183.2
HMAC_DRBG(SHA256)2795.3
CRC325065.09
CRC32C42580.60
Adler3222111.16
MD56024.28
SHA-15404.76
SHA-2562759.38
SHA-5123776.83
SHA3-2242809.21
SHA3-2562649.74
SHA3-38420312.69
SHA3-51214118.27
Keccak-2242809.21
Keccak-2562649.74
Keccak-38420312.69
Keccak-51214118.26
Tiger5904.37
Whirlpool15117.07
RIPEMD-16023211.10
RIPEMD-3202609.89
RIPEMD-1284066.35
RIPEMD-2564785.39
SM322811.29
BLAKE2s5474.71
BLAKE2b7763.32

AlgorithmMiB/SecondCycles Per ByteMicroseconds to
Setup Key and IV
Cycles to
Setup Key and IV
GMAC(AES)74850.340.369995
VMAC(AES)-64 (128-bit key)114940.220.5261422
VMAC(AES)-128 (128-bit key)64070.400.5771558
HMAC(SHA-1) (128-bit key)5404.770.218590
HMAC(SHA-256) (128-bit key)2739.420.219590
Two-Track-MAC (160-bit key)25710.030.00924
CMAC(AES) (128-bit key)10712.410.115310
DMAC(AES) (128-bit key)10742.400.4901323
Poly1305(AES) (256-bit key)10412.470.174471
BLAKE2s (256-bit key)5474.710.186502
BLAKE2b (512-bit key)7753.320.204551
SipHash-2-4 (128-bit key)15881.620.00923
SipHash-4-8 (128-bit key)9312.770.00822
Panama-LE (256-bit key)18911.360.6681803
Panama-BE (256-bit key)10712.401.0012703
Salsa20 (256-bit key)10372.480.138372
Salsa20/1216441.570.166449
Salsa20/823261.110.166449
ChaCha20 (256-bit key)4995.160.093252
ChaCha12 (256-bit key)7443.460.094254
ChaCha8 (256-bit key)10432.470.093252
Sosemanuk (128-bit key)17441.480.3881049
MARC4 (128-bit key)5844.410.7882128
SEAL-3.0-LE (160-bit key)7373.4919.94653854
WAKE-OFB-LE (256-bit key)4116.271.4333869
AES/CTR (128-bit key)45250.570.222598
AES/CTR (192-bit key)38450.670.210567
AES/CTR (256-bit key)33400.770.233630
AES/CBC (128-bit key)10732.400.170459
AES/CBC (192-bit key)9202.800.160431
AES/CBC (256-bit key)8053.200.179483
AES/OFB (128-bit key)9942.590.221596
AES/CFB (128-bit key)10482.460.238644
AES/ECB (128-bit key)50060.510.069186
ARIA/CTR (128-bit key)14118.290.230621
ARIA/CTR (256-bit key)11023.510.240647
Camellia/CTR (128-bit key)15316.810.200539
Camellia/CTR (256-bit key)12021.530.213575
Twofish/CTR (128-bit key)18314.051.7134624
Threefish-256(256)/CTR (256-bit key)3756.860.221597
Threefish-512(512)/CTR (512-bit key)5065.090.221598
Threefish-1024(1024)/CTR (1024-bit key)3068.430.225609
Serpent/CTR (128-bit key)8630.10.4141118
CAST-256/CTR (128-bit key)11023.340.9552579
RC6/CTR (128-bit key)15017.191.7774799
MARS/CTR (128-bit key)15017.110.8392264
SHACAL-2/CTR (128-bit key)19013.580.261706
SHACAL-2/CTR (512-bit key)19013.580.264712
DES/CTR (64-bit key)7833.11.8424974
DES-XEX3/CTR (192-bit key)7235.71.8525001
DES-EDE3/CTR (192-bit key)2988.55.55414995
IDEA/CTR (128-bit key)9028.50.228616
RC5 (r=16)12720.321.3843736
Blowfish/CTR (128-bit key)12320.9429.92980809
TEA/CTR (128-bit key)7335.50.198535
XTEA/CTR (128-bit key)6340.90.197533
CAST-128/CTR (128-bit key)11023.340.292790
SKIPJACK/CTR (80-bit key)3867.21.6664497
SEED/CTR (1/2 K table)6142.00.230622
SM4/CTR (128-bit key)8829.40.350945
Kalyna-128(128)/CTR (128-bit key)24910.320.361974
Kalyna-128(256)/CTR (256-bit key)15516.640.4001079
Kalyna-256(256)/CTR (256-bit key)20612.520.5031358
Kalyna-256(512)/CTR (512-bit key)16115.970.5601512
Kalyna-512(512)/CTR (512-bit key)14717.510.8822380
SIMON-64(96)/CTR (96-bit key)4535.690.206555
SIMON-64(128)/CTR (128-bit key)4335.940.224606
SIMON-128(128)/CTR (128-bit key)3198.060.238643
SIMON-128(192)/CTR (192-bit key)3118.280.234633
SIMON-128(256)/CTR (256-bit key)3028.520.263709
SPECK-64(96)/CTR (96-bit key)12182.110.190513
SPECK-64(128)/CTR (128-bit key)11812.180.192517
SPECK-128(128)/CTR (128-bit key)11332.270.196530
SPECK-128(192)/CTR (192-bit key)11042.330.196530
SPECK-128(256)/CTR (256-bit key)10742.400.198534
AES/GCM27890.920.3731008
AES/CCM (128-bit key)8642.980.263709
AES/EAX (128-bit key)8642.980.341922

OperationMilliseconds/OperationMegacycles/Operation
RSA 1024 Encryption0.010.03
RSA 1024 Decryption0.230.63
LUC 1024 Encryption0.010.04
LUC 1024 Decryption0.391.05
DLIES 1024 Encryption0.140.39
DLIES 1024 Encryption with precomputation0.270.74
DLIES 1024 Decryption0.230.63
LUCELG 512 Encryption0.090.24
LUCELG 512 Encryption with precomputation0.090.24
LUCELG 512 Decryption0.110.30
RSA 2048 Encryption0.030.07
RSA 2048 Decryption1.032.78
LUC 2048 Encryption0.030.08
LUC 2048 Decryption1.714.62
DLIES 2048 Encryption0.691.87
DLIES 2048 Encryption with precomputation0.802.16
DLIES 2048 Decryption0.711.92
LUCELG 1024 Encryption0.320.87
LUCELG 1024 Encryption with precomputation0.320.87
LUCELG 1024 Decryption0.320.85
RSA 1024 Signature0.230.63
RSA 1024 Verification0.010.03
RW 1024 Signature0.250.67
RW 1024 Signature with precomputation0.250.66
RW 1024 Verification0.010.02
LUC 1024 Signature0.391.06
LUC 1024 Verification0.010.03
NR 1024 Signature0.070.20
NR 1024 Signature with precomputation0.080.22
NR 1024 Verification0.080.23
NR 1024 Verification with precomputation0.140.37
DSA 1024 Signature0.080.20
DSA 1024 Signature with precomputation0.090.23
DSA 1024 Verification0.090.23
DSA 1024 Verification with precomputation0.140.38
LUC-HMP 512 Signature0.090.23
LUC-HMP 512 Signature with precomputation0.090.23
LUC-HMP 512 Verification0.090.24
LUC-HMP 512 Verification with precomputation0.090.24
ESIGN 1023 Signature0.040.10
ESIGN 1023 Verification0.010.03
ESIGN 1536 Signature0.070.18
ESIGN 1536 Verification0.020.06
RSA 2048 Signature1.032.78
RSA 2048 Verification0.030.07
RW 2048 Signature1.072.88
RW 2048 Signature with precomputation1.082.91
RW 2048 Verification0.020.04
LUC 2048 Signature1.734.66
LUC 2048 Verification0.030.08
NR 2048 Signature0.350.94
NR 2048 Signature with precomputation0.180.47
NR 2048 Verification0.401.08
NR 2048 Verification with precomputation0.290.78
LUC-HMP 1024 Signature0.330.88
LUC-HMP 1024 Signature with precomputation0.320.87
LUC-HMP 1024 Verification0.330.89
LUC-HMP 1024 Verification with precomputation0.330.89
ESIGN 2046 Signature0.090.23
ESIGN 2046 Verification0.020.06
XTR-DH 171 Key-Pair Generation0.120.33
XTR-DH 171 Key Agreement0.240.64
XTR-DH 342 Key-Pair Generation0.300.80
XTR-DH 342 Key Agreement0.591.61
DH 1024 Key-Pair Generation0.080.21
DH 1024 Key-Pair Generation with precomputation0.140.38
DH 1024 Key Agreement0.210.58
DH 2048 Key-Pair Generation0.360.96
DH 2048 Key-Pair Generation with precomputation0.411.10
DH 2048 Key Agreement0.701.88
LUCDIF 512 Key-Pair Generation0.050.13
LUCDIF 512 Key-Pair Generation with precomputation0.050.13
LUCDIF 512 Key Agreement0.110.29
LUCDIF 1024 Key-Pair Generation0.160.44
LUCDIF 1024 Key-Pair Generation with precomputation0.160.44
LUCDIF 1024 Key Agreement0.310.84
MQV 1024 Key-Pair Generation0.070.19
MQV 1024 Key-Pair Generation with precomputation0.080.22
MQV 1024 Key Agreement0.140.39
MQV 2048 Key-Pair Generation0.350.93
MQV 2048 Key-Pair Generation with precomputation0.170.47
MQV 2048 Key Agreement0.651.76
ECIES over GF(p) 256 Encryption1.092.94
ECIES over GF(p) 256 Encryption with precomputation0.972.62
ECIES over GF(p) 256 Decryption0.772.08
ECDSA over GF(p) 256 Signature0.561.50
ECDSA over GF(p) 256 Signature with precomputation0.491.34
ECDSA over GF(p) 256 Verification2.025.45
ECDSA over GF(p) 256 Verification with precomputation0.852.30
ECDSA-RFC6979 over GF(p) 256 Signature0.571.54
ECDSA-RFC6979 over GF(p) 256 Signature with precomputation0.511.37
ECDSA-RFC6979 over GF(p) 256 Verification2.045.52
ECDSA-RFC6979 over GF(p) 256 Verification with precomputation0.842.27
ECGDSA over GF(p) 256 Signature1.092.95
ECGDSA over GF(p) 256 Signature with precomputation0.972.62
ECGDSA over GF(p) 256 Verification2.065.57
ECGDSA over GF(p) 256 Verification with precomputation0.852.30
ECDHC over GF(p) 256 Key-Pair Generation0.551.47
ECDHC over GF(p) 256 Key-Pair Generation with precomputation0.491.31
ECDHC over GF(p) 256 Key Agreement0.551.48
ECMQVC over GF(p) 256 Key-Pair Generation0.551.47
ECMQVC over GF(p) 256 Key-Pair Generation with precomputation0.491.31
ECMQVC over GF(p) 256 Key Agreement2.055.52
ECIES over GF(2^n) 233 Encryption6.9518.76
ECIES over GF(2^n) 233 Encryption with precomputation1.895.10
ECIES over GF(2^n) 233 Decryption3.9710.72
ECDSA over GF(2^n) 233 Signature3.499.42
ECDSA over GF(2^n) 233 Signature with precomputation0.962.58
ECDSA over GF(2^n) 233 Verification4.3511.74
ECDSA over GF(2^n) 233 Verification with precomputation1.664.49
ECDSA-RFC6979 over GF(2^n) 233 Signature3.479.36
ECDSA-RFC6979 over GF(2^n) 233 Signature with precomputation0.962.59
ECDSA-RFC6979 over GF(2^n) 233 Verification4.3311.68
ECDSA-RFC6979 over GF(2^n) 233 Verification with precomputation1.664.47
ECGDSA over GF(2^n) 233 Signature6.9518.75
ECGDSA over GF(2^n) 233 Signature with precomputation1.935.22
ECGDSA over GF(2^n) 233 Verification4.3011.60
ECGDSA over GF(2^n) 233 Verification with precomputation1.654.45
ECDHC over GF(2^n) 233 Key-Pair Generation3.489.39
ECDHC over GF(2^n) 233 Key-Pair Generation with precomputation0.972.62
ECDHC over GF(2^n) 233 Key Agreement3.499.42
ECMQVC over GF(2^n) 233 Key-Pair Generation3.489.39
ECMQVC over GF(2^n) 233 Key-Pair Generation with precomputation0.972.62
ECMQVC over GF(2^n) 233 Key Agreement4.3611.77

Throughput Geometric Average: 1168.285315

Test started at Sat Dec 9 21:44:31 2017
Test ended at Sat Dec 9 21:54:57 2017