VAMPIRE

eBACS: ECRYPT Benchmarking of Cryptographic Systems


ECRYPT II
General information:IntroductioneBASHeBASCeBAEADeBATSSUPERCOPXBXComputersArch
How to submit new software:Tipshashstreamaeaddhkemencryptsign
List of primitives measured:lwcsha3hashstreamlwccaesaraeaddhkemencryptsign
Measurements:lwcsha3hashstreamlwccaesaraeaddhkemencryptsign
List of subroutines:verifydecodeencodesortcorehashblocksxofscalarmult

Measurements of SHA-3 finalists on one machine: amd64; Core 2 65nm (6fb); 2007 Intel Core 2 Quad Q6600; 4 x 2404MHz; margaux, supercop-20240625

[Page version: 20240726 23:45:57]

eBASH (ECRYPT Benchmarking of All Submitted Hashes) is a project to measure the performance of hash functions. This page presents an excerpt of the full eBASH benchmark results. The excerpt contains SHA-2 and the SHA-3 finalists, including post-SHA-3 updates such as BLAKE2 and KangarooTwelve.

Each table row lists the first quartile of many speed measurements, the median of many speed measurements, the third quartile of many speed measurements, and the name of the primitive. Measurements with large variance are indicated in red with question marks. The symbol T: (starting with supercop-20200816) means that the SUPERCOP database at the time of benchmarking did not list constant time as a goal for this implementation. The symbol T!!! means that constant time was listed as a goal for this implementation, but that the implementation failed TIMECOP. (TIMECOP failures are not necessarily security issues; they can sometimes be resolved by, e.g., declaring that a rejection-sampling condition is safe to declassify.)

There is a separate page with more information about each hash function (and each implementation).


Implementation notes

Graphs: old (bytes,cycles)
Cycles/byte for long messages
25%50%75%hash
5.035.075.08T:blake2b
5.445.445.44T:k12
6.276.336.37T:skein512512
6.366.376.39T:skein512256
7.147.177.19T:blake64
7.227.297.34blake512
7.247.337.47T:keccakc256treed2
8.008.008.06T:blake2s
8.228.248.27T:skein256256
9.059.119.16T:bblake256
9.539.569.56T:blake32
9.589.639.66T:skein10241024
9.629.759.96sha512
9.749.769.77T:keccakc512treed2
9.709.779.84sha384
10.3110.3910.42shake128
11.1311.1411.14T:keccakc448
11.8811.8911.91T:keccakc512
11.8911.9511.98blake256
12.0912.0912.12sha3224
12.6312.6612.70T:keccak
12.8212.8512.85sha3256
12.8512.8712.92shake256
13.7313.7513.82sha256
13.7013.7513.82sha224
15.6915.7315.78T:keccakc768
17.0917.0917.10sha3384
17.6217.6317.65T:jh256
17.6017.6317.68T:jh384
17.6217.6517.65T:jh224
17.6217.6517.68T:jh512
20.8720.8920.91T:round3jh256
20.8320.9821.16T:round3jh512
21.8121.9622.02T:keccakc1024
23.7023.7123.72sha3512
32.0532.1132.25T:groestl256
47.9848.0148.14T:groestl512
Cycles/byte for 4096 bytes
25%50%75%hash
5.095.105.11T:blake2b
5.775.775.77T:k12
6.476.496.50T:skein512512
6.516.526.52T:skein512256
7.477.487.48T:blake64
7.627.657.66blake512
8.038.038.06T:blake2s
8.368.378.37T:skein256256
8.628.628.69T:keccakc256treed2
9.769.769.76T:blake32
9.9810.0010.02T:bblake256
10.0510.0610.07T:skein10241024
10.4510.4610.46T:keccakc512treed2
10.7610.7810.80sha384
10.7910.8110.90sha512
10.7810.8110.83shake128
11.6211.6211.62T:keccakc448
12.1512.1712.18blake256
12.3612.3612.37T:keccakc512
12.5412.5412.55sha3224
13.1413.1413.16T:keccak
13.2813.2913.29sha3256
13.2913.3013.33shake256
14.6414.6514.67sha224
14.6614.6714.70sha256
15.8115.8315.84T:keccakc768
17.1217.1217.13sha3384
17.9217.9217.93T:jh256
17.9217.9217.95T:jh384
17.9217.9317.93T:jh224
17.9317.9317.95T:jh512
21.2421.2421.25T:round3jh256
21.2821.3121.38T:round3jh512
22.3522.4122.41T:keccakc1024
24.1624.1624.16sha3512
32.9932.9933.05T:groestl256
50.3350.3350.39T:groestl512
Cycles/byte for 1536 bytes
25%50%75%hash
5.165.165.18T:blake2b
6.306.306.31T:k12
6.746.766.76T:skein512512
6.766.776.77T:skein512256
7.987.998.01T:blake64
8.088.098.09T:blake2s
8.228.248.28blake512
8.578.578.58T:skein256256
9.989.9910.04T:keccakc256treed2
10.0910.1010.11T:blake32
10.7310.7310.76T:skein10241024
11.4611.4911.54T:bblake256
11.5411.5411.57shake128
11.6311.6311.63T:keccakc512treed2
11.9011.9111.92T:keccakc448
12.4412.4612.48sha384
12.5312.5512.56blake256
12.5212.6112.66sha512
12.7112.7112.71sha3224
12.8812.8912.90T:keccakc512
13.7413.7413.76sha3256
13.7513.7513.75shake256
13.9413.9513.98T:keccak
15.9815.9916.02T:keccakc768
16.1216.1316.16sha224
16.1916.2016.22sha256
17.1717.1717.17sha3384
18.4018.4118.41T:jh224
18.4018.4118.42T:jh256
18.4118.4118.45T:jh384
18.4118.4318.44T:jh512
21.8421.8421.85T:round3jh256
21.8121.8721.89T:round3jh512
23.1123.1923.20T:keccakc1024
24.9024.9124.91sha3512
34.3834.4034.49T:groestl256
54.1254.1754.18T:groestl512
Cycles/byte for 576 bytes
25%50%75%hash
5.865.865.86T:blake2b
7.147.147.15T:k12
7.407.437.48T:skein512256
7.447.447.47T:skein512512
8.228.248.24T:blake2s
8.548.568.59T:blake64
9.109.129.12T:skein256256
9.239.289.37blake512
11.0111.0311.06T:blake32
12.5012.5012.52shake128
13.5913.5913.61blake256
13.6413.6913.71T:keccakc256treed2
13.7213.7313.76T:skein10241024
14.6314.6414.64T:keccakc512
14.6414.6514.70T:keccak
14.7414.7414.74T:keccakc448
15.3415.3615.42sha3256
15.3715.3715.39shake256
15.4115.4115.42sha3224
15.7515.7815.87T:bblake256
15.9115.9616.04sha384
16.2416.2816.33sha512
17.4417.4417.46T:keccakc768
17.9417.9417.94T:keccakc512treed2
18.4418.4518.45sha3384
19.6419.6419.73T:jh224
19.6419.6419.73T:jh256
19.6619.7519.78T:jh512
19.7619.7619.84T:jh384
20.0220.1320.15sha224
20.2320.2720.29sha256
23.3823.3823.38T:round3jh256
23.3923.4223.46T:round3jh512
25.6525.6525.67T:keccakc1024
27.2627.2927.33sha3512
38.1538.1838.20T:groestl256
59.0159.0359.05T:groestl512
Cycles/byte for 64 bytes
25%50%75%hash
9.389.479.52T:blake2s
11.4811.4811.48T:blake2b
15.2215.3115.42T:skein512256
15.8915.9115.94T:skein512512
15.8615.9815.98T:skein256256
18.6718.6718.92T:blake64
20.4720.6220.84T:k12
22.9723.0823.67T:blake32
24.2724.2724.53blake512
26.8627.0527.19blake256
28.5328.5328.83sha3512
28.6428.6428.73sha3256
28.6928.6928.84sha3224
28.9228.9429.02shake256
29.3129.3329.55T:keccakc1024
29.3829.3829.38sha3384
29.4829.5029.52shake128
29.8630.0030.61T:keccak
30.1430.1930.28T:keccakc512
30.2830.3130.39T:keccakc768
30.4230.5830.70T:keccakc448
36.6236.6236.64T:jh224
36.6236.6236.67T:jh256
36.7236.7337.12T:jh384
36.8136.8337.20T:jh512
43.1143.1243.47T:round3jh256
42.8843.1643.23T:round3jh512
43.8044.0644.17T:skein10241024
63.7564.2864.61sha384
65.6166.2067.95sha512
69.1669.3669.45T:bblake256
70.4870.5871.00sha224
71.5071.7772.06sha256
83.3983.3983.75T:keccakc256treed2
83.7583.7583.83T:keccakc512treed2
84.8385.0685.28T:groestl256
145.25145.31145.52T:groestl512
Cycles/byte for 8 bytes
25%50%75%hash
75.7576.6277.62T:blake2s
91.7591.7591.75T:blake2b
91.6292.3892.88T:skein256256
107.12107.88113.38T:blake32
118.38119.62121.00blake256
120.25120.88122.25T:skein512256
125.62125.88126.12T:skein512512
150.88152.62152.75T:blake64
163.38163.38164.25T:k12
191.50191.50191.50blake512
228.00228.00228.50sha3256
228.00228.00230.88sha3224
228.50228.50229.88sha3512
230.38230.38230.38shake256
231.50231.50231.50sha3384
233.00233.25233.25shake128
236.00237.25238.00T:keccakc1024
239.50239.75241.12T:keccakc512
239.50241.50249.75T:keccak
242.62243.12243.50T:keccakc768
243.75243.88245.12T:keccakc448
295.50297.12297.12T:jh224
295.88297.38297.38T:jh256
296.00297.88297.88T:jh384
297.62298.75300.50T:jh512
346.88347.38348.88T:round3jh256
346.75347.88348.12T:round3jh512
349.75351.50352.00T:skein10241024
416.62417.62418.75T:groestl256
449.62451.62453.62sha224
457.12457.88458.62T:bblake256
458.62459.50460.88sha256
509.25512.88516.88sha384
527.62535.50539.50sha512
664.62664.62669.62T:keccakc256treed2
668.88669.75669.75T:keccakc512treed2
1163.501164.881166.75T:groestl512