what you don't know can hurt you
Home Files News &[SERVICES_TAB]About Contact Add New

benchmarks.html

benchmarks.html
Posted Dec 21, 1999

benchmarks.html

tags | encryption
SHA-256 | 7a338921b564baee522bdcdc10f9ba0be073c5b2a8957f90a81f0ab2cde40617

benchmarks.html

Change Mirror Download
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>Speed Comparison of Popular Crypto Algorithms</TITLE>
</HEAD>

<BODY>
<H1>Crypto++ 3.1 Benchmarks</H1>

<P>
Here are speed benchmarks for some of the most popular hash algorithms and
symmetric and asymmetric ciphers. All were coded in C++ or ported to
C++ from C implementations, compiled with Microsoft Visual C++ 6.0 SP2
(optimize for speed, Pentium Pro code generation), and ran on a Celeron
450MHz machine under Windows 2000 beta 3. No assembly language was used.
</P>

<TABLE border=1><COLGROUP><COL align=left><COL align=right><COL align=right><COL align=right>
<THEAD><TR><TH>Cipher<TH>Total Bytes<TH>Time<TH>Bytes/Second
<TBODY>
<TR><TH>MD2<TD>8388608<TD>21.01<TD>399267
<TR><TH>MD5<TD>2147483648<TD>37.534<TD>57214356
<TR><TH>SHA-1<TD>536870912<TD>21.12<TD>25420024
<TR><TH>HAVAL (pass=3)<TD>1073741824<TD>26.598<TD>40369268
<TR><TH>HAVAL (pass=4)<TD>1073741824<TD>36.343<TD>29544668
<TR><TH>HAVAL (pass=5)<TD>536870912<TD>22.532<TD>23827042
<TR><TH>Tiger<TD>536870912<TD>34.029<TD>15776865
<TR><TH>RIPE-MD160<TD>536870912<TD>22.232<TD>24148566
<TR><TH>MDC/MD5<TD>536870912<TD>34.72<TD>15462871
<TR><TH>Luby-Rackoff/MD5<TD>134217728<TD>27.65<TD>4854167
<TR><TH>DES<TD>268435456<TD>36.412<TD>7372170
<TR><TH>IDEA<TD>134217728<TD>21.01<TD>6388278
<TR><TH>RC2<TD>67108864<TD>22.643<TD>2963779
<TR><TH>RC5 (r=12)<TD>536870912<TD>20.629<TD>26025058
<TR><TH>Blowfish<TD>268435456<TD>29.783<TD>9013043
<TR><TH>Diamond2<TD>67108864<TD>22.202<TD>3022649
<TR><TH>Diamond2 Lite<TD>134217728<TD>37.144<TD>3613443
<TR><TH>3-WAY<TD>201326592<TD>20.519<TD>9811716
<TR><TH>TEA<TD>134217728<TD>24.115<TD>5565736
<TR><TH>SAFER (r=8)<TD>134217728<TD>25.416<TD>5280836
<TR><TH>GOST<TD>134217728<TD>25.727<TD>5216999
<TR><TH>SHARK (r=6)<TD>268435456<TD>20.981<TD>12794216
<TR><TH>CAST-128<TD>268435456<TD>29.762<TD>9019403
<TR><TH>Square<TD>536870912<TD>30.494<TD>17605788
<TR><TH>RC6<TD>536870912<TD>26.538<TD>20230270
<TR><TH>MARS<TD>536870912<TD>32.167<TD>16690115
<TR><TH>Rijndael<TD>268435456<TD>22.843<TD>11751322
<TR><TH>Twofish<TD>268435456<TD>26.398<TD>10168780
<TR><TH>Serpent<TD>268435456<TD>38.445<TD>6982324
<TR><TH>ARC4<TD>268435456<TD>20.499<TD>13095051
<TR><TH>SEAL<TD>2147483648<TD>35.161<TD>61075728
<TR><TH>WAKE<TD>1073741824<TD>24.906<TD>43111772
<TR><TH>Sapphire<TD>268435456<TD>39.426<TD>6808590
<TR><TH>MD5-MAC<TD>1073741824<TD>21.491<TD>49962396
<TR><TH>XMACC/MD5<TD>1073741824<TD>21.611<TD>49684968
<TR><TH>HMAC/MD5<TD>2147483648<TD>37.885<TD>56684276
<TR><TH>CBC-MAC/RC6<TD>536870912<TD>29.142<TD>18422582
<TR><TH>DMAC/RC6<TD>536870912<TD>29.472<TD>18216304
<TR><TH>BlumBlumShub 512<TD>524288<TD>20.249<TD>25892
<TR><TH>BlumBlumShub 1024<TD>262144<TD>24.415<TD>10737
<TR><TH>BlumBlumShub 2048<TD>131072<TD>34.27<TD>3824
</TABLE>
<TABLE border=1><COLGROUP><COL align=left><COL align=right><COL align=right><COL align=right>
<THEAD><TR><TH>Operation<TH>Iterations<TH>Total Time<TH>Milliseconds/Operation
<TBODY style="background: yellow">
<TR><TH>RSA 512 Encryption<TD>109491<TD>30<TD>0
<TR><TH>RSA 512 Decryption<TD>6886<TD>30<TD>4
<TR><TH>Rabin 512 Encryption<TD>17164<TD>30<TD>1
<TR><TH>Rabin 512 Decryption<TD>5128<TD>30<TD>5
<TR><TH>BlumGoldwasser 512 Encryption<TD>38882<TD>30<TD>0
<TR><TH>BlumGoldwasser 512 Decryption<TD>5667<TD>30<TD>5
<TR><TH>LUC 512 Encryption<TD>86813<TD>30<TD>0
<TR><TH>LUC 512 Decryption<TD>3411<TD>30<TD>8
<TR><TH>ElGamal 512 Encryption<TD>4257<TD>30<TD>7
<TR><TH>ElGamal 512 Encryption with precomputation<TD>7563<TD>30<TD>3
<TR><TH>ElGamal 512 Decryption<TD>8250<TD>30<TD>3
<TBODY style="background: white">
<TR><TH>RSA 1024 Encryption<TD>41051<TD>30<TD>0
<TR><TH>RSA 1024 Decryption<TD>1084<TD>30<TD>27
<TR><TH>Rabin 1024 Encryption<TD>7158<TD>30<TD>4
<TR><TH>Rabin 1024 Decryption<TD>959<TD>30<TD>31
<TR><TH>BlumGoldwasser 1024 Encryption<TD>16913<TD>30<TD>1
<TR><TH>BlumGoldwasser 1024 Decryption<TD>1014<TD>30<TD>29
<TR><TH>LUC 1024 Encryption<TD>31013<TD>30<TD>0
<TR><TH>LUC 1024 Decryption<TD>583<TD>30<TD>51
<TR><TH>ElGamal 1024 Encryption<TD>950<TD>30<TD>31
<TR><TH>ElGamal 1024 Encryption with precomputation<TD>2582<TD>30<TD>11
<TR><TH>ElGamal 1024 Decryption<TD>1861<TD>30<TD>16
<TR><TH>LUCELG 512 Encryption<TD>1952<TD>30<TD>15
<TR><TH>LUCELG 512 Decryption<TD>3601<TD>30<TD>8
<TBODY style="background: yellow">
<TR><TH>RSA 2048 Encryption<TD>13912<TD>30<TD>2
<TR><TH>RSA 2048 Decryption<TD>164<TD>30.2<TD>183
<TR><TH>Rabin 2048 Encryption<TD>2685<TD>30<TD>11
<TR><TH>Rabin 2048 Decryption<TD>158<TD>30.1<TD>190
<TR><TH>BlumGoldwasser 2048 Encryption<TD>5626<TD>30<TD>5
<TR><TH>BlumGoldwasser 2048 Decryption<TD>161<TD>30.2<TD>187
<TR><TH>LUC 2048 Encryption<TD>10278<TD>30<TD>2
<TR><TH>LUC 2048 Decryption<TD>93<TD>30.2<TD>324
<TR><TH>ElGamal 2048 Encryption<TD>210<TD>30<TD>142
<TR><TH>ElGamal 2048 Encryption with precomputation<TD>711<TD>30<TD>42
<TR><TH>ElGamal 2048 Decryption<TD>413<TD>30<TD>72
<TR><TH>LUCELG 1024 Encryption<TD>431<TD>30<TD>69
<TR><TH>LUCELG 1024 Decryption<TD>806<TD>30<TD>37
<TBODY style="background: white">
<TR><TH>RSA 512 Signature<TD>6919<TD>30<TD>4
<TR><TH>RSA 512 Verification<TD>113009<TD>30<TD>0
<TR><TH>Rabin 512 Signature<TD>4855<TD>30<TD>6
<TR><TH>Rabin 512 Verification<TD>16153<TD>30<TD>1
<TR><TH>RW 512 Signature<TD>5293<TD>30<TD>5
<TR><TH>RW 512 Verification<TD>375845<TD>30<TD>0
<TR><TH>LUC 512 Signature<TD>3392<TD>30<TD>8
<TR><TH>LUC 512 Verification<TD>89003<TD>30<TD>0
<TR><TH>NR 512 Signature<TD>8312<TD>30<TD>3
<TR><TH>NR 512 Signature with precomputation<TD>14585<TD>30<TD>2
<TR><TH>NR 512 Verification<TD>7190<TD>30<TD>4
<TR><TH>NR 512 Verification with precomputation<TD>8279<TD>30<TD>3
<TR><TH>DSA 512 Signature<TD>6318<TD>30<TD>4
<TR><TH>DSA 512 Signature with precomputation<TD>11306<TD>30<TD>2
<TR><TH>DSA 512 Verification<TD>5397<TD>30<TD>5
<TR><TH>DSA 512 Verification with precomputation<TD>6788<TD>30<TD>4
<TBODY style="background: yellow">
<TR><TH>RSA 1024 Signature<TD>1086<TD>30<TD>27
<TR><TH>RSA 1024 Verification<TD>43061<TD>30<TD>0
<TR><TH>Rabin 1024 Signature<TD>950<TD>30<TD>31
<TR><TH>Rabin 1024 Verification<TD>7203<TD>30<TD>4
<TR><TH>RW 1024 Signature<TD>970<TD>30<TD>30
<TR><TH>RW 1024 Verification<TD>187039<TD>30<TD>0
<TR><TH>LUC 1024 Signature<TD>583<TD>30<TD>51
<TR><TH>LUC 1024 Verification<TD>31682<TD>30<TD>0
<TR><TH>NR 1024 Signature<TD>1892<TD>30<TD>15
<TR><TH>NR 1024 Signature with precomputation<TD>5131<TD>30<TD>5
<TR><TH>NR 1024 Verification<TD>1601<TD>30<TD>18
<TR><TH>NR 1024 Verification with precomputation<TD>3190<TD>30<TD>9
<TR><TH>DSA 1024 Signature<TD>1950<TD>30<TD>15
<TR><TH>DSA 1024 Signature with precomputation<TD>5211<TD>30<TD>5
<TR><TH>DSA 1024 Verification<TD>1652<TD>30<TD>18
<TR><TH>DSA 1024 Verification with precomputation<TD>3183<TD>30<TD>9
<TR><TH>LUCELG 512 Signature<TD>3887<TD>30<TD>7
<TR><TH>LUCELG 512 Verification<TD>1952<TD>30<TD>15
<TBODY style="background: white">
<TR><TH>RSA 2048 Signature<TD>165<TD>30<TD>181
<TR><TH>RSA 2048 Verification<TD>14187<TD>30<TD>2
<TR><TH>Rabin 2048 Signature<TD>154<TD>30<TD>194
<TR><TH>Rabin 2048 Verification<TD>2769<TD>30<TD>10
<TR><TH>RW 2048 Signature<TD>156<TD>30.1<TD>192
<TR><TH>RW 2048 Verification<TD>69270<TD>30<TD>0
<TR><TH>LUC 2048 Signature<TD>93<TD>30.2<TD>324
<TR><TH>LUC 2048 Verification<TD>10337<TD>30<TD>2
<TR><TH>NR 2048 Signature<TD>415<TD>30<TD>72
<TR><TH>NR 2048 Signature with precomputation<TD>1416<TD>30<TD>21
<TR><TH>NR 2048 Verification<TD>373<TD>30<TD>80
<TR><TH>NR 2048 Verification with precomputation<TD>835<TD>30<TD>35
<TR><TH>LUCELG 1024 Signature<TD>861<TD>30<TD>34
<TR><TH>LUCELG 1024 Verification<TD>428<TD>30.1<TD>70
<TBODY style="background: yellow">
<TR><TH>DH 512 Key-Pair Generation<TD>8588<TD>30<TD>3
<TR><TH>DH 512 Key-Pair Generation with precomputation<TD>15315<TD>30<TD>1
<TR><TH>DH 512 Agreement<TD>5832<TD>30<TD>5
<TR><TH>DH 1024 Key-Pair Generation<TD>1924<TD>30<TD>15
<TR><TH>DH 1024 Key-Pair Generation with precomputation<TD>5254<TD>30<TD>5
<TR><TH>DH 1024 Agreement<TD>1512<TD>30<TD>19
<TR><TH>DH 2048 Key-Pair Generation<TD>421<TD>30<TD>71
<TR><TH>DH 2048 Key-Pair Generation with precomputation<TD>1438<TD>30<TD>20
<TR><TH>DH 2048 Agreement<TD>364<TD>30.1<TD>82
<TR><TH>MQV 512 Key-Pair Generation<TD>8591<TD>30<TD>3
<TR><TH>MQV 512 Key-Pair Generation with precomputation<TD>14891<TD>30<TD>2
<TR><TH>MQV 512 Key Agreement<TD>4600<TD>30<TD>6
<TR><TH>MQV 1024 Key-Pair Generation<TD>1918<TD>30<TD>15
<TR><TH>MQV 1024 Key-Pair Generation with precomputation<TD>5233<TD>30<TD>5
<TR><TH>MQV 1024 Key Agreement<TD>1042<TD>30.1<TD>28
<TR><TH>MQV 2048 Key-Pair Generation<TD>422<TD>30.1<TD>71
<TR><TH>MQV 2048 Key-Pair Generation with precomputation<TD>1434<TD>30<TD>20
<TR><TH>MQV 2048 Key Agreement<TD>238<TD>30.2<TD>127
<TBODY style="background: white">
<TR><TH>EC over GF(p) 168 Encryption<TD>941<TD>30<TD>31
<TR><TH>EC over GF(p) 168 Encryption with precomputation<TD>2083<TD>30<TD>14
<TR><TH>EC over GF(p) 168 Decryption<TD>1876<TD>30<TD>15
<TR><TH>EC over GF(p) 168 NR Signature<TD>1876<TD>30<TD>15
<TR><TH>EC over GF(p) 168 NR Signature with precomputation<TD>4120<TD>30<TD>7
<TR><TH>EC over GF(p) 168 NR Verification<TD>1094<TD>30<TD>27
<TR><TH>EC over GF(p) 168 NR Verification with precomputation<TD>2461<TD>30<TD>12
<TR><TH>EC over GF(p) 168 DHC Key-Pair Generation<TD>1881<TD>30<TD>15
<TR><TH>EC over GF(p) 168 DHC Key-Pair Generation with precomputation<TD>4150<TD>30<TD>7
<TR><TH>EC over GF(p) 168 DHC Agreement<TD>1880<TD>30<TD>15
<TR><TH>EC over GF(p) 168 MQVC Key-Pair Generation<TD>1880<TD>30<TD>15
<TR><TH>EC over GF(p) 168 MQVC Key-Pair Generation with precomputation<TD>4150<TD>30<TD>7
<TR><TH>EC over GF(p) 168 MQVC Key Agreement<TD>1048<TD>30<TD>28
<TBODY style="background: yellow">
<TR><TH>EC over GF(2^n) 155 Encryption<TD>767<TD>30<TD>39
<TR><TH>EC over GF(2^n) 155 Encryption with precomputation<TD>2279<TD>30<TD>13
<TR><TH>EC over GF(2^n) 155 Decryption<TD>1506<TD>30<TD>19
<TR><TH>EC over GF(2^n) 155 Signature<TD>1491<TD>30<TD>20
<TR><TH>EC over GF(2^n) 155 Signature with precomputation<TD>4516<TD>30<TD>6
<TR><TH>EC over GF(2^n) 155 Verification<TD>1224<TD>30<TD>24
<TR><TH>EC over GF(2^n) 155 Verification with precomputation<TD>2636<TD>30<TD>11
<TR><TH>EC over GF(2^n) 155 DHC Key-Pair Generation<TD>1536<TD>30<TD>19
<TR><TH>EC over GF(2^n) 155 DHC Key-Pair Generation with precomputation<TD>4556<TD>30<TD>6
<TR><TH>EC over GF(2^n) 155 DHC Agreement<TD>1530<TD>30<TD>19
<TR><TH>EC over GF(2^n) 155 MQVC Key-Pair Generation<TD>1533<TD>30<TD>19
<TR><TH>EC over GF(2^n) 155 MQVC Key-Pair Generation with precomputation<TD>4570<TD>30<TD>6
<TR><TH>EC over GF(2^n) 155 MQVC Key Agreement<TD>1202<TD>30<TD>24
</TABLE>

<H2>Notes</H2>
<UL>
<LI>
Crypto++ 3.1 Benchmark Average for this platform: <STRONG>1451.428</STRONG>. This number
is computed by taking the geometric mean of the number of bytes/second of each cipher,
hash function, and MAC, and operations/second of each crypto operation listed above.
<LI>
RSA and LUC use 17 as the public exponent.
<LI>
DH and ElGamal encryption and decryption use short exponents to save time.
The size of the secret exponents were chosen so that a meet-in-the-middle
attack would be slower than the general discrete log algorithm. The
sizes used were:
<TABLE>
<TR><TH>modulus<TH>exponent
<TR><TD>512 <TD>122
<TR><TD>1024 <TD>166
<TR><TD>2048 <TD>228
</TABLE>
<LI>
BlumGoldwasser is timed on a 16-byte plaintext. The lowest log(log(n))
bits of each square are used.
<LI>
EC means elliptic curve. Operations in GF(2^n) are implemented using
trinomial basis.
<LI>
All tests were done by repeating the crypto operations over small blocks
of random (and changing) data. In practice you will likely see slower
speeds because time is needed to transfer data to and from memory.
<LI>
For the ciphers that specify big endian byte order, the timing data
listed include time needed to convert to and from little endian
order. For some ciphers (WAKE and SHA) this is a large fraction (up
to 25%) of the total time.
<LI>
The RSA, RW, DH, MQV, and elliptic curve schemes come from the IEEE P1363 draft
standard. For more info see <A HREF="http://grouper.ieee.org/groups/1363/index.html">
http://grouper.ieee.org/groups/1363/index.html</A>.
<LI>
Precomputation means using a table of 16 precomputed powers of
each fixed base to speed up exponentiation.
<LI>
Tiger and SHARK are designed to take advantage of 64-bit word operations.
Their relatives speeds can be expected to be much higher if the benchmarks
were done on a 64-bit CPU.
<LI>
</UL>

<HR>
<ADDRESS>Written by: <A HREF="http://www.eskimo.com/~weidai/index.html">Wei Dai</A> <<A HREF="mailto:weidai@eskimo.com">weidai@eskimo.com</A>> Last modified: 4/30/1999</ADDRESS>
</BODY>
</HTML>
Login or Register to add favorites

File Archive:

May 2024

  • Su
  • Mo
  • Tu
  • We
  • Th
  • Fr
  • Sa
  • 1
    May 1st
    44 Files
  • 2
    May 2nd
    5 Files
  • 3
    May 3rd
    11 Files
  • 4
    May 4th
    0 Files
  • 5
    May 5th
    0 Files
  • 6
    May 6th
    28 Files
  • 7
    May 7th
    3 Files
  • 8
    May 8th
    4 Files
  • 9
    May 9th
    54 Files
  • 10
    May 10th
    12 Files
  • 11
    May 11th
    0 Files
  • 12
    May 12th
    0 Files
  • 13
    May 13th
    17 Files
  • 14
    May 14th
    11 Files
  • 15
    May 15th
    17 Files
  • 16
    May 16th
    13 Files
  • 17
    May 17th
    22 Files
  • 18
    May 18th
    0 Files
  • 19
    May 19th
    0 Files
  • 20
    May 20th
    17 Files
  • 21
    May 21st
    18 Files
  • 22
    May 22nd
    7 Files
  • 23
    May 23rd
    0 Files
  • 24
    May 24th
    0 Files
  • 25
    May 25th
    0 Files
  • 26
    May 26th
    0 Files
  • 27
    May 27th
    0 Files
  • 28
    May 28th
    0 Files
  • 29
    May 29th
    0 Files
  • 30
    May 30th
    0 Files
  • 31
    May 31st
    0 Files

Top Authors In Last 30 Days

File Tags

Systems

packet storm

© 2022 Packet Storm. All rights reserved.

Services
Security Services
Hosting By
Rokasec
close