Here are speed benchmarks for some commonly used cryptographic algorithms.
CPU frequency of the test platform is 4.1e+09 Hz.
Algorithm | MiB/Second | Cycles Per Byte |
---|---|---|
NonblockingRng | 300 | 13.0 |
AutoSeededRandomPool | 437 | 9.0 |
AutoSeededX917RNG(AES) | 71 | 55.3 |
MT19937 | 986 | 4.0 |
RDRAND | 269 | 14.6 |
AES/OFB RNG | 698 | 5.6 |
Hash_DRBG(SHA1) | 114 | 34.2 |
Hash_DRBG(SHA256) | 112 | 35.0 |
HMAC_DRBG(SHA1) | 31 | 126.1 |
HMAC_DRBG(SHA256) | 29 | 132.9 |
CRC32 | 539 | 7.3 |
CRC32C | 5257 | 0.7 |
Adler32 | 1767 | 2.2 |
MD5 | 727 | 5.4 |
SHA-1 | 557 | 7.0 |
SHA-256 | 298 | 13.1 |
SHA-512 | 393 | 10.0 |
Keccak-224 | 325 | 12.0 |
Keccak-256 | 307 | 12.7 |
Keccak-384 | 232 | 16.9 |
Keccak-512 | 164 | 23.8 |
SHA3-224 | 324 | 12.1 |
SHA3-256 | 306 | 12.8 |
SHA3-384 | 233 | 16.8 |
SHA3-512 | 164 | 23.8 |
Tiger | 597 | 6.5 |
Whirlpool | 171 | 22.9 |
RIPEMD-160 | 307 | 12.8 |
RIPEMD-320 | 343 | 11.4 |
RIPEMD-128 | 465 | 8.4 |
RIPEMD-256 | 523 | 7.5 |
BLAKE2s | 629 | 6.2 |
BLAKE2b | 950 | 4.1 |
Algorithm | MiB/Second | Cycles Per Byte | Microseconds to Setup Key and IV | Cycles to Setup Key and IV |
---|---|---|---|---|
GMAC(AES) | 1931 | 2.0 | 0.404 | 1657 |
VMAC(AES)-64 (128-bit key) | 9831 | 0.4 | 0.515 | 2112 |
VMAC(AES)-128 (128-bit key) | 5622 | 0.7 | 0.584 | 2394 |
HMAC(SHA-1) (128-bit key) | 557 | 7.0 | 0.212 | 871 |
Two-Track-MAC (160-bit key) | 298 | 13.1 | 0.009 | 37 |
CMAC(AES) (128-bit key) | 720 | 5.4 | 0.120 | 491 |
DMAC(AES) (128-bit key) | 723 | 5.4 | 0.487 | 1997 |
Poly1305(AES) (256-bit key) | 1186 | 3.3 | 0.201 | 824 |
BLAKE2s (256-bit key) | 629 | 6.2 | 0.165 | 678 |
BLAKE2b (512-bit key) | 951 | 4.1 | 0.195 | 798 |
SipHash-2-4 (128-bit key) | 1580 | 2.5 | 0.008 | 33 |
SipHash-4-8 (128-bit key) | 947 | 4.1 | 0.008 | 33 |
Panama-LE (256-bit key) | 2130 | 1.8 | 0.597 | 2448 |
Panama-BE (256-bit key) | 1166 | 3.4 | 0.855 | 3506 |
Salsa20 (256-bit key) | 514 | 7.6 | 0.137 | 560 |
Salsa20/12 | 789 | 5.0 | 0.174 | 711 |
Salsa20/8 | 1067 | 3.7 | 0.172 | 707 |
ChaCha20 (256-bit key) | 508 | 7.7 | 0.099 | 408 |
ChaCha12 (256-bit key) | 783 | 5.0 | 0.099 | 406 |
ChaCha8 (256-bit key) | 1050 | 3.7 | 0.098 | 403 |
Sosemanuk (128-bit key) | 1715 | 2.3 | 0.362 | 1486 |
MARC4 (128-bit key) | 493 | 7.9 | 1.086 | 4454 |
SEAL-3.0-LE (160-bit key) | 884 | 4.4 | 18.751 | 76877 |
WAKE-OFB-LE (256-bit key) | 418 | 9.3 | 1.287 | 5278 |
AES/CTR (128-bit key) | 2936 | 1.3 | 0.216 | 884 |
AES/CTR (192-bit key) | 2470 | 1.6 | 0.211 | 865 |
AES/CTR (256-bit key) | 2148 | 1.8 | 0.229 | 938 |
AES/CBC (128-bit key) | 724 | 5.4 | 0.167 | 686 |
AES/CBC (192-bit key) | 612 | 6.4 | 0.165 | 676 |
AES/CBC (256-bit key) | 531 | 7.4 | 0.178 | 730 |
AES/OFB (128-bit key) | 689 | 5.7 | 0.213 | 875 |
AES/CFB (128-bit key) | 716 | 5.5 | 0.234 | 958 |
AES/ECB (128-bit key) | 3510 | 1.1 | 0.067 | 276 |
Camellia/CTR (128-bit key) | 163 | 23.9 | 0.215 | 882 |
Camellia/CTR (256-bit key) | 127 | 30.8 | 0.221 | 906 |
Twofish/CTR (128-bit key) | 201 | 19.4 | 1.729 | 7088 |
Serpent/CTR (128-bit key) | 98 | 40.1 | 0.349 | 1433 |
CAST-256/CTR (128-bit key) | 120 | 32.6 | 0.892 | 3656 |
RC6/CTR (128-bit key) | 164 | 23.8 | 1.590 | 6517 |
MARS/CTR (128-bit key) | 146 | 26.8 | 0.754 | 3091 |
SHACAL-2/CTR (128-bit key) | 191 | 20.4 | 0.240 | 986 |
SHACAL-2/CTR (512-bit key) | 191 | 20.5 | 0.248 | 1018 |
DES/CTR (64-bit key) | 83 | 47.0 | 1.974 | 8094 |
DES-XEX3/CTR (192-bit key) | 79 | 49.4 | 1.965 | 8056 |
DES-EDE3/CTR (192-bit key) | 32 | 123.1 | 6.644 | 27239 |
IDEA/CTR (128-bit key) | 101 | 38.8 | 0.219 | 897 |
RC5 (r=16) | 157 | 24.9 | 1.274 | 5224 |
Blowfish/CTR (128-bit key) | 139 | 28.2 | 27.488 | 112699 |
TEA/CTR (128-bit key) | 83 | 47.1 | 0.194 | 795 |
XTEA/CTR (128-bit key) | 75 | 51.9 | 0.194 | 795 |
CAST-128/CTR (128-bit key) | 122 | 32.1 | 0.284 | 1164 |
SKIPJACK/CTR (80-bit key) | 47 | 82.9 | 1.504 | 6167 |
SEED/CTR (1/2 K table) | 75 | 51.9 | 0.242 | 992 |
AES/GCM | 1181 | 3.3 | 0.403 | 1654 |
AES/CCM (128-bit key) | 579 | 6.7 | 0.262 | 1074 |
AES/EAX (128-bit key) | 580 | 6.7 | 0.351 | 1440 |
Operation | Milliseconds/Operation | Megacycles/Operation |
---|---|---|
RSA 1024 Encryption | 0.01 | 0.06 |
RSA 1024 Decryption | 0.27 | 1.09 |
LUC 1024 Encryption | 0.02 | 0.06 |
LUC 1024 Decryption | 0.46 | 1.89 |
DLIES 1024 Encryption | 0.18 | 0.75 |
DLIES 1024 Encryption with precomputation | 0.35 | 1.42 |
DLIES 1024 Decryption | 0.25 | 1.04 |
LUCELG 512 Encryption | 0.11 | 0.44 |
LUCELG 512 Encryption with precomputation | 0.11 | 0.44 |
LUCELG 512 Decryption | 0.12 | 0.50 |
RSA 2048 Encryption | 0.03 | 0.12 |
RSA 2048 Decryption | 1.23 | 5.06 |
LUC 2048 Encryption | 0.03 | 0.14 |
LUC 2048 Decryption | 2.11 | 8.66 |
DLIES 2048 Encryption | 0.88 | 3.59 |
DLIES 2048 Encryption with precomputation | 0.98 | 4.00 |
DLIES 2048 Decryption | 0.83 | 3.42 |
LUCELG 1024 Encryption | 0.41 | 1.66 |
LUCELG 1024 Encryption with precomputation | 0.40 | 1.62 |
LUCELG 1024 Decryption | 0.36 | 1.47 |
RSA 1024 Signature | 0.26 | 1.08 |
RSA 1024 Verification | 0.01 | 0.06 |
RW 1024 Signature | 0.28 | 1.16 |
RW 1024 Signature with precomputation | 0.28 | 1.16 |
RW 1024 Verification | 0.01 | 0.04 |
LUC 1024 Signature | 0.44 | 1.81 |
LUC 1024 Verification | 0.02 | 0.06 |
NR 1024 Signature | 0.09 | 0.38 |
NR 1024 Signature with precomputation | 0.10 | 0.42 |
NR 1024 Verification | 0.11 | 0.43 |
NR 1024 Verification with precomputation | 0.15 | 0.60 |
DSA 1024 Signature | 0.09 | 0.38 |
DSA 1024 Signature with precomputation | 0.10 | 0.40 |
DSA 1024 Verification | 0.11 | 0.45 |
DSA 1024 Verification with precomputation | 0.15 | 0.61 |
LUC-HMP 512 Signature | 0.11 | 0.44 |
LUC-HMP 512 Signature with precomputation | 0.10 | 0.43 |
LUC-HMP 512 Verification | 0.11 | 0.44 |
LUC-HMP 512 Verification with precomputation | 0.11 | 0.43 |
ESIGN 1023 Signature | 0.04 | 0.18 |
ESIGN 1023 Verification | 0.01 | 0.05 |
ESIGN 1536 Signature | 0.07 | 0.29 |
ESIGN 1536 Verification | 0.02 | 0.10 |
RSA 2048 Signature | 1.21 | 4.98 |
RSA 2048 Verification | 0.03 | 0.12 |
RW 2048 Signature | 1.30 | 5.33 |
RW 2048 Signature with precomputation | 1.27 | 5.23 |
RW 2048 Verification | 0.02 | 0.07 |
LUC 2048 Signature | 2.15 | 8.83 |
LUC 2048 Verification | 0.03 | 0.14 |
NR 2048 Signature | 0.44 | 1.81 |
NR 2048 Signature with precomputation | 0.21 | 0.84 |
NR 2048 Verification | 0.52 | 2.11 |
NR 2048 Verification with precomputation | 0.35 | 1.44 |
LUC-HMP 1024 Signature | 0.41 | 1.67 |
LUC-HMP 1024 Signature with precomputation | 0.41 | 1.68 |
LUC-HMP 1024 Verification | 0.42 | 1.71 |
LUC-HMP 1024 Verification with precomputation | 0.41 | 1.70 |
ESIGN 2046 Signature | 0.09 | 0.37 |
ESIGN 2046 Verification | 0.03 | 0.11 |
XTR-DH 171 Key-Pair Generation | 0.13 | 0.53 |
XTR-DH 171 Key Agreement | 0.25 | 1.03 |
XTR-DH 342 Key-Pair Generation | 0.35 | 1.42 |
XTR-DH 342 Key Agreement | 0.70 | 2.87 |
DH 1024 Key-Pair Generation | 0.10 | 0.41 |
DH 1024 Key-Pair Generation with precomputation | 0.18 | 0.72 |
DH 1024 Key Agreement | 0.24 | 0.97 |
DH 2048 Key-Pair Generation | 0.44 | 1.80 |
DH 2048 Key-Pair Generation with precomputation | 0.51 | 2.09 |
DH 2048 Key Agreement | 0.85 | 3.49 |
LUCDIF 512 Key-Pair Generation | 0.06 | 0.23 |
LUCDIF 512 Key-Pair Generation with precomputation | 0.06 | 0.23 |
LUCDIF 512 Key Agreement | 0.12 | 0.50 |
LUCDIF 1024 Key-Pair Generation | 0.21 | 0.85 |
LUCDIF 1024 Key-Pair Generation with precomputation | 0.21 | 0.85 |
LUCDIF 1024 Key Agreement | 0.35 | 1.43 |
MQV 1024 Key-Pair Generation | 0.09 | 0.38 |
MQV 1024 Key-Pair Generation with precomputation | 0.09 | 0.39 |
MQV 1024 Key Agreement | 0.18 | 0.72 |
MQV 2048 Key-Pair Generation | 0.44 | 1.81 |
MQV 2048 Key-Pair Generation with precomputation | 0.22 | 0.90 |
MQV 2048 Key Agreement | 0.81 | 3.30 |
ECIES over GF(p) 256 Encryption | 1.06 | 4.35 |
ECIES over GF(p) 256 Encryption with precomputation | 0.91 | 3.73 |
ECIES over GF(p) 256 Decryption | 0.75 | 3.08 |
ECDSA over GF(p) 256 Signature | 0.54 | 2.22 |
ECDSA over GF(p) 256 Signature with precomputation | 0.47 | 1.92 |
ECDSA over GF(p) 256 Verification | 1.89 | 7.75 |
ECDSA over GF(p) 256 Verification with precomputation | 0.78 | 3.21 |
ECDSA-RFC6979 over GF(p) 256 Signature | 0.57 | 2.34 |
ECDSA-RFC6979 over GF(p) 256 Signature with precomputation | 0.44 | 1.82 |
ECDSA-RFC6979 over GF(p) 256 Verification | 1.86 | 7.61 |
ECDSA-RFC6979 over GF(p) 256 Verification with precomputation | 0.75 | 3.06 |
ECGDSA over GF(p) 256 Signature | 1.09 | 4.47 |
ECGDSA over GF(p) 256 Signature with precomputation | 0.90 | 3.71 |
ECGDSA over GF(p) 256 Verification | 1.90 | 7.78 |
ECGDSA over GF(p) 256 Verification with precomputation | 0.80 | 3.30 |
ECDHC over GF(p) 256 Key-Pair Generation | 0.53 | 2.19 |
ECDHC over GF(p) 256 Key-Pair Generation with precomputation | 0.46 | 1.87 |
ECDHC over GF(p) 256 Key Agreement | 0.53 | 2.19 |
ECMQVC over GF(p) 256 Key-Pair Generation | 0.53 | 2.19 |
ECMQVC over GF(p) 256 Key-Pair Generation with precomputation | 0.45 | 1.86 |
ECMQVC over GF(p) 256 Key Agreement | 1.86 | 7.61 |
ECIES over GF(2^n) 233 Encryption | 6.28 | 25.73 |
ECIES over GF(2^n) 233 Encryption with precomputation | 1.73 | 7.10 |
ECIES over GF(2^n) 233 Decryption | 3.56 | 14.59 |
ECDSA over GF(2^n) 233 Signature | 3.19 | 13.07 |
ECDSA over GF(2^n) 233 Signature with precomputation | 0.89 | 3.63 |
ECDSA over GF(2^n) 233 Verification | 3.93 | 16.13 |
ECDSA over GF(2^n) 233 Verification with precomputation | 1.53 | 6.26 |
ECDSA-RFC6979 over GF(2^n) 233 Signature | 3.12 | 12.78 |
ECDSA-RFC6979 over GF(2^n) 233 Signature with precomputation | 0.85 | 3.48 |
ECDSA-RFC6979 over GF(2^n) 233 Verification | 3.81 | 15.64 |
ECDSA-RFC6979 over GF(2^n) 233 Verification with precomputation | 1.49 | 6.11 |
ECGDSA over GF(2^n) 233 Signature | 6.32 | 25.90 |
ECGDSA over GF(2^n) 233 Signature with precomputation | 1.73 | 7.09 |
ECGDSA over GF(2^n) 233 Verification | 3.87 | 15.87 |
ECGDSA over GF(2^n) 233 Verification with precomputation | 1.44 | 5.90 |
ECDHC over GF(2^n) 233 Key-Pair Generation | 3.12 | 12.77 |
ECDHC over GF(2^n) 233 Key-Pair Generation with precomputation | 0.86 | 3.54 |
ECDHC over GF(2^n) 233 Key Agreement | 3.13 | 12.85 |
ECMQVC over GF(2^n) 233 Key-Pair Generation | 3.09 | 12.66 |
ECMQVC over GF(2^n) 233 Key-Pair Generation with precomputation | 0.85 | 3.49 |
ECMQVC over GF(2^n) 233 Key Agreement | 3.84 | 15.75 |
Throughput Geometric Average: 1275.495675
Test started at Sun Apr 9 16:09:08 2017
Test ended at Sun Apr 9 16:53:25 2017