Here are speed benchmarks for some commonly used cryptographic algorithms.
CPU frequency of the test platform is 2 GHz.
| Algorithm | Provider | MiB/Second | Cycles/Byte |
|---|---|---|---|
| NonblockingRng | C++ | 230 | 8.28 |
| AutoSeededRandomPool | C++ | 441 | 4.33 |
| AutoSeededX917RNG(AES) | AESNI | 19 | 99.6 |
| MT19937 | C++ | 696 | 2.74 |
| RDRAND | RDRAND | 7 | 287.9 |
| RDSEED | RDSEED | 7 | 287.4 |
| AES/OFB RNG | AESNI | 691 | 2.76 |
| Hash_DRBG(SHA1) | SHANI | 228 | 8.38 |
| Hash_DRBG(SHA256) | SHANI | 310 | 6.16 |
| HMAC_DRBG(SHA1) | SHANI | 65 | 29.2 |
| HMAC_DRBG(SHA256) | SHANI | 95 | 20.03 |
| CRC32 | C++ | 392 | 4.87 |
| CRC32C | SSE4.2 | 7507 | 0.25 |
| Adler32 | C++ | 1848 | 1.03 |
| MD5 | C++ | 517 | 3.69 |
| SHA-1 | SHANI | 1461 | 1.31 |
| SHA-256 | SHANI | 1403 | 1.36 |
| SHA-512 | SSE2 | 391 | 4.88 |
| SHA3-224 | C++ | 314 | 6.08 |
| SHA3-256 | C++ | 294 | 6.49 |
| SHA3-384 | C++ | 226 | 8.45 |
| SHA3-512 | C++ | 157 | 12.13 |
| Keccak-224 | C++ | 313 | 6.09 |
| Keccak-256 | C++ | 296 | 6.44 |
| Keccak-384 | C++ | 225 | 8.48 |
| Keccak-512 | C++ | 157 | 12.12 |
| Tiger | SSE2 | 513 | 3.72 |
| Whirlpool | SSE2 | 168 | 11.37 |
| RIPEMD-160 | C++ | 219 | 8.70 |
| RIPEMD-320 | C++ | 242 | 7.87 |
| RIPEMD-128 | C++ | 351 | 5.44 |
| RIPEMD-256 | C++ | 426 | 4.48 |
| SM3 | C++ | 224 | 8.53 |
| BLAKE2s | SSE4.1 | 493 | 3.87 |
| BLAKE2b | SSE4.1 | 682 | 2.80 |
| LSH-256 | AVX2 | 713 | 2.68 |
| LSH-512 | AVX2 | 332 | 5.74 |
| Algorithm | Provider | MiB/Second | Cycles/Byte | Microseconds to Setup Key and IV | Cycles to Setup Key and IV |
|---|---|---|---|---|---|
| GMAC(AES) | AESNI | 4869 | 0.39 | 0.348 | 696 |
| VMAC(AES)-64 (128-bit key) | AESNI | 9358 | 0.20 | 0.442 | 884 |
| VMAC(AES)-128 (128-bit key) | AESNI | 5807 | 0.33 | 0.498 | 996 |
| HMAC(SHA-1) (128-bit key) | SHANI | 1461 | 1.31 | 0.254 | 508 |
| HMAC(SHA-256) (128-bit key) | SHANI | 1397 | 1.37 | 0.258 | 516 |
| Two-Track-MAC (160-bit key) | C++ | 225 | 8.48 | 0.012 | 24 |
| CMAC(AES) (128-bit key) | AESNI | 906 | 2.11 | 0.142 | 284 |
| DMAC(AES) (128-bit key) | AESNI | 909 | 2.10 | 0.441 | 883 |
| Poly1305(AES) (256-bit key) | AESNI | 925 | 2.06 | 0.154 | 309 |
| Poly1305TLS (256-bit key) | C++ | 930 | 2.05 | 0.011 | 22 |
| BLAKE2s (256-bit key) | SSE4.1 | 494 | 3.86 | 0.111 | 222 |
| BLAKE2b (512-bit key) | SSE4.1 | 685 | 2.79 | 0.112 | 225 |
| SipHash-2-4 (128-bit key) | C++ | 1873 | 1.02 | 0.011 | 23 |
| SipHash-4-8 (128-bit key) | C++ | 971 | 1.96 | 0.011 | 23 |
| Panama-LE (256-bit key) | C++ | 1130 | 1.69 | 0.935 | 1871 |
| Panama-BE (256-bit key) | C++ | 1087 | 1.75 | 0.870 | 1739 |
| Salsa20 | SSE2 | 665 | 2.87 | 0.092 | 184 |
| Salsa20/12 | SSE2 | 1081 | 1.76 | 0.114 | 227 |
| Salsa20/8 | SSE2 | 1576 | 1.21 | 0.115 | 230 |
| ChaCha20 | AVX2 | 1648 | 1.16 | 0.090 | 180 |
| ChaCha12 | AVX2 | 2569 | 0.74 | 0.114 | 229 |
| ChaCha8 | AVX2 | 3605 | 0.53 | 0.114 | 229 |
| ChaChaTLS (256-bit key) | AVX2 | 1644 | 1.16 | 0.107 | 214 |
| Sosemanuk (128-bit key) | SSE2 | 1436 | 1.33 | 0.473 | 945 |
| Rabbit (128-bit key) | C++ | 841 | 2.27 | 0.095 | 189 |
| RabbitWithIV (128-bit key) | C++ | 838 | 2.28 | 0.204 | 409 |
| HC-128 (128-bit key) | C++ | 1193 | 1.60 | 4.225 | 8451 |
| HC-256 (256-bit key) | C++ | 456 | 4.18 | 14.118 | 28236 |
| MARC4 (128-bit key) | C++ | 270 | 7.07 | 1.539 | 3078 |
| SEAL-3.0-LE (160-bit key) | C++ | 659 | 2.89 | 9.958 | 19915 |
| WAKE-OFB-LE (256-bit key) | C++ | 280 | 6.82 | 1.811 | 3622 |
| AES/CTR (128-bit key) | AESNI | 5437 | 0.35 | 0.191 | 383 |
| AES/CTR (192-bit key) | AESNI | 4580 | 0.42 | 0.183 | 366 |
| AES/CTR (256-bit key) | AESNI | 3794 | 0.50 | 0.202 | 405 |
| AES/CBC (128-bit key) | AESNI | 910 | 2.10 | 0.160 | 320 |
| AES/CBC (192-bit key) | AESNI | 783 | 2.44 | 0.154 | 308 |
| AES/CBC (256-bit key) | AESNI | 690 | 2.76 | 0.171 | 342 |
| AES/XTS (256-bit key) | AESNI | 1126 | 1.69 | 0.274 | 549 |
| AES/XTS (384-bit key) | AESNI | 1072 | 1.78 | 0.263 | 525 |
| AES/XTS (512-bit key) | AESNI | 1040 | 1.83 | 0.303 | 607 |
| AES/OFB (128-bit key) | AESNI | 889 | 2.15 | 0.187 | 374 |
| AES/CFB (128-bit key) | AESNI | 906 | 2.11 | 0.219 | 437 |
| AES/ECB (128-bit key) | AESNI | 7058 | 0.27 | 0.090 | 179 |
| ARIA/CTR (128-bit key) | C++ | 125 | 15.32 | 0.213 | 426 |
| ARIA/CTR (256-bit key) | C++ | 96 | 19.89 | 0.229 | 459 |
| HIGHT/CTR (128-bit key) | C++ | 80 | 23.74 | 0.208 | 416 |
| Camellia/CTR (128-bit key) | C++ | 135 | 14.08 | 0.179 | 359 |
| Camellia/CTR (256-bit key) | C++ | 105 | 18.24 | 0.197 | 394 |
| Twofish/CTR (128-bit key) | C++ | 173 | 11.02 | 1.863 | 3726 |
| Threefish-256(256)/CTR (256-bit key) | C++ | 343 | 5.55 | 0.157 | 314 |
| Threefish-512(512)/CTR (512-bit key) | C++ | 429 | 4.45 | 0.159 | 317 |
| Threefish-1024(1024)/CTR (1024-bit key) | C++ | 334 | 5.72 | 0.169 | 338 |
| Serpent/CTR (128-bit key) | C++ | 79 | 24.2 | 0.498 | 995 |
| CAST-128/CTR (128-bit key) | C++ | 97 | 19.74 | 0.243 | 485 |
| CAST-256/CTR (256-bit key) | C++ | 103 | 18.59 | 1.118 | 2236 |
| RC6/CTR (128-bit key) | C++ | 209 | 9.13 | 1.522 | 3043 |
| MARS/CTR (128-bit key) | C++ | 159 | 12.03 | 0.805 | 1609 |
| SHACAL-2/CTR (128-bit key) | SHANI | 571 | 3.34 | 0.236 | 473 |
| SHACAL-2/CTR (512-bit key) | SHANI | 572 | 3.34 | 0.236 | 472 |
| DES/CTR (64-bit key) | C++ | 67 | 28.6 | 1.864 | 3728 |
| DES-XEX3/CTR (192-bit key) | C++ | 64 | 29.9 | 1.858 | 3717 |
| DES-EDE3/CTR (192-bit key) | C++ | 27 | 71.8 | 5.834 | 11668 |
| IDEA/CTR (128-bit key) | C++ | 86 | 22.24 | 0.198 | 397 |
| RC5 (r=16) | C++ | 197 | 9.66 | 1.189 | 2378 |
| Blowfish/CTR (128-bit key) | C++ | 114 | 16.74 | 33.786 | 67572 |
| SKIPJACK/CTR (80-bit key) | C++ | 32 | 59.4 | 1.997 | 3993 |
| SEED/CTR (1/2 K table) | C++ | 56 | 34.1 | 0.205 | 411 |
| SM4/CTR (128-bit key) | AESNI | 227 | 8.39 | 0.297 | 593 |
| Kalyna-128(128)/CTR (128-bit key) | C++ | 160 | 11.95 | 0.238 | 476 |
| Kalyna-128(256)/CTR (256-bit key) | C++ | 116 | 16.39 | 0.276 | 551 |
| Kalyna-256(256)/CTR (256-bit key) | C++ | 171 | 11.13 | 0.389 | 777 |
| Kalyna-256(512)/CTR (512-bit key) | C++ | 133 | 14.33 | 0.462 | 924 |
| Kalyna-512(512)/CTR (512-bit key) | C++ | 127 | 15.03 | 0.805 | 1610 |
| CHAM-64(128)/CTR (128-bit key) | C++ | 133 | 14.34 | 0.135 | 271 |
| CHAM-128(128)/CTR (128-bit key) | SSSE3 | 592 | 3.22 | 0.132 | 265 |
| CHAM-128(256)/CTR (256-bit key) | SSSE3 | 498 | 3.83 | 0.138 | 276 |
| LEA-128(128)/CTR (128-bit key) | SSSE3 | 796 | 2.40 | 0.184 | 367 |
| LEA-128(192)/CTR (192-bit key) | SSSE3 | 686 | 2.78 | 0.205 | 410 |
| LEA-128(256)/CTR (256-bit key) | SSSE3 | 590 | 3.23 | 0.212 | 425 |
| SIMECK-32(64)/CTR (64-bit key) | C++ | 61 | 31.1 | 0.311 | 621 |
| SIMECK-64(128)/CTR (128-bit key) | C++ | 92 | 20.70 | 0.341 | 683 |
| SIMON-64(96)/CTR (96-bit key) | C++ | 99 | 19.17 | 0.191 | 382 |
| SIMON-64(128)/CTR (128-bit key) | C++ | 96 | 19.89 | 0.216 | 433 |
| SIMON-128(128)/CTR (128-bit key) | SSSE3 | 303 | 6.29 | 0.407 | 815 |
| SIMON-128(192)/CTR (192-bit key) | SSSE3 | 303 | 6.30 | 0.425 | 850 |
| SIMON-128(256)/CTR (256-bit key) | SSSE3 | 291 | 6.54 | 0.447 | 894 |
| SPECK-64(96)/CTR (96-bit key) | C++ | 188 | 10.17 | 0.150 | 300 |
| SPECK-64(128)/CTR (128-bit key) | C++ | 188 | 10.12 | 0.149 | 298 |
| SPECK-128(128)/CTR (128-bit key) | SSSE3 | 1121 | 1.70 | 0.269 | 539 |
| SPECK-128(192)/CTR (192-bit key) | SSSE3 | 1089 | 1.75 | 0.263 | 526 |
| SPECK-128(256)/CTR (256-bit key) | SSSE3 | 1061 | 1.80 | 0.269 | 537 |
| TEA/CTR (128-bit key) | C++ | 62 | 30.8 | 0.146 | 291 |
| XTEA/CTR (128-bit key) | C++ | 64 | 29.9 | 0.145 | 289 |
| AES/GCM | AESNI | 2496 | 0.76 | 0.346 | 692 |
| AES/CCM (128-bit key) | AESNI | 766 | 2.49 | 0.248 | 496 |
| AES/EAX (128-bit key) | AESNI | 761 | 2.51 | 0.384 | 768 |
| ChaCha20/Poly1305 (256-bit key) | AVX2 | 583 | 3.27 | 0.716 | 1433 |
| XChaCha20/Poly1305 (256-bit key) | AVX2 | 582 | 3.28 | 0.960 | 1920 |
| Operation | Milliseconds/Operation | Megacycles/Operation |
|---|---|---|
| RSA 1024 Encryption | 0.012 | 0.024 |
| RSA 1024 Decryption | 0.253 | 0.507 |
| LUC 1024 Encryption | 0.013 | 0.026 |
| LUC 1024 Decryption | 0.433 | 0.866 |
| DLIES 1024 Encryption | 0.161 | 0.322 |
| DLIES 1024 Encryption with precomputation | 0.272 | 0.544 |
| DLIES 1024 Decryption | 0.205 | 0.410 |
| LUCELG 512 Encryption | 0.103 | 0.206 |
| LUCELG 512 Encryption with precomputation | 0.106 | 0.211 |
| LUCELG 512 Decryption | 0.105 | 0.209 |
| RSA 2048 Encryption | 0.027 | 0.053 |
| RSA 2048 Decryption | 1.123 | 2.246 |
| LUC 2048 Encryption | 0.030 | 0.060 |
| LUC 2048 Decryption | 1.903 | 3.806 |
| DLIES 2048 Encryption | 0.812 | 1.623 |
| DLIES 2048 Encryption with precomputation | 0.886 | 1.771 |
| DLIES 2048 Decryption | 0.742 | 1.484 |
| LUCELG 1024 Encryption | 0.365 | 0.729 |
| LUCELG 1024 Encryption with precomputation | 0.368 | 0.737 |
| LUCELG 1024 Decryption | 0.321 | 0.643 |
| RSA 1024 Signature | 0.257 | 0.514 |
| RSA 1024 Verification | 0.012 | 0.024 |
| RW 1024 Signature | 0.266 | 0.531 |
| RW 1024 Signature with precomputation | 0.261 | 0.523 |
| RW 1024 Verification | 0.008 | 0.015 |
| LUC 1024 Signature | 0.426 | 0.851 |
| LUC 1024 Verification | 0.013 | 0.026 |
| NR 1024 Signature | 0.084 | 0.169 |
| NR 1024 Signature with precomputation | 0.080 | 0.160 |
| NR 1024 Verification | 0.096 | 0.192 |
| NR 1024 Verification with precomputation | 0.133 | 0.266 |
| DSA 1024 Signature | 0.087 | 0.175 |
| DSA 1024 Signature with precomputation | 0.083 | 0.165 |
| DSA 1024 Verification | 0.099 | 0.199 |
| DSA 1024 Verification with precomputation | 0.134 | 0.267 |
| LUC-HMP 512 Signature | 0.102 | 0.203 |
| LUC-HMP 512 Signature with precomputation | 0.101 | 0.203 |
| LUC-HMP 512 Verification | 0.105 | 0.210 |
| LUC-HMP 512 Verification with precomputation | 0.104 | 0.208 |
| ESIGN 1023 Signature | 0.039 | 0.079 |
| ESIGN 1023 Verification | 0.011 | 0.022 |
| ESIGN 1536 Signature | 0.067 | 0.135 |
| ESIGN 1536 Verification | 0.022 | 0.045 |
| RSA 2048 Signature | 1.131 | 2.261 |
| RSA 2048 Verification | 0.027 | 0.054 |
| RW 2048 Signature | 1.170 | 2.341 |
| RW 2048 Signature with precomputation | 1.176 | 2.353 |
| RW 2048 Verification | 0.015 | 0.030 |
| LUC 2048 Signature | 1.885 | 3.770 |
| LUC 2048 Verification | 0.030 | 0.061 |
| NR 2048 Signature | 0.419 | 0.839 |
| NR 2048 Signature with precomputation | 0.203 | 0.406 |
| NR 2048 Verification | 0.468 | 0.936 |
| NR 2048 Verification with precomputation | 0.319 | 0.638 |
| LUC-HMP 1024 Signature | 0.373 | 0.746 |
| LUC-HMP 1024 Signature with precomputation | 0.367 | 0.734 |
| LUC-HMP 1024 Verification | 0.373 | 0.746 |
| LUC-HMP 1024 Verification with precomputation | 0.374 | 0.749 |
| ESIGN 2046 Signature | 0.087 | 0.174 |
| ESIGN 2046 Verification | 0.024 | 0.048 |
| XTR-DH 171 Key-Pair Generation | 0.150 | 0.301 |
| XTR-DH 171 Key Agreement | 0.294 | 0.589 |
| XTR-DH 342 Key-Pair Generation | 0.351 | 0.701 |
| XTR-DH 342 Key Agreement | 0.702 | 1.404 |
| DH 1024 Key-Pair Generation | 0.086 | 0.172 |
| DH 1024 Key-Pair Generation with precomputation | 0.138 | 0.277 |
| DH 1024 Key Agreement | 0.217 | 0.434 |
| DH 2048 Key-Pair Generation | 0.418 | 0.835 |
| DH 2048 Key-Pair Generation with precomputation | 0.456 | 0.912 |
| DH 2048 Key Agreement | 0.731 | 1.462 |
| LUCDIF 512 Key-Pair Generation | 0.055 | 0.110 |
| LUCDIF 512 Key-Pair Generation with precomputation | 0.055 | 0.109 |
| LUCDIF 512 Key Agreement | 0.110 | 0.220 |
| LUCDIF 1024 Key-Pair Generation | 0.187 | 0.374 |
| LUCDIF 1024 Key-Pair Generation with precomputation | 0.186 | 0.372 |
| LUCDIF 1024 Key Agreement | 0.319 | 0.638 |
| MQV 1024 Key-Pair Generation | 0.081 | 0.162 |
| MQV 1024 Key-Pair Generation with precomputation | 0.076 | 0.152 |
| MQV 1024 Key Agreement | 0.165 | 0.329 |
| MQV 2048 Key-Pair Generation | 0.408 | 0.817 |
| MQV 2048 Key-Pair Generation with precomputation | 0.184 | 0.368 |
| MQV 2048 Key Agreement | 0.766 | 1.531 |
| Operation | Milliseconds/Operation | Megacycles/Operation |
|---|---|---|
| ed25519 Signature | 0.021 | 0.041 |
| ed25519 Verification | 0.059 | 0.117 |
| x25519 Key-Pair Generation | 0.050 | 0.100 |
| x25519 Key Agreement | 0.050 | 0.100 |
| ECIES over GF(p) 256 Encryption | 1.199 | 2.398 |
| ECIES over GF(p) 256 Encryption with precomputation | 1.006 | 2.012 |
| ECIES over GF(p) 256 Decryption | 0.849 | 1.699 |
| ECDSA over GF(p) 256 Signature | 0.626 | 1.252 |
| ECDSA over GF(p) 256 Signature with precomputation | 0.535 | 1.070 |
| ECDSA over GF(p) 256 Verification | 2.179 | 4.357 |
| ECDSA over GF(p) 256 Verification with precomputation | 0.872 | 1.744 |
| ECDSA-RFC6979 over GF(p) 256 Signature | 0.589 | 1.179 |
| ECDSA-RFC6979 over GF(p) 256 Signature with precomputation | 0.508 | 1.016 |
| ECDSA-RFC6979 over GF(p) 256 Verification | 2.103 | 4.206 |
| ECDSA-RFC6979 over GF(p) 256 Verification with precomputation | 0.880 | 1.760 |
| ECGDSA over GF(p) 256 Signature | 1.190 | 2.381 |
| ECGDSA over GF(p) 256 Signature with precomputation | 1.017 | 2.034 |
| ECGDSA over GF(p) 256 Verification | 2.128 | 4.255 |
| ECGDSA over GF(p) 256 Verification with precomputation | 0.873 | 1.746 |
| ECDHC over GF(p) 256 Key-Pair Generation | 0.601 | 1.203 |
| ECDHC over GF(p) 256 Key-Pair Generation with precomputation | 0.502 | 1.003 |
| ECDHC over GF(p) 256 Key Agreement | 0.591 | 1.181 |
| ECMQVC over GF(p) 256 Key-Pair Generation | 0.591 | 1.181 |
| ECMQVC over GF(p) 256 Key-Pair Generation with precomputation | 0.503 | 1.006 |
| ECMQVC over GF(p) 256 Key Agreement | 2.119 | 4.237 |
| ECIES over GF(2^n) 233 Encryption | 2.670 | 5.340 |
| ECIES over GF(2^n) 233 Encryption with precomputation | 0.825 | 1.649 |
| ECIES over GF(2^n) 233 Decryption | 1.520 | 3.040 |
| ECDSA over GF(2^n) 233 Signature | 1.356 | 2.712 |
| ECDSA over GF(2^n) 233 Signature with precomputation | 0.430 | 0.859 |
| ECDSA over GF(2^n) 233 Verification | 1.691 | 3.381 |
| ECDSA over GF(2^n) 233 Verification with precomputation | 0.721 | 1.442 |
| ECDSA-RFC6979 over GF(2^n) 233 Signature | 1.384 | 2.768 |
| ECDSA-RFC6979 over GF(2^n) 233 Signature with precomputation | 0.432 | 0.864 |
| ECDSA-RFC6979 over GF(2^n) 233 Verification | 1.784 | 3.568 |
| ECDSA-RFC6979 over GF(2^n) 233 Verification with precomputation | 0.747 | 1.495 |
| ECGDSA over GF(2^n) 233 Signature | 2.845 | 5.690 |
| ECGDSA over GF(2^n) 233 Signature with precomputation | 0.839 | 1.679 |
| ECGDSA over GF(2^n) 233 Verification | 1.682 | 3.364 |
| ECGDSA over GF(2^n) 233 Verification with precomputation | 0.751 | 1.503 |
| ECDHC over GF(2^n) 233 Key-Pair Generation | 1.333 | 2.667 |
| ECDHC over GF(2^n) 233 Key-Pair Generation with precomputation | 0.417 | 0.835 |
| ECDHC over GF(2^n) 233 Key Agreement | 1.355 | 2.710 |
| ECMQVC over GF(2^n) 233 Key-Pair Generation | 1.331 | 2.661 |
| ECMQVC over GF(2^n) 233 Key-Pair Generation with precomputation | 0.416 | 0.832 |
| ECMQVC over GF(2^n) 233 Key Agreement | 1.664 | 3.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