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; Bonnell (30661); 2011 Intel Atom D2500; 2 x 1866MHz; h8atom, supercop-20240425

[Page version: 20240724 17:32:27]

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
7.317.327.33T:blake2b
9.639.659.66T:skein512256
9.719.749.77T:k12
9.749.759.76T:skein512512
11.2511.2511.26T:skein256256
11.7311.7411.74T:blake2s
12.0912.1012.21T:blake32
12.1312.1412.15T:blake64
13.2113.2213.23blake512
14.0914.0914.10blake256
14.1814.2414.33sha512
14.1414.2914.43sha384
14.7614.7714.77T:keccakc256treed2
15.8615.8615.86T:bblake256
17.8717.8817.88T:skein10241024
18.3218.4018.49sha224
18.3718.4618.61sha256
18.5618.5718.58shake128
19.7119.7119.71T:keccakc512treed2
20.9820.9921.00T:keccakc448
21.5421.5521.57sha3224
22.4322.4422.45T:keccakc512
23.0823.0823.08sha3256
23.0723.0823.09shake256
24.0624.0724.09T:keccak
28.0828.0928.10T:jh256
28.0928.1028.10T:jh512
28.0928.1028.10T:jh224
28.0928.1028.10T:jh384
29.9429.9429.95T:keccakc768
30.2730.2830.29T:round3jh512
30.2730.2830.29T:round3jh256
30.6630.6730.68sha3384
41.9041.9141.93T:keccakc1024
42.7842.7842.80sha3512
86.0386.2587.79T:groestl256
130.04131.66131.84T:groestl512
Cycles/byte for 4096 bytes
25%50%75%hash
7.377.377.37T:blake2b
9.869.869.87T:skein512256
9.999.9910.00T:skein512512
10.3510.3510.36T:k12
11.4511.4511.45T:skein256256
11.7611.7611.77T:blake2s
12.4112.4212.47T:blake32
12.6512.6512.65T:blake64
13.7413.7413.75blake512
14.4314.4314.44blake256
16.5416.5616.59sha512
16.5816.6016.65sha384
17.1817.1817.18T:bblake256
17.4517.4517.45T:keccakc256treed2
18.6318.6318.64T:skein10241024
19.4119.4119.41shake128
20.4320.4420.46sha224
20.4320.4420.50sha256
21.1921.1921.19T:keccakc512treed2
21.9821.9821.98T:keccakc448
22.3622.3622.36sha3224
23.4323.4323.43T:keccakc512
23.8823.8823.88sha3256
23.8923.8923.89shake256
25.0025.0125.01T:keccak
28.5828.5828.58T:jh256
28.5828.5828.58T:jh224
28.5828.5928.59T:jh384
28.5928.5928.59T:jh512
30.1430.1530.15T:keccakc768
30.7130.7130.72sha3384
30.8130.8130.82T:round3jh256
30.8230.8230.83T:round3jh512
42.8642.8742.88T:keccakc1024
43.5943.5943.60sha3512
88.2388.2989.03T:groestl256
138.09138.16138.23T:groestl512
Cycles/byte for 1536 bytes
25%50%75%hash
7.437.447.44T:blake2b
10.2110.2210.23T:skein512256
10.4010.4010.41T:skein512512
11.3811.3811.42T:k12
11.7911.7911.79T:skein256256
11.8111.8111.81T:blake2s
12.9412.9412.94T:blake32
13.4913.4913.50T:blake64
14.6114.6114.62blake512
15.0015.0015.00blake256
19.3619.3619.37T:bblake256
19.8919.9019.90T:skein10241024
20.3420.3420.34T:keccakc256treed2
20.3320.4020.44sha512
20.3920.4420.48sha384
20.7920.8020.80shake128
22.6322.6322.63T:keccakc448
22.6822.6822.69sha3224
23.6623.6623.66T:keccakc512treed2
23.7123.7523.79sha256
23.7923.9023.94sha224
24.5824.5824.59T:keccakc512
24.7024.7024.71sha3256
24.7324.7424.74shake256
26.5526.5726.58T:keccak
29.3829.3829.38T:jh256
29.4029.4029.40T:jh224
29.4029.4129.58T:jh384
29.4129.4129.42T:jh512
30.4730.4830.48T:keccakc768
30.7930.7930.80sha3384
31.7031.7031.71T:round3jh256
31.7331.7331.74T:round3jh512
44.4644.4644.47T:keccakc1024
44.9344.9344.93sha3512
91.6691.7192.00T:groestl256
148.61148.66149.01T:groestl512
Cycles/byte for 576 bytes
25%50%75%hash
8.398.398.39T:blake2b
11.1411.1411.16T:skein512256
11.4511.4511.46T:skein512512
11.9111.9111.92T:blake2s
12.6812.6812.69T:skein256256
12.9312.9313.11T:k12
14.3414.3414.34T:blake32
14.4414.4514.49T:blake64
15.5215.5315.56blake512
16.5216.5316.72blake256
22.4622.4622.46shake128
25.2525.2725.28T:bblake256
25.2825.3325.33T:skein10241024
27.5127.5327.53sha3224
27.6027.6127.61sha3256
27.7027.7027.70shake256
27.9627.9628.00T:keccakc256treed2
28.1828.1928.19T:keccakc448
28.1628.2128.26T:keccak
28.2628.2628.26T:keccakc512
28.8128.8828.96sha512
29.0829.1529.30sha384
31.5231.5231.52T:jh256
31.5731.5931.59T:jh224
31.5931.5931.60T:jh384
31.6131.6231.62T:jh512
32.9633.0133.08sha256
33.0133.0133.02sha3384
32.9933.0233.13sha224
33.3433.3433.35T:keccakc768
34.0634.0634.06T:round3jh256
34.1534.1534.15T:round3jh512
36.6936.6936.69T:keccakc512treed2
49.1249.1349.13sha3512
49.1549.1649.17T:keccakc1024
100.98101.54101.94T:groestl256
162.40162.54162.96T:groestl512
Cycles/byte for 64 bytes
25%50%75%hash
13.2313.2313.89T:blake2s
16.6216.6216.62T:blake2b
22.5322.6422.64T:skein512256
23.7323.7323.84T:skein256256
23.9524.0624.06T:skein512512
31.0631.1731.17T:blake64
31.9432.0532.05T:blake32
33.9134.0234.12blake512
35.8835.8835.98blake256
38.3938.7238.83T:k12
50.9750.9751.30sha3224
51.0851.0851.52sha3256
51.1951.3051.41sha3384
51.3051.4151.52sha3512
51.8451.9552.17shake256
53.0553.0553.05shake128
58.1958.3058.30T:keccakc1024
58.7358.7358.73T:jh256
58.8458.9558.95T:keccakc768
59.1759.2859.28T:jh224
59.2859.2859.39T:jh384
59.5059.5059.61T:jh512
59.5059.6160.05T:keccak
60.8160.8160.81T:keccakc512
60.9260.9261.03T:keccakc448
64.0964.2064.20T:round3jh256
64.8664.8664.86T:round3jh512
82.9182.9182.91T:skein10241024
99.97100.08100.19T:bblake256
142.84145.25147.88sha512
145.03145.47146.45sha256
145.03145.69146.12sha384
146.67147.98149.08sha224
172.05172.16172.38T:keccakc256treed2
172.48172.48172.48T:keccakc512treed2
220.83221.38222.25T:groestl256
402.28402.39402.61T:groestl512
Cycles/byte for 8 bytes
25%50%75%hash
107.62108.50110.25T:blake2s
130.38130.38131.25T:blake2b
140.88140.88142.62T:skein256256
161.00161.00161.88T:blake32
170.62170.62171.50blake256
179.38180.25180.25T:skein512256
189.88189.88190.75T:skein512512
255.50255.50256.38T:blake64
273.00273.88274.75blake512
306.25308.00308.88T:k12
406.00406.00408.62sha3224
406.88407.75409.50sha3256
407.75408.62411.25sha3384
408.62409.50412.12sha3512
413.00413.88415.62shake256
422.62422.62424.38shake128
468.12468.12468.12T:keccakc1024
472.50472.50473.38T:jh256
472.50472.50473.38T:keccakc768
476.00476.00479.50T:keccak
476.88476.88478.62T:jh224
476.88477.75477.75T:jh384
478.62479.50479.50T:jh512
483.88483.88484.75T:keccakc512
487.38487.38487.38T:keccakc448
524.12524.12526.75T:round3jh256
530.25530.25530.25T:round3jh512
662.38662.38666.75T:skein10241024
678.12679.00679.00T:bblake256
1020.251028.121037.75sha256
1026.381034.251045.62sha224
1094.621103.381113.88T:groestl256
1160.251163.751176.88sha384
1140.121166.381176.88sha512
1373.751374.621376.38T:keccakc256treed2
1377.251377.251379.88T:keccakc512treed2
3229.623231.383240.12T:groestl512