Crypto++ 8.9.0 Benchmarks

Here are speed benchmarks for some commonly used cryptographic algorithms.

CPU frequency of the test platform is 2 GHz.

AlgorithmProviderMiB/SecondCycles/Byte
NonblockingRngC++2308.28
AutoSeededRandomPoolC++4414.33
AutoSeededX917RNG(AES)AESNI1999.6
MT19937C++6962.74
RDRANDRDRAND7287.9
RDSEEDRDSEED7287.4
AES/OFB RNGAESNI6912.76
Hash_DRBG(SHA1)SHANI2288.38
Hash_DRBG(SHA256)SHANI3106.16
HMAC_DRBG(SHA1)SHANI6529.2
HMAC_DRBG(SHA256)SHANI9520.03
CRC32C++3924.87
CRC32CSSE4.275070.25
Adler32C++18481.03
MD5C++5173.69
SHA-1SHANI14611.31
SHA-256SHANI14031.36
SHA-512SSE23914.88
SHA3-224C++3146.08
SHA3-256C++2946.49
SHA3-384C++2268.45
SHA3-512C++15712.13
Keccak-224C++3136.09
Keccak-256C++2966.44
Keccak-384C++2258.48
Keccak-512C++15712.12
TigerSSE25133.72
WhirlpoolSSE216811.37
RIPEMD-160C++2198.70
RIPEMD-320C++2427.87
RIPEMD-128C++3515.44
RIPEMD-256C++4264.48
SM3C++2248.53
BLAKE2sSSE4.14933.87
BLAKE2bSSE4.16822.80
LSH-256AVX27132.68
LSH-512AVX23325.74

AlgorithmProviderMiB/SecondCycles/ByteMicroseconds to
Setup Key and IV
Cycles to
Setup Key and IV
GMAC(AES)AESNI48690.390.348696
VMAC(AES)-64 (128-bit key)AESNI93580.200.442884
VMAC(AES)-128 (128-bit key)AESNI58070.330.498996
HMAC(SHA-1) (128-bit key)SHANI14611.310.254508
HMAC(SHA-256) (128-bit key)SHANI13971.370.258516
Two-Track-MAC (160-bit key)C++2258.480.01224
CMAC(AES) (128-bit key)AESNI9062.110.142284
DMAC(AES) (128-bit key)AESNI9092.100.441883
Poly1305(AES) (256-bit key)AESNI9252.060.154309
Poly1305TLS (256-bit key)C++9302.050.01122
BLAKE2s (256-bit key)SSE4.14943.860.111222
BLAKE2b (512-bit key)SSE4.16852.790.112225
SipHash-2-4 (128-bit key)C++18731.020.01123
SipHash-4-8 (128-bit key)C++9711.960.01123
Panama-LE (256-bit key)C++11301.690.9351871
Panama-BE (256-bit key)C++10871.750.8701739
Salsa20SSE26652.870.092184
Salsa20/12SSE210811.760.114227
Salsa20/8SSE215761.210.115230
ChaCha20AVX216481.160.090180
ChaCha12AVX225690.740.114229
ChaCha8AVX236050.530.114229
ChaChaTLS (256-bit key)AVX216441.160.107214
Sosemanuk (128-bit key)SSE214361.330.473945
Rabbit (128-bit key)C++8412.270.095189
RabbitWithIV (128-bit key)C++8382.280.204409
HC-128 (128-bit key)C++11931.604.2258451
HC-256 (256-bit key)C++4564.1814.11828236
MARC4 (128-bit key)C++2707.071.5393078
SEAL-3.0-LE (160-bit key)C++6592.899.95819915
WAKE-OFB-LE (256-bit key)C++2806.821.8113622
AES/CTR (128-bit key)AESNI54370.350.191383
AES/CTR (192-bit key)AESNI45800.420.183366
AES/CTR (256-bit key)AESNI37940.500.202405
AES/CBC (128-bit key)AESNI9102.100.160320
AES/CBC (192-bit key)AESNI7832.440.154308
AES/CBC (256-bit key)AESNI6902.760.171342
AES/XTS (256-bit key)AESNI11261.690.274549
AES/XTS (384-bit key)AESNI10721.780.263525
AES/XTS (512-bit key)AESNI10401.830.303607
AES/OFB (128-bit key)AESNI8892.150.187374
AES/CFB (128-bit key)AESNI9062.110.219437
AES/ECB (128-bit key)AESNI70580.270.090179
ARIA/CTR (128-bit key)C++12515.320.213426
ARIA/CTR (256-bit key)C++9619.890.229459
HIGHT/CTR (128-bit key)C++8023.740.208416
Camellia/CTR (128-bit key)C++13514.080.179359
Camellia/CTR (256-bit key)C++10518.240.197394
Twofish/CTR (128-bit key)C++17311.021.8633726
Threefish-256(256)/CTR (256-bit key)C++3435.550.157314
Threefish-512(512)/CTR (512-bit key)C++4294.450.159317
Threefish-1024(1024)/CTR (1024-bit key)C++3345.720.169338
Serpent/CTR (128-bit key)C++7924.20.498995
CAST-128/CTR (128-bit key)C++9719.740.243485
CAST-256/CTR (256-bit key)C++10318.591.1182236
RC6/CTR (128-bit key)C++2099.131.5223043
MARS/CTR (128-bit key)C++15912.030.8051609
SHACAL-2/CTR (128-bit key)SHANI5713.340.236473
SHACAL-2/CTR (512-bit key)SHANI5723.340.236472
DES/CTR (64-bit key)C++6728.61.8643728
DES-XEX3/CTR (192-bit key)C++6429.91.8583717
DES-EDE3/CTR (192-bit key)C++2771.85.83411668
IDEA/CTR (128-bit key)C++8622.240.198397
RC5 (r=16)C++1979.661.1892378
Blowfish/CTR (128-bit key)C++11416.7433.78667572
SKIPJACK/CTR (80-bit key)C++3259.41.9973993
SEED/CTR (1/2 K table)C++5634.10.205411
SM4/CTR (128-bit key)AESNI2278.390.297593
Kalyna-128(128)/CTR (128-bit key)C++16011.950.238476
Kalyna-128(256)/CTR (256-bit key)C++11616.390.276551
Kalyna-256(256)/CTR (256-bit key)C++17111.130.389777
Kalyna-256(512)/CTR (512-bit key)C++13314.330.462924
Kalyna-512(512)/CTR (512-bit key)C++12715.030.8051610
CHAM-64(128)/CTR (128-bit key)C++13314.340.135271
CHAM-128(128)/CTR (128-bit key)SSSE35923.220.132265
CHAM-128(256)/CTR (256-bit key)SSSE34983.830.138276
LEA-128(128)/CTR (128-bit key)SSSE37962.400.184367
LEA-128(192)/CTR (192-bit key)SSSE36862.780.205410
LEA-128(256)/CTR (256-bit key)SSSE35903.230.212425
SIMECK-32(64)/CTR (64-bit key)C++6131.10.311621
SIMECK-64(128)/CTR (128-bit key)C++9220.700.341683
SIMON-64(96)/CTR (96-bit key)C++9919.170.191382
SIMON-64(128)/CTR (128-bit key)C++9619.890.216433
SIMON-128(128)/CTR (128-bit key)SSSE33036.290.407815
SIMON-128(192)/CTR (192-bit key)SSSE33036.300.425850
SIMON-128(256)/CTR (256-bit key)SSSE32916.540.447894
SPECK-64(96)/CTR (96-bit key)C++18810.170.150300
SPECK-64(128)/CTR (128-bit key)C++18810.120.149298
SPECK-128(128)/CTR (128-bit key)SSSE311211.700.269539
SPECK-128(192)/CTR (192-bit key)SSSE310891.750.263526
SPECK-128(256)/CTR (256-bit key)SSSE310611.800.269537
TEA/CTR (128-bit key)C++6230.80.146291
XTEA/CTR (128-bit key)C++6429.90.145289
AES/GCMAESNI24960.760.346692
AES/CCM (128-bit key)AESNI7662.490.248496
AES/EAX (128-bit key)AESNI7612.510.384768
ChaCha20/Poly1305 (256-bit key)AVX25833.270.7161433
XChaCha20/Poly1305 (256-bit key)AVX25823.280.9601920

OperationMilliseconds/OperationMegacycles/Operation
RSA 1024 Encryption0.0120.024
RSA 1024 Decryption0.2530.507
LUC 1024 Encryption0.0130.026
LUC 1024 Decryption0.4330.866
DLIES 1024 Encryption0.1610.322
DLIES 1024 Encryption with precomputation0.2720.544
DLIES 1024 Decryption0.2050.410
LUCELG 512 Encryption0.1030.206
LUCELG 512 Encryption with precomputation0.1060.211
LUCELG 512 Decryption0.1050.209
RSA 2048 Encryption0.0270.053
RSA 2048 Decryption1.1232.246
LUC 2048 Encryption0.0300.060
LUC 2048 Decryption1.9033.806
DLIES 2048 Encryption0.8121.623
DLIES 2048 Encryption with precomputation0.8861.771
DLIES 2048 Decryption0.7421.484
LUCELG 1024 Encryption0.3650.729
LUCELG 1024 Encryption with precomputation0.3680.737
LUCELG 1024 Decryption0.3210.643
RSA 1024 Signature0.2570.514
RSA 1024 Verification0.0120.024
RW 1024 Signature0.2660.531
RW 1024 Signature with precomputation0.2610.523
RW 1024 Verification0.0080.015
LUC 1024 Signature0.4260.851
LUC 1024 Verification0.0130.026
NR 1024 Signature0.0840.169
NR 1024 Signature with precomputation0.0800.160
NR 1024 Verification0.0960.192
NR 1024 Verification with precomputation0.1330.266
DSA 1024 Signature0.0870.175
DSA 1024 Signature with precomputation0.0830.165
DSA 1024 Verification0.0990.199
DSA 1024 Verification with precomputation0.1340.267
LUC-HMP 512 Signature0.1020.203
LUC-HMP 512 Signature with precomputation0.1010.203
LUC-HMP 512 Verification0.1050.210
LUC-HMP 512 Verification with precomputation0.1040.208
ESIGN 1023 Signature0.0390.079
ESIGN 1023 Verification0.0110.022
ESIGN 1536 Signature0.0670.135
ESIGN 1536 Verification0.0220.045
RSA 2048 Signature1.1312.261
RSA 2048 Verification0.0270.054
RW 2048 Signature1.1702.341
RW 2048 Signature with precomputation1.1762.353
RW 2048 Verification0.0150.030
LUC 2048 Signature1.8853.770
LUC 2048 Verification0.0300.061
NR 2048 Signature0.4190.839
NR 2048 Signature with precomputation0.2030.406
NR 2048 Verification0.4680.936
NR 2048 Verification with precomputation0.3190.638
LUC-HMP 1024 Signature0.3730.746
LUC-HMP 1024 Signature with precomputation0.3670.734
LUC-HMP 1024 Verification0.3730.746
LUC-HMP 1024 Verification with precomputation0.3740.749
ESIGN 2046 Signature0.0870.174
ESIGN 2046 Verification0.0240.048
XTR-DH 171 Key-Pair Generation0.1500.301
XTR-DH 171 Key Agreement0.2940.589
XTR-DH 342 Key-Pair Generation0.3510.701
XTR-DH 342 Key Agreement0.7021.404
DH 1024 Key-Pair Generation0.0860.172
DH 1024 Key-Pair Generation with precomputation0.1380.277
DH 1024 Key Agreement0.2170.434
DH 2048 Key-Pair Generation0.4180.835
DH 2048 Key-Pair Generation with precomputation0.4560.912
DH 2048 Key Agreement0.7311.462
LUCDIF 512 Key-Pair Generation0.0550.110
LUCDIF 512 Key-Pair Generation with precomputation0.0550.109
LUCDIF 512 Key Agreement0.1100.220
LUCDIF 1024 Key-Pair Generation0.1870.374
LUCDIF 1024 Key-Pair Generation with precomputation0.1860.372
LUCDIF 1024 Key Agreement0.3190.638
MQV 1024 Key-Pair Generation0.0810.162
MQV 1024 Key-Pair Generation with precomputation0.0760.152
MQV 1024 Key Agreement0.1650.329
MQV 2048 Key-Pair Generation0.4080.817
MQV 2048 Key-Pair Generation with precomputation0.1840.368
MQV 2048 Key Agreement0.7661.531

OperationMilliseconds/OperationMegacycles/Operation
ed25519 Signature0.0210.041
ed25519 Verification0.0590.117
x25519 Key-Pair Generation0.0500.100
x25519 Key Agreement0.0500.100
ECIES over GF(p) 256 Encryption1.1992.398
ECIES over GF(p) 256 Encryption with precomputation1.0062.012
ECIES over GF(p) 256 Decryption0.8491.699
ECDSA over GF(p) 256 Signature0.6261.252
ECDSA over GF(p) 256 Signature with precomputation0.5351.070
ECDSA over GF(p) 256 Verification2.1794.357
ECDSA over GF(p) 256 Verification with precomputation0.8721.744
ECDSA-RFC6979 over GF(p) 256 Signature0.5891.179
ECDSA-RFC6979 over GF(p) 256 Signature with precomputation0.5081.016
ECDSA-RFC6979 over GF(p) 256 Verification2.1034.206
ECDSA-RFC6979 over GF(p) 256 Verification with precomputation0.8801.760
ECGDSA over GF(p) 256 Signature1.1902.381
ECGDSA over GF(p) 256 Signature with precomputation1.0172.034
ECGDSA over GF(p) 256 Verification2.1284.255
ECGDSA over GF(p) 256 Verification with precomputation0.8731.746
ECDHC over GF(p) 256 Key-Pair Generation0.6011.203
ECDHC over GF(p) 256 Key-Pair Generation with precomputation0.5021.003
ECDHC over GF(p) 256 Key Agreement0.5911.181
ECMQVC over GF(p) 256 Key-Pair Generation0.5911.181
ECMQVC over GF(p) 256 Key-Pair Generation with precomputation0.5031.006
ECMQVC over GF(p) 256 Key Agreement2.1194.237
ECIES over GF(2^n) 233 Encryption2.6705.340
ECIES over GF(2^n) 233 Encryption with precomputation0.8251.649
ECIES over GF(2^n) 233 Decryption1.5203.040
ECDSA over GF(2^n) 233 Signature1.3562.712
ECDSA over GF(2^n) 233 Signature with precomputation0.4300.859
ECDSA over GF(2^n) 233 Verification1.6913.381
ECDSA over GF(2^n) 233 Verification with precomputation0.7211.442
ECDSA-RFC6979 over GF(2^n) 233 Signature1.3842.768
ECDSA-RFC6979 over GF(2^n) 233 Signature with precomputation0.4320.864
ECDSA-RFC6979 over GF(2^n) 233 Verification1.7843.568
ECDSA-RFC6979 over GF(2^n) 233 Verification with precomputation0.7471.495
ECGDSA over GF(2^n) 233 Signature2.8455.690
ECGDSA over GF(2^n) 233 Signature with precomputation0.8391.679
ECGDSA over GF(2^n) 233 Verification1.6823.364
ECGDSA over GF(2^n) 233 Verification with precomputation0.7511.503
ECDHC over GF(2^n) 233 Key-Pair Generation1.3332.667
ECDHC over GF(2^n) 233 Key-Pair Generation with precomputation0.4170.835
ECDHC over GF(2^n) 233 Key Agreement1.3552.710
ECMQVC over GF(2^n) 233 Key-Pair Generation1.3312.661
ECMQVC over GF(2^n) 233 Key-Pair Generation with precomputation0.4160.832
ECMQVC over GF(2^n) 233 Key Agreement1.6643.328

Throughput Geometric Average: 1171.104434

Test started at Mon Sep 22 23:06:50 2025
Test ended at Mon Sep 22 23:18:47 2025