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 45nm (10676); 2007 Intel Xeon X5450; 8 x 2992MHz; unstable; gcc14, supercop-20220506

[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.015.025.02T:blake2b
5.345.495.59T:k12
5.895.895.89T:blake2s
6.376.386.39T:skein512512
6.386.386.40T:skein512256
6.947.117.39T:bblake256
7.197.207.20T:blake32
7.327.357.38T:blake64
7.437.487.54blake512
7.647.667.68T:keccakc256treed2
8.228.238.24T:skein256256
8.918.928.93blake256
9.399.449.48T:skein10241024
9.699.769.88sha512
9.709.779.92sha384
10.3110.3210.32shake128
10.3610.4010.45T:keccakc512treed2
11.1111.1411.17T:keccakc448
11.8411.8411.85T:keccakc512
11.9611.9712.14sha3224
12.5912.7312.80T:keccak
12.7912.8112.89sha3256
12.7612.8412.85shake256
12.9813.0413.10sha256
12.9813.0613.09sha224
15.7615.7715.77T:keccakc768
17.0317.0417.05sha3384
17.6017.7717.83T:jh384
17.7117.7917.83T:jh256
17.7517.8217.84T:jh512
17.6717.8517.95T:jh224
19.8820.0620.13T:round3jh256
20.0320.0820.10T:round3jh512
21.7821.8821.89T:keccakc1024
22.2822.3422.39T:groestl256
23.6823.7023.76sha3512
32.0032.2232.48T:groestl512
Cycles/byte for 4096 bytes
25%50%75%hash
5.055.055.05T:blake2b
5.745.785.82T:k12
5.935.935.93T:blake2s
6.536.546.54T:skein512512
6.546.546.55T:skein512256
7.447.447.44T:blake32
7.657.667.67T:blake64
7.747.767.78blake512
7.817.827.95T:bblake256
8.358.368.36T:skein256256
9.039.039.04T:keccakc256treed2
9.159.159.16blake256
9.829.839.85T:skein10241024
10.1710.1810.23sha512
10.1810.1910.24sha384
10.7710.7810.78shake128
11.1111.1211.14T:keccakc512treed2
11.6211.6211.64T:keccakc448
12.3512.3512.35T:keccakc512
12.4212.4212.51sha3224
13.1513.2213.22T:keccak
13.2513.2513.29sha3256
13.2613.3013.30shake256
13.3213.3413.36sha256
13.3313.3613.37sha224
15.8515.8515.86T:keccakc768
17.0717.0717.07sha3384
18.0018.0918.10T:jh384
18.0418.0918.12T:jh224
18.0618.1018.11T:jh256
18.0818.1218.12T:jh512
20.3220.4120.41T:round3jh256
20.4020.4220.42T:round3jh512
22.3222.3622.36T:keccakc1024
23.0323.0423.04T:groestl256
24.1424.1424.18sha3512
34.2434.2834.40T:groestl512
Cycles/byte for 1536 bytes
25%50%75%hash
5.085.115.12T:blake2b
5.985.985.98T:blake2s
6.256.326.34T:k12
6.796.806.80T:skein512512
6.806.816.81T:skein512256
7.857.857.85T:blake32
8.168.188.19T:blake64
8.198.218.24blake512
8.558.578.57T:skein256256
9.019.019.15T:bblake256
9.549.559.56blake256
10.4810.4910.51T:keccakc256treed2
10.4810.4910.50T:skein10241024
10.8410.8610.92sha384
10.8710.8810.92sha512
11.5311.5311.53shake128
11.8911.9011.91T:keccakc448
12.3412.3412.35T:keccakc512treed2
12.6012.6112.62sha3224
12.8912.8912.90T:keccakc512
13.7113.7213.72sha3256
13.7813.7813.78shake256
13.8213.8413.84sha256
13.8313.8513.89sha224
13.9614.0214.03T:keccak
16.0016.0016.00T:keccakc768
17.1217.1317.13sha3384
18.6018.6118.62T:jh256
18.6018.6118.62T:jh512
18.5418.6118.62T:jh224
18.5918.6218.63T:jh384
20.9420.9920.99T:round3jh256
20.9821.0021.00T:round3jh512
23.1623.1623.16T:keccakc1024
24.1524.1724.22T:groestl256
24.8824.8924.89sha3512
37.7037.7137.86T:groestl512
Cycles/byte for 576 bytes
25%50%75%hash
5.815.825.83T:blake2b
6.136.136.13T:blake2s
7.167.187.21T:k12
7.477.477.52T:skein512512
7.517.517.53T:skein512256
8.668.688.71blake512
8.658.698.73T:blake64
8.958.958.95T:blake32
9.099.109.13T:skein256256
10.6010.6310.64blake256
11.6011.6211.66sha384
11.6711.7011.72sha512
12.4112.4112.42shake128
12.5612.6112.65T:bblake256
13.3313.3413.35T:skein10241024
14.3514.3614.42T:keccakc256treed2
14.6914.7014.70T:keccakc512
14.7114.7314.80T:keccakc448
14.7814.8114.81T:keccak
15.1615.1815.21sha256
15.1815.2215.27sha224
15.3415.3415.35sha3224
15.3415.3515.38sha3256
15.4015.4515.45shake256
17.4317.4417.45T:keccakc768
18.3418.3518.36sha3384
19.0519.0819.14T:keccakc512treed2
19.8319.8819.96T:jh224
19.8919.9519.97T:jh512
19.9419.9519.96T:jh384
19.9419.9619.97T:jh256
22.5022.5022.50T:round3jh256
22.5122.5122.51T:round3jh512
25.5725.6125.61T:keccakc1024
27.2527.2527.25sha3512
27.2427.2627.31T:groestl256
43.3743.4243.54T:groestl512
Cycles/byte for 64 bytes
25%50%75%hash
7.257.257.25T:blake2s
11.8411.8411.84T:blake2b
15.5615.5615.56T:skein512256
15.6215.6215.67T:skein512512
15.7715.7715.89T:skein256256
18.2818.2818.28blake512
18.5318.6418.69T:blake64
20.2720.2720.42T:k12
22.3322.3322.34T:blake32
24.1424.2224.38blake256
25.4525.5225.84sha384
25.8425.8826.78sha512
28.6728.8028.80sha3384
28.9228.9229.02sha3224
29.0829.0829.08sha3512
29.1229.1229.12sha3256
29.2029.2029.52shake256
29.3029.3029.38shake128
29.4529.6429.66T:keccakc1024
30.1430.2230.23T:keccakc768
30.3430.3830.50T:keccakc512
30.4530.4730.48T:keccak
30.5830.6631.45T:keccakc448
31.8932.1232.30sha224
31.8632.1432.44sha256
37.1437.1437.22T:jh384
37.1137.1637.17T:jh256
37.1237.2337.23T:jh224
37.2237.3037.30T:jh512
42.0242.0242.02T:round3jh256
42.0242.0242.08T:round3jh512
42.6742.6942.70T:skein10241024
55.5655.8856.42T:bblake256
65.6165.8666.42T:groestl256
88.3488.4788.72T:keccakc256treed2
88.2788.6788.95T:keccakc512treed2
132.02132.14132.39T:groestl512
Cycles/byte for 8 bytes
25%50%75%hash
59.5060.0060.00T:blake2s
91.0091.0091.00T:skein256256
91.6291.6292.88T:blake2b
96.2596.5097.12blake256
126.12126.12126.38T:skein512256
126.62126.62126.62T:skein512512
136.88136.88136.88T:blake32
146.25146.25146.25blake512
147.88149.50151.00sha224
147.38150.25153.50sha256
153.25153.62154.88T:blake64
160.12160.25160.25T:k12
204.88205.62206.75sha384
207.00207.88214.25sha512
229.50229.50231.00sha3384
230.25230.25231.00sha3224
230.88231.00231.00sha3512
231.38231.38231.38sha3256
233.00233.00233.88shake256
233.25233.25233.88shake128
236.88236.88237.12T:keccakc1024
243.12243.12243.38T:keccakc512
243.38243.75244.75T:keccakc768
244.50244.50249.25T:keccakc448
244.38245.50245.62T:keccak
294.50295.50295.62T:jh256
296.25298.12300.50T:jh224
296.62298.12300.12T:jh512
296.00298.25299.12T:jh384
337.00337.00338.62T:round3jh256
336.12338.38338.38T:round3jh512
341.62341.88342.12T:skein10241024
346.88349.00349.38T:groestl256
369.50371.12372.88T:bblake256
706.50706.75707.25T:keccakc256treed2
705.25708.62709.75T:keccakc512treed2
1052.881054.621055.25T:groestl512