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.14713e+09 Hz.

Algorithm | MiB/Second | Cycles Per Byte |
---|---|---|

NonblockingRng | 157 | 19.1 |

AutoSeededRandomPool | 551 | 5.4 |

AutoSeededX917RNG(AES) | 54 | 55.9 |

MT19937 | 946 | 3.2 |

RDRAND | 60 | 49.9 |

RDSEED | 25 | 121.7 |

AES/OFB RNG | 819 | 3.7 |

Hash_DRBG(SHA1) | 94 | 32.0 |

Hash_DRBG(SHA256) | 85 | 35.2 |

HMAC_DRBG(SHA1) | 25 | 121.0 |

HMAC_DRBG(SHA256) | 22 | 136.5 |

CRC32 | 391 | 7.7 |

CRC32C | 3490 | 0.9 |

Adler32 | 1432 | 2.1 |

MD5 | 495 | 6.1 |

SHA-1 | 445 | 6.7 |

SHA-256 | 223 | 13.4 |

SHA-512 | 343 | 8.7 |

Keccak-224 | 314 | 9.6 |

Keccak-256 | 298 | 10.1 |

Keccak-384 | 228 | 13.1 |

Keccak-512 | 159 | 18.9 |

SHA3-224 | 314 | 9.6 |

SHA3-256 | 298 | 10.1 |

SHA3-384 | 228 | 13.1 |

SHA3-512 | 159 | 18.9 |

Tiger | 482 | 6.2 |

Whirlpool | 124 | 24.3 |

RIPEMD-160 | 212 | 14.1 |

RIPEMD-320 | 253 | 11.9 |

RIPEMD-128 | 331 | 9.1 |

RIPEMD-256 | 395 | 7.6 |

BLAKE2s | 446 | 6.7 |

BLAKE2b | 659 | 4.6 |

Algorithm | MiB/Second | Cycles Per Byte | Microseconds to Setup Key and IV | Cycles to Setup Key and IV |
---|---|---|---|---|

GMAC(AES) | 7509 | 0.4 | 0.468 | 1472 |

VMAC(AES)-64 (128-bit key) | 9336 | 0.3 | 0.640 | 2014 |

VMAC(AES)-128 (128-bit key) | 5159 | 0.6 | 0.701 | 2206 |

HMAC(SHA-1) (128-bit key) | 444 | 6.8 | 0.268 | 842 |

Two-Track-MAC (160-bit key) | 208 | 14.4 | 0.012 | 37 |

CMAC(AES) (128-bit key) | 876 | 3.4 | 0.141 | 443 |

DMAC(AES) (128-bit key) | 879 | 3.4 | 0.597 | 1880 |

Poly1305(AES) (256-bit key) | 842 | 3.6 | 0.262 | 823 |

BLAKE2s (256-bit key) | 446 | 6.7 | 0.233 | 733 |

BLAKE2b (512-bit key) | 659 | 4.6 | 0.257 | 808 |

SipHash-2-4 (128-bit key) | 955 | 3.1 | 0.010 | 32 |

SipHash-4-8 (128-bit key) | 832 | 3.6 | 0.010 | 32 |

Panama-LE (256-bit key) | 1607 | 1.9 | 0.826 | 2600 |

Panama-BE (256-bit key) | 957 | 3.1 | 1.091 | 3435 |

Salsa20 (256-bit key) | 420 | 7.1 | 0.187 | 588 |

Salsa20/12 | 655 | 4.6 | 0.240 | 756 |

Salsa20/8 | 910 | 3.3 | 0.240 | 756 |

ChaCha20 (256-bit key) | 397 | 7.6 | 0.136 | 427 |

ChaCha12 (256-bit key) | 646 | 4.6 | 0.136 | 428 |

ChaCha8 (256-bit key) | 858 | 3.5 | 0.135 | 426 |

Sosemanuk (128-bit key) | 1424 | 2.1 | 0.502 | 1578 |

MARC4 (128-bit key) | 464 | 6.5 | 0.966 | 3041 |

SEAL-3.0-LE (160-bit key) | 603 | 5.0 | 22.692 | 71416 |

WAKE-OFB-LE (256-bit key) | 318 | 9.4 | 1.750 | 5508 |

AES/CTR (128-bit key) | 3735 | 0.8 | 0.292 | 917 |

AES/CTR (192-bit key) | 3174 | 0.9 | 0.282 | 888 |

AES/CTR (256-bit key) | 2758 | 1.1 | 0.306 | 964 |

AES/CBC (128-bit key) | 879 | 3.4 | 0.227 | 715 |

AES/CBC (192-bit key) | 753 | 4.0 | 0.216 | 679 |

AES/CBC (256-bit key) | 659 | 4.6 | 0.242 | 761 |

AES/OFB (128-bit key) | 827 | 3.6 | 0.288 | 906 |

AES/CFB (128-bit key) | 858 | 3.5 | 0.307 | 966 |

AES/ECB (128-bit key) | 4140 | 0.7 | 0.081 | 254 |

ARIA/CTR (128-bit key) | 115 | 26.1 | 0.310 | 976 |

ARIA/CTR (256-bit key) | 89 | 33.8 | 0.330 | 1039 |

Camellia/CTR (128-bit key) | 124 | 24.3 | 0.265 | 836 |

Camellia/CTR (256-bit key) | 96 | 31.3 | 0.285 | 897 |

Twofish/CTR (128-bit key) | 161 | 18.7 | 2.075 | 6530 |

Threefish/CTR (256-bit key) | 298 | 10.1 | 0.383 | 1206 |

Threefish/CTR (512-bit key) | 407 | 7.4 | 0.386 | 1216 |

Threefish/CTR (1024-bit key) | 267 | 11.3 | 0.394 | 1241 |

Serpent/CTR (128-bit key) | 71 | 42.2 | 0.479 | 1506 |

CAST-256/CTR (128-bit key) | 90 | 33.5 | 1.204 | 3789 |

RC6/CTR (128-bit key) | 123 | 24.5 | 2.122 | 6677 |

MARS/CTR (128-bit key) | 115 | 26.2 | 1.053 | 3313 |

SHACAL-2/CTR (128-bit key) | 158 | 19.0 | 0.327 | 1028 |

SHACAL-2/CTR (512-bit key) | 158 | 19.0 | 0.332 | 1044 |

DES/CTR (64-bit key) | 63 | 47.4 | 2.434 | 7662 |

DES-XEX3/CTR (192-bit key) | 59 | 51.1 | 2.465 | 7759 |

DES-EDE3/CTR (192-bit key) | 24 | 124.8 | 10.329 | 32506 |

IDEA/CTR (128-bit key) | 74 | 40.3 | 0.304 | 958 |

RC5 (r=16) | 104 | 28.8 | 1.712 | 5388 |

Blowfish/CTR (128-bit key) | 101 | 29.7 | 36.738 | 115618 |

TEA/CTR (128-bit key) | 60 | 50.2 | 0.264 | 830 |

XTEA/CTR (128-bit key) | 56 | 54.0 | 0.262 | 824 |

CAST-128/CTR (128-bit key) | 89 | 33.7 | 0.366 | 1153 |

SKIPJACK/CTR (80-bit key) | 31 | 95.7 | 2.150 | 6767 |

SEED/CTR (1/2 K table) | 50 | 59.8 | 0.319 | 1003 |

Kalyna-128(128) (128-bit key) | 201 | 14.9 | 0.488 | 1535 |

Kalyna-128(256) (256-bit key) | 127 | 23.6 | 0.527 | 1658 |

Kalyna-256(256) (256-bit key) | 169 | 17.8 | 0.678 | 2135 |

Kalyna-256(512) (512-bit key) | 133 | 22.5 | 0.743 | 2339 |

Kalyna-512(512) (512-bit key) | 120 | 24.9 | 1.149 | 3616 |

AES/GCM | 2448 | 1.2 | 0.468 | 1472 |

AES/CCM (128-bit key) | 710 | 4.2 | 0.354 | 1113 |

AES/EAX (128-bit key) | 709 | 4.2 | 0.434 | 1366 |

Operation | Milliseconds/Operation | Megacycles/Operation |
---|---|---|

RSA 1024 Encryption | 0.02 | 0.05 |

RSA 1024 Decryption | 0.27 | 0.85 |

LUC 1024 Encryption | 0.02 | 0.05 |

LUC 1024 Decryption | 0.49 | 1.56 |

DLIES 1024 Encryption | 0.18 | 0.56 |

DLIES 1024 Encryption with precomputation | 0.38 | 1.20 |

DLIES 1024 Decryption | 0.31 | 0.97 |

LUCELG 512 Encryption | 0.11 | 0.34 |

LUCELG 512 Encryption with precomputation | 0.11 | 0.34 |

LUCELG 512 Decryption | 0.13 | 0.42 |

RSA 2048 Encryption | 0.03 | 0.10 |

RSA 2048 Decryption | 1.24 | 3.90 |

LUC 2048 Encryption | 0.04 | 0.11 |

LUC 2048 Decryption | 2.14 | 6.73 |

DLIES 2048 Encryption | 0.85 | 2.69 |

DLIES 2048 Encryption with precomputation | 0.99 | 3.10 |

DLIES 2048 Decryption | 0.93 | 2.93 |

LUCELG 1024 Encryption | 0.40 | 1.25 |

LUCELG 1024 Encryption with precomputation | 0.40 | 1.25 |

LUCELG 1024 Decryption | 0.39 | 1.22 |

RSA 1024 Signature | 0.27 | 0.85 |

RSA 1024 Verification | 0.02 | 0.05 |

RW 1024 Signature | 0.29 | 0.92 |

RW 1024 Signature with precomputation | 0.29 | 0.92 |

RW 1024 Verification | 0.01 | 0.03 |

LUC 1024 Signature | 0.48 | 1.52 |

LUC 1024 Verification | 0.02 | 0.05 |

NR 1024 Signature | 0.09 | 0.29 |

NR 1024 Signature with precomputation | 0.11 | 0.35 |

NR 1024 Verification | 0.11 | 0.33 |

NR 1024 Verification with precomputation | 0.17 | 0.52 |

DSA 1024 Signature | 0.09 | 0.30 |

DSA 1024 Signature with precomputation | 0.11 | 0.36 |

DSA 1024 Verification | 0.11 | 0.34 |

DSA 1024 Verification with precomputation | 0.16 | 0.51 |

LUC-HMP 512 Signature | 0.10 | 0.33 |

LUC-HMP 512 Signature with precomputation | 0.10 | 0.33 |

LUC-HMP 512 Verification | 0.11 | 0.34 |

LUC-HMP 512 Verification with precomputation | 0.11 | 0.35 |

ESIGN 1023 Signature | 0.05 | 0.16 |

ESIGN 1023 Verification | 0.01 | 0.04 |

ESIGN 1536 Signature | 0.08 | 0.24 |

ESIGN 1536 Verification | 0.03 | 0.08 |

RSA 2048 Signature | 1.24 | 3.89 |

RSA 2048 Verification | 0.03 | 0.10 |

RW 2048 Signature | 1.28 | 4.01 |

RW 2048 Signature with precomputation | 1.27 | 4.01 |

RW 2048 Verification | 0.02 | 0.06 |

LUC 2048 Signature | 2.14 | 6.75 |

LUC 2048 Verification | 0.03 | 0.11 |

NR 2048 Signature | 0.43 | 1.36 |

NR 2048 Signature with precomputation | 0.24 | 0.76 |

NR 2048 Verification | 0.50 | 1.58 |

NR 2048 Verification with precomputation | 0.36 | 1.13 |

LUC-HMP 1024 Signature | 0.40 | 1.25 |

LUC-HMP 1024 Signature with precomputation | 0.40 | 1.25 |

LUC-HMP 1024 Verification | 0.40 | 1.27 |

LUC-HMP 1024 Verification with precomputation | 0.41 | 1.28 |

ESIGN 2046 Signature | 0.10 | 0.31 |

ESIGN 2046 Verification | 0.03 | 0.09 |

XTR-DH 171 Key-Pair Generation | 0.15 | 0.48 |

XTR-DH 171 Key Agreement | 0.29 | 0.91 |

XTR-DH 342 Key-Pair Generation | 0.37 | 1.15 |

XTR-DH 342 Key Agreement | 0.73 | 2.29 |

DH 1024 Key-Pair Generation | 0.09 | 0.30 |

DH 1024 Key-Pair Generation with precomputation | 0.19 | 0.61 |

DH 1024 Key Agreement | 0.30 | 0.96 |

DH 2048 Key-Pair Generation | 0.44 | 1.38 |

DH 2048 Key-Pair Generation with precomputation | 0.52 | 1.65 |

DH 2048 Key Agreement | 0.91 | 2.87 |

LUCDIF 512 Key-Pair Generation | 0.06 | 0.18 |

LUCDIF 512 Key-Pair Generation with precomputation | 0.06 | 0.18 |

LUCDIF 512 Key Agreement | 0.14 | 0.43 |

LUCDIF 1024 Key-Pair Generation | 0.20 | 0.64 |

LUCDIF 1024 Key-Pair Generation with precomputation | 0.20 | 0.63 |

LUCDIF 1024 Key Agreement | 0.38 | 1.20 |

MQV 1024 Key-Pair Generation | 0.09 | 0.28 |

MQV 1024 Key-Pair Generation with precomputation | 0.11 | 0.34 |

MQV 1024 Key Agreement | 0.18 | 0.57 |

MQV 2048 Key-Pair Generation | 0.43 | 1.34 |

MQV 2048 Key-Pair Generation with precomputation | 0.23 | 0.73 |

MQV 2048 Key Agreement | 0.80 | 2.52 |

ECIES over GF(p) 256 Encryption | 1.26 | 3.97 |

ECIES over GF(p) 256 Encryption with precomputation | 1.09 | 3.44 |

ECIES over GF(p) 256 Decryption | 0.90 | 2.82 |

ECDSA over GF(p) 256 Signature | 0.64 | 2.02 |

ECDSA over GF(p) 256 Signature with precomputation | 0.56 | 1.75 |

ECDSA over GF(p) 256 Verification | 2.21 | 6.97 |

ECDSA over GF(p) 256 Verification with precomputation | 0.90 | 2.84 |

ECDSA-RFC6979 over GF(p) 256 Signature | 0.64 | 2.03 |

ECDSA-RFC6979 over GF(p) 256 Signature with precomputation | 0.56 | 1.77 |

ECDSA-RFC6979 over GF(p) 256 Verification | 2.23 | 7.03 |

ECDSA-RFC6979 over GF(p) 256 Verification with precomputation | 0.94 | 2.96 |

ECGDSA over GF(p) 256 Signature | 1.27 | 4.00 |

ECGDSA over GF(p) 256 Signature with precomputation | 1.09 | 3.43 |

ECGDSA over GF(p) 256 Verification | 2.19 | 6.89 |

ECGDSA over GF(p) 256 Verification with precomputation | 0.94 | 2.97 |

ECDHC over GF(p) 256 Key-Pair Generation | 0.63 | 1.99 |

ECDHC over GF(p) 256 Key-Pair Generation with precomputation | 0.55 | 1.72 |

ECDHC over GF(p) 256 Key Agreement | 0.63 | 1.99 |

ECMQVC over GF(p) 256 Key-Pair Generation | 0.63 | 1.99 |

ECMQVC over GF(p) 256 Key-Pair Generation with precomputation | 0.55 | 1.72 |

ECMQVC over GF(p) 256 Key Agreement | 2.23 | 7.00 |

ECIES over GF(2^n) 233 Encryption | 8.44 | 26.58 |

ECIES over GF(2^n) 233 Encryption with precomputation | 2.31 | 7.26 |

ECIES over GF(2^n) 233 Decryption | 4.82 | 15.17 |

ECDSA over GF(2^n) 233 Signature | 4.24 | 13.33 |

ECDSA over GF(2^n) 233 Signature with precomputation | 1.16 | 3.66 |

ECDSA over GF(2^n) 233 Verification | 5.21 | 16.38 |

ECDSA over GF(2^n) 233 Verification with precomputation | 2.03 | 6.38 |

ECDSA-RFC6979 over GF(2^n) 233 Signature | 4.24 | 13.36 |

ECDSA-RFC6979 over GF(2^n) 233 Signature with precomputation | 1.15 | 3.62 |

ECDSA-RFC6979 over GF(2^n) 233 Verification | 5.24 | 16.50 |

ECDSA-RFC6979 over GF(2^n) 233 Verification with precomputation | 2.01 | 6.33 |

ECGDSA over GF(2^n) 233 Signature | 8.46 | 26.64 |

ECGDSA over GF(2^n) 233 Signature with precomputation | 2.36 | 7.42 |

ECGDSA over GF(2^n) 233 Verification | 5.17 | 16.28 |

ECGDSA over GF(2^n) 233 Verification with precomputation | 2.06 | 6.48 |

ECDHC over GF(2^n) 233 Key-Pair Generation | 4.23 | 13.30 |

ECDHC over GF(2^n) 233 Key-Pair Generation with precomputation | 1.18 | 3.71 |

ECDHC over GF(2^n) 233 Key Agreement | 4.29 | 13.50 |

ECMQVC over GF(2^n) 233 Key-Pair Generation | 4.23 | 13.32 |

ECMQVC over GF(2^n) 233 Key-Pair Generation with precomputation | 1.18 | 3.70 |

ECMQVC over GF(2^n) 233 Key Agreement | 5.35 | 16.85 |

Throughput Geometric Average: 1014.247369

Test started at Mon May 15 23:28:43 2017

Test ended at Mon May 15 23:38:24 2017