cryptopp/benchmarks-byteblock.html

219 lines
11 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>
<TITLE>Speed Comparison of Popular Crypto Algorithms</TITLE>
</HEAD>
<BODY>
<H1><a href="http://www.cryptopp.com">Crypto++</a> 5.6.5 Benchmarks</H1>
<P>Here are speed benchmarks for some commonly used cryptographic algorithms.</P>
CPU frequency of the test platform is 1.81899e+09 Hz.
<TABLE border=1><COLGROUP><COL align=left><COL align=right><COL align=right><COL align=right><COL align=right>
<THEAD><TR><TH>Algorithm<TH>MiB/Second<TH>Cycles Per Byte<TH>Microseconds to<br>Setup Key and IV<TH>Cycles to<br>Setup Key and IV
<TBODY style="background: yellow">
<TR><TH>AES/GCM (2K tables)<TD>218<TD>7.9<TD>0.769<TD>1399
<TR><TH>AES/GCM (64K tables)<TD>235<TD>7.4<TD>3.677<TD>6689
<TR><TH>AES/CCM (128-bit key)<TD>125<TD>13.9<TD>0.308<TD>560
<TR><TH>AES/EAX (128-bit key)<TD>125<TD>13.8<TD>0.628<TD>1142
<TBODY style="background: white">
<TR><TH>GMAC(AES) (2K tables)<TD>851<TD>2.0<TD>0.767<TD>1395
<TR><TH>GMAC(AES) (64K tables)<TD>1234<TD>1.4<TD>3.678<TD>6690
<TR><TH>VMAC(AES)-64 (128-bit key)<TD>7822<TD>0.2<TD>1.191<TD>2167
<TR><TH>VMAC(AES)-128 (128-bit key)<TD>4186<TD>0.4<TD>1.439<TD>2617
<TR><TH>HMAC(SHA-1) (128-bit key)<TD>264<TD>6.6<TD>0.260<TD>473
<TR><TH>Two-Track-MAC (160-bit key)<TD>213<TD>8.2<TD>0.015<TD>27
<TR><TH>CMAC(AES) (128-bit key)<TD>220<TD>7.9<TD>0.228<TD>415
<TR><TH>DMAC(AES) (128-bit key)<TD>221<TD>7.8<TD>0.717<TD>1304
<TR><TH>BLAKE2s (256-bit key)<TD>568<TD>3.1<TD>0.249<TD>453
<TR><TH>BLAKE2b (512-bit key)<TD>752<TD>2.3<TD>0.301<TD>548
<TBODY style="background: yellow">
<TR><TH>CRC32<TD>435<TD>4.0
<TR><TH>CRC32C<TD>4258<TD>0.4
<TR><TH>Adler32<TD>1316<TD>1.3
<TR><TH>MD5<TD>531<TD>3.3
<TR><TH>SHA-1<TD>267<TD>6.5
<TR><TH>SHA-256<TD>186<TD>9.3
<TR><TH>SHA-512<TD>234<TD>7.4
<TR><TH>Keccak-224<TD>157<TD>11.0
<TR><TH>Keccak-256<TD>149<TD>11.7
<TR><TH>Keccak-384<TD>114<TD>15.2
<TR><TH>Keccak-512<TD>79<TD>22.0
<TR><TH>SHA3-224<TD>157<TD>11.0
<TR><TH>SHA3-256<TD>149<TD>11.7
<TR><TH>SHA3-384<TD>114<TD>15.2
<TR><TH>SHA3-512<TD>79<TD>21.9
<TR><TH>Tiger<TD>432<TD>4.0
<TR><TH>Whirlpool<TD>134<TD>12.9
<TR><TH>RIPEMD-160<TD>216<TD>8.0
<TR><TH>RIPEMD-320<TD>232<TD>7.5
<TR><TH>RIPEMD-128<TD>319<TD>5.4
<TR><TH>RIPEMD-256<TD>344<TD>5.0
<TR><TH>BLAKE2s<TD>569<TD>3.0
<TR><TH>BLAKE2b<TD>753<TD>2.3
<TBODY style="background: white">
<TR><TH>Panama-LE (256-bit key)<TD>1614<TD>1.1<TD>0.777<TD>1414
<TR><TH>Panama-BE (256-bit key)<TD>685<TD>2.5<TD>1.428<TD>2597
<TR><TH>Salsa20 (256-bit key)<TD>210<TD>8.3<TD>0.144<TD>261
<TR><TH>Salsa20/12<TD>332<TD>5.2<TD>0.167<TD>303
<TR><TH>Salsa20/8<TD>471<TD>3.7<TD>0.166<TD>301
<TR><TH>ChaCha20 (256-bit key)<TD>324<TD>5.3<TD>0.090<TD>164
<TR><TH>ChaCha12 (256-bit key)<TD>523<TD>3.3<TD>0.093<TD>169
<TR><TH>ChaCha8 (256-bit key)<TD>712<TD>2.4<TD>0.092<TD>167
<TR><TH>Sosemanuk (128-bit key)<TD>1261<TD>1.4<TD>0.474<TD>863
<TR><TH>MARC4 (128-bit key)<TD>386<TD>4.5<TD>1.407<TD>2558
<TR><TH>SEAL-3.0-LE (160-bit key)<TD>642<TD>2.7<TD>37.378<TD>67990
<TR><TH>WAKE-OFB-LE (256-bit key)<TD>328<TD>5.3<TD>1.728<TD>3143
<TBODY style="background: yellow">
<TR><TH>AES/CTR (128-bit key)<TD>289<TD>6.0<TD>0.243<TD>443
<TR><TH>AES/CTR (192-bit key)<TD>239<TD>7.3<TD>0.246<TD>447
<TR><TH>AES/CTR (256-bit key)<TD>201<TD>8.6<TD>0.261<TD>476
<TR><TH>AES/CBC (128-bit key)<TD>221<TD>7.9<TD>0.185<TD>336
<TR><TH>AES/CBC (192-bit key)<TD>189<TD>9.2<TD>0.187<TD>341
<TR><TH>AES/CBC (256-bit key)<TD>164<TD>10.6<TD>0.203<TD>370
<TR><TH>AES/OFB (128-bit key)<TD>214<TD>8.1<TD>0.236<TD>430
<TR><TH>AES/CFB (128-bit key)<TD>220<TD>7.9<TD>0.345<TD>627
<TR><TH>AES/ECB (128-bit key)<TD>230<TD>7.5<TD>0.093<TD>168
<TR><TH>Camellia/CTR (128-bit key)<TD>117<TD>14.9<TD>0.228<TD>415
<TR><TH>Camellia/CTR (256-bit key)<TD>92<TD>18.9<TD>0.252<TD>459
<TR><TH>Twofish/CTR (128-bit key)<TD>145<TD>12.0<TD>2.580<TD>4693
<TR><TH>Serpent/CTR (128-bit key)<TD>69<TD>25.1<TD>0.466<TD>848
<TR><TH>CAST-256/CTR (128-bit key)<TD>74<TD>23.4<TD>1.229<TD>2235
<TR><TH>RC6/CTR (128-bit key)<TD>121<TD>14.3<TD>2.033<TD>3699
<TR><TH>MARS/CTR (128-bit key)<TD>83<TD>20.9<TD>1.508<TD>2743
<TR><TH>SHACAL-2/CTR (128-bit key)<TD>114<TD>15.2<TD>0.311<TD>565
<TR><TH>SHACAL-2/CTR (512-bit key)<TD>115<TD>15.1<TD>0.319<TD>581
<TR><TH>DES/CTR (64-bit key)<TD>61<TD>28.3<TD>2.567<TD>4669
<TR><TH>DES-XEX3/CTR (192-bit key)<TD>57<TD>30.3<TD>2.586<TD>4703
<TR><TH>DES-EDE3/CTR (192-bit key)<TD>24<TD>73.3<TD>8.178<TD>14876
<TR><TH>IDEA/CTR (128-bit key)<TD>71<TD>24.4<TD>0.260<TD>473
<TR><TH>RC5 (r=16)<TD>105<TD>16.5<TD>1.586<TD>2885
<TR><TH>Blowfish/CTR (128-bit key)<TD>105<TD>16.5<TD>36.777<TD>66898
<TR><TH>TEA/CTR (128-bit key)<TD>59<TD>29.2<TD>0.212<TD>385
<TR><TH>XTEA/CTR (128-bit key)<TD>58<TD>29.8<TD>0.212<TD>386
<TR><TH>CAST-128/CTR (128-bit key)<TD>83<TD>20.9<TD>0.344<TD>626
<TR><TH>SKIPJACK/CTR (80-bit key)<TD>36<TD>48.6<TD>1.823<TD>3317
<TR><TH>SEED/CTR (1/2 K table)<TD>53<TD>32.4<TD>0.286<TD>520</TABLE>
<TABLE border=1><COLGROUP><COL align=left><COL align=right><COL align=right>
<THEAD><TR><TH>Operation<TH>Milliseconds/Operation<TH>Megacycles/Operation
<TBODY style="background: yellow">
<TR><TH>RSA 1024 Encryption<TD>0.02<TD>0.04
<TR><TH>RSA 1024 Decryption<TD>0.34<TD>0.62
<TR><TH>LUC 1024 Encryption<TD>0.02<TD>0.04
<TR><TH>LUC 1024 Decryption<TD>0.55<TD>1.00
<TR><TH>DLIES 1024 Encryption<TD>0.22<TD>0.41
<TR><TH>DLIES 1024 Encryption with precomputation<TD>0.42<TD>0.76
<TR><TH>DLIES 1024 Decryption<TD>0.31<TD>0.57
<TR><TH>LUCELG 512 Encryption<TD>0.14<TD>0.25
<TR><TH>LUCELG 512 Encryption with precomputation<TD>0.14<TD>0.25
<TR><TH>LUCELG 512 Decryption<TD>0.15<TD>0.27
<TBODY style="background: white">
<TR><TH>RSA 2048 Encryption<TD>0.04<TD>0.07
<TR><TH>RSA 2048 Decryption<TD>1.54<TD>2.80
<TR><TH>LUC 2048 Encryption<TD>0.05<TD>0.08
<TR><TH>LUC 2048 Decryption<TD>2.56<TD>4.67
<TR><TH>DLIES 2048 Encryption<TD>1.07<TD>1.95
<TR><TH>DLIES 2048 Encryption with precomputation<TD>1.22<TD>2.22
<TR><TH>DLIES 2048 Decryption<TD>1.03<TD>1.88
<TR><TH>LUCELG 1024 Encryption<TD>0.50<TD>0.90
<TR><TH>LUCELG 1024 Encryption with precomputation<TD>0.49<TD>0.90
<TR><TH>LUCELG 1024 Decryption<TD>0.43<TD>0.78
<TBODY style="background: yellow">
<TR><TH>RSA 1024 Signature<TD>0.34<TD>0.62
<TR><TH>RSA 1024 Verification<TD>0.02<TD>0.04
<TR><TH>RW 1024 Signature<TD>0.37<TD>0.66
<TR><TH>RW 1024 Signature with precomputation<TD>0.37<TD>0.67
<TR><TH>RW 1024 Verification<TD>0.01<TD>0.02
<TR><TH>LUC 1024 Signature<TD>0.55<TD>1.00
<TR><TH>LUC 1024 Verification<TD>0.02<TD>0.04
<TR><TH>NR 1024 Signature<TD>0.12<TD>0.21
<TR><TH>NR 1024 Signature with precomputation<TD>0.12<TD>0.21
<TR><TH>NR 1024 Verification<TD>0.13<TD>0.24
<TR><TH>NR 1024 Verification with precomputation<TD>0.19<TD>0.34
<TR><TH>DSA 1024 Signature<TD>0.12<TD>0.22
<TR><TH>DSA 1024 Signature with precomputation<TD>0.12<TD>0.22
<TR><TH>DSA 1024 Verification<TD>0.14<TD>0.25
<TR><TH>DSA 1024 Verification with precomputation<TD>0.18<TD>0.34
<TR><TH>LUC-HMP 512 Signature<TD>0.13<TD>0.24
<TR><TH>LUC-HMP 512 Signature with precomputation<TD>0.13<TD>0.24
<TR><TH>LUC-HMP 512 Verification<TD>0.13<TD>0.25
<TR><TH>LUC-HMP 512 Verification with precomputation<TD>0.14<TD>0.25
<TR><TH>ESIGN 1023 Signature<TD>0.06<TD>0.11
<TR><TH>ESIGN 1023 Verification<TD>0.02<TD>0.03
<TR><TH>ESIGN 1536 Signature<TD>0.09<TD>0.17
<TR><TH>ESIGN 1536 Verification<TD>0.03<TD>0.06
<TBODY style="background: white">
<TR><TH>RSA 2048 Signature<TD>1.54<TD>2.81
<TR><TH>RSA 2048 Verification<TD>0.04<TD>0.07
<TR><TH>RW 2048 Signature<TD>1.58<TD>2.88
<TR><TH>RW 2048 Signature with precomputation<TD>1.59<TD>2.89
<TR><TH>RW 2048 Verification<TD>0.02<TD>0.04
<TR><TH>LUC 2048 Signature<TD>2.57<TD>4.68
<TR><TH>LUC 2048 Verification<TD>0.04<TD>0.08
<TR><TH>NR 2048 Signature<TD>0.54<TD>0.99
<TR><TH>NR 2048 Signature with precomputation<TD>0.27<TD>0.50
<TR><TH>NR 2048 Verification<TD>0.61<TD>1.11
<TR><TH>NR 2048 Verification with precomputation<TD>0.43<TD>0.79
<TR><TH>LUC-HMP 1024 Signature<TD>0.49<TD>0.90
<TR><TH>LUC-HMP 1024 Signature with precomputation<TD>0.50<TD>0.91
<TR><TH>LUC-HMP 1024 Verification<TD>0.50<TD>0.91
<TR><TH>LUC-HMP 1024 Verification with precomputation<TD>0.50<TD>0.91
<TR><TH>ESIGN 2046 Signature<TD>0.12<TD>0.21
<TR><TH>ESIGN 2046 Verification<TD>0.04<TD>0.06
<TBODY style="background: yellow">
<TR><TH>XTR-DH 171 Key-Pair Generation<TD>0.16<TD>0.30
<TR><TH>XTR-DH 171 Key Agreement<TD>0.32<TD>0.59
<TR><TH>XTR-DH 342 Key-Pair Generation<TD>0.42<TD>0.77
<TR><TH>XTR-DH 342 Key Agreement<TD>0.85<TD>1.54
<TR><TH>DH 1024 Key-Pair Generation<TD>0.12<TD>0.21
<TR><TH>DH 1024 Key-Pair Generation with precomputation<TD>0.22<TD>0.39
<TR><TH>DH 1024 Key Agreement<TD>0.31<TD>0.56
<TR><TH>DH 2048 Key-Pair Generation<TD>0.55<TD>1.00
<TR><TH>DH 2048 Key-Pair Generation with precomputation<TD>0.63<TD>1.15
<TR><TH>DH 2048 Key Agreement<TD>1.04<TD>1.90
<TR><TH>LUCDIF 512 Key-Pair Generation<TD>0.07<TD>0.13
<TR><TH>LUCDIF 512 Key-Pair Generation with precomputation<TD>0.07<TD>0.13
<TR><TH>LUCDIF 512 Key Agreement<TD>0.15<TD>0.27
<TR><TH>LUCDIF 1024 Key-Pair Generation<TD>0.26<TD>0.47
<TR><TH>LUCDIF 1024 Key-Pair Generation with precomputation<TD>0.25<TD>0.46
<TR><TH>LUCDIF 1024 Key Agreement<TD>0.43<TD>0.79
<TR><TH>MQV 1024 Key-Pair Generation<TD>0.12<TD>0.21
<TR><TH>MQV 1024 Key-Pair Generation with precomputation<TD>0.11<TD>0.21
<TR><TH>MQV 1024 Key Agreement<TD>0.22<TD>0.41
<TR><TH>MQV 2048 Key-Pair Generation<TD>0.55<TD>1.00
<TR><TH>MQV 2048 Key-Pair Generation with precomputation<TD>0.27<TD>0.49
<TR><TH>MQV 2048 Key Agreement<TD>0.99<TD>1.79
<TBODY style="background: white">
<TR><TH>ECIES over GF(p) 256 Encryption<TD>1.40<TD>2.55
<TR><TH>ECIES over GF(p) 256 Encryption with precomputation<TD>1.18<TD>2.15
<TR><TH>ECIES over GF(p) 256 Decryption<TD>0.99<TD>1.80
<TR><TH>ECDSA over GF(p) 256 Signature<TD>0.71<TD>1.30
<TR><TH>ECDSA over GF(p) 256 Signature with precomputation<TD>0.61<TD>1.11
<TR><TH>ECDSA over GF(p) 256 Verification<TD>2.49<TD>4.53
<TR><TH>ECDSA over GF(p) 256 Verification with precomputation<TD>1.01<TD>1.83
<TR><TH>ECDHC over GF(p) 256 Key-Pair Generation<TD>0.70<TD>1.27
<TR><TH>ECDHC over GF(p) 256 Key-Pair Generation with precomputation<TD>0.60<TD>1.09
<TR><TH>ECDHC over GF(p) 256 Key Agreement<TD>0.72<TD>1.31
<TR><TH>ECMQVC over GF(p) 256 Key-Pair Generation<TD>0.70<TD>1.28
<TR><TH>ECMQVC over GF(p) 256 Key-Pair Generation with precomputation<TD>0.60<TD>1.08
<TR><TH>ECMQVC over GF(p) 256 Key Agreement<TD>2.48<TD>4.51<TBODY style="background: yellow">
<TR><TH>ECIES over GF(2^n) 233 Encryption<TD>7.71<TD>14.03
<TR><TH>ECIES over GF(2^n) 233 Encryption with precomputation<TD>2.13<TD>3.87
<TR><TH>ECIES over GF(2^n) 233 Decryption<TD>4.34<TD>7.90
<TR><TH>ECDSA over GF(2^n) 233 Signature<TD>3.88<TD>7.07
<TR><TH>ECDSA over GF(2^n) 233 Signature with precomputation<TD>1.09<TD>1.98
<TR><TH>ECDSA over GF(2^n) 233 Verification<TD>4.71<TD>8.57
<TR><TH>ECDSA over GF(2^n) 233 Verification with precomputation<TD>1.83<TD>3.33
<TR><TH>ECDHC over GF(2^n) 233 Key-Pair Generation<TD>3.83<TD>6.97
<TR><TH>ECDHC over GF(2^n) 233 Key-Pair Generation with precomputation<TD>1.07<TD>1.94
<TR><TH>ECDHC over GF(2^n) 233 Key Agreement<TD>3.90<TD>7.09
<TR><TH>ECMQVC over GF(2^n) 233 Key-Pair Generation<TD>3.84<TD>6.98
<TR><TH>ECMQVC over GF(2^n) 233 Key-Pair Generation with precomputation<TD>1.06<TD>1.93
<TR><TH>ECMQVC over GF(2^n) 233 Key Agreement<TD>4.81<TD>8.75</TABLE>
Throughput Geometric Average: 997.032044
Test ended at Tue Sep 27 01:43:06 2016
</BODY>
</HTML>