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; Goldmont (506c9); 2016 Intel Celeron J3455; 4 x 1500MHz; wooden, supercop-20241022

[Page version: 20241120 00:41:20]

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).


Test results

Graphs: (bytes,cycles)
Cycles/byte for long messages
25%50%75%hash
4.004.034.05sha256
4.084.104.12sha224
5.495.645.96T:blake2s
6.176.226.26T:blake2b
6.386.406.42T:k12
7.197.217.23T:blake32
7.447.477.49T:bblake256
8.318.328.34T:skein512256
8.318.338.34T:skein512512
8.378.418.49blake256
8.558.568.58T:keccakc256treed2
9.069.079.09T:blake64
9.329.339.35T:skein256256
9.559.569.58blake512
11.4611.5411.60T:keccakc512treed2
11.8311.8411.85sha384
11.8311.8411.86sha512
12.5112.5212.57shake128
12.6212.6312.65T:skein10241024
14.0314.0614.07T:keccakc448
14.4414.4614.51sha3224
15.0215.0415.08T:groestl256
15.1015.1215.14T:keccakc512
15.4415.4615.48shake256
15.6915.7015.73sha3256
16.0316.0716.09T:keccak
19.9620.0020.01T:keccakc768
20.3620.3720.38T:jh224
20.3920.4120.41T:jh256
20.4220.4220.43T:jh512
20.4220.4220.43T:jh384
20.7220.7320.74sha3384
21.7021.7221.75T:groestl512
23.0323.0323.04T:round3jh256
23.0323.0423.05T:round3jh512
28.4628.4828.50T:keccakc1024
28.7128.7328.82sha3512
Cycles/byte for 4096 bytes
25%50%75%hash
4.104.114.11sha256
4.234.234.24sha224
5.655.655.81T:blake2s
6.206.216.23T:blake2b
6.746.746.75T:k12
7.397.407.40T:blake32
8.118.128.13T:bblake256
8.488.498.49T:skein512256
8.558.568.56T:skein512512
8.598.598.63blake256
9.419.429.42T:blake64
9.469.469.46T:skein256256
9.919.929.92blake512
10.1210.1310.13T:keccakc256treed2
12.3112.3112.31sha384
12.3112.3212.32sha512
12.3812.3812.40T:keccakc512treed2
13.0613.0613.08shake128
13.1113.1113.11T:skein10241024
14.6814.6914.69T:keccakc448
15.0315.0415.06sha3224
15.7215.7315.73T:keccakc512
15.8415.8515.86T:groestl256
16.0816.0816.09shake256
16.1616.1716.17sha3256
16.6716.6816.68T:keccak
20.1120.1120.12T:keccakc768
20.7020.7120.71T:jh224
20.7420.7420.74sha3384
20.7420.7420.75T:jh256
20.7620.7620.76T:jh512
20.7620.7620.76T:jh384
23.2123.2123.23T:groestl512
23.4023.4023.41T:round3jh512
23.4023.4023.41T:round3jh256
29.0429.0529.05T:keccakc1024
29.3729.3829.38sha3512
Cycles/byte for 1536 bytes
25%50%75%hash
4.234.234.24sha256
4.424.434.44sha224
5.655.665.81T:blake2s
6.206.226.25T:blake2b
7.317.327.33T:k12
7.707.717.72T:blake32
8.758.768.77T:skein512256
8.898.908.93blake256
8.938.948.95T:skein512512
9.199.209.21T:bblake256
9.659.669.68T:skein256256
9.989.9910.00T:blake64
10.4910.5010.51blake512
11.7611.7711.78T:keccakc256treed2
13.0813.0913.10sha384
13.0913.1113.12sha512
13.7613.7813.80T:keccakc512treed2
13.8913.9113.92T:skein10241024
13.9413.9613.97shake128
15.0415.0515.07T:keccakc448
15.2715.3015.30sha3224
16.4016.4116.42T:keccakc512
16.6116.6316.64shake256
16.6916.7016.71sha3256
17.1817.2017.20T:groestl256
17.6817.6917.71T:keccak
20.3020.3020.32T:keccakc768
20.7720.7820.79sha3384
21.2621.2821.28T:jh224
21.3021.3121.32T:jh256
21.3121.3221.33T:jh512
21.3121.3221.33T:jh384
24.0124.0224.03T:round3jh256
24.0224.0224.03T:round3jh512
25.7025.7125.74T:groestl512
29.9829.9930.00T:keccakc1024
30.3830.3930.39sha3512
Cycles/byte for 576 bytes
25%50%75%hash
4.584.584.59sha256
4.944.954.96sha224
5.675.675.83T:blake2s
6.946.966.99T:blake2b
8.108.118.12T:k12
8.508.518.55T:blake32
9.489.499.50T:skein512256
9.649.679.70blake256
9.979.9910.04T:skein512512
10.1310.1510.17T:skein256256
10.4810.4910.53T:blake64
11.0111.0311.05blake512
12.1412.1612.18T:bblake256
13.8613.8813.90sha384
13.9213.9313.94sha512
14.9314.9514.97shake128
16.1216.1416.16T:keccakc256treed2
17.5117.5317.63T:skein10241024
18.5018.5318.59sha3256
18.5118.5618.63shake256
18.5718.6018.62T:keccakc448
18.5818.6118.64sha3224
18.6418.6618.68T:keccak
18.6918.7118.73T:keccakc512
20.7620.7920.81T:groestl256
21.4421.4621.48T:keccakc512treed2
22.1222.1522.16T:keccakc768
22.1822.2022.23sha3384
22.7622.7922.81T:jh224
22.7722.8022.83T:jh256
22.8022.8222.85T:jh384
22.8022.8222.85T:jh512
25.6425.6625.69T:round3jh256
25.6425.6725.70T:round3jh512
29.8929.9229.95T:groestl512
32.9432.9833.01T:keccakc1024
33.0133.0533.13sha3512
Cycles/byte for 64 bytes
25%50%75%hash
5.725.755.75T:blake2s
9.099.129.12sha256
11.6911.7211.72sha224
12.8812.9113.19T:blake2b
16.4116.6616.88T:skein256256
18.4418.4719.28T:skein512256
18.8818.9118.94T:blake32
19.5019.5319.66blake256
21.1621.1621.19T:blake64
21.6221.6621.72T:k12
22.4722.6922.72blake512
22.8422.8822.94T:skein512512
29.7229.7529.81sha384
30.1630.1630.19sha512
33.7233.7833.84sha3224
33.8433.9134.03sha3384
33.8833.9434.09sha3256
33.8833.9734.06sha3512
34.0934.1934.28shake256
34.1234.1934.25shake128
36.1636.2236.31T:keccakc1024
38.7238.7538.81T:keccak
38.8838.9739.03T:keccakc768
38.91?38.97?72.88?T:keccakc448
39.1239.1939.22T:keccakc512
41.3441.3841.41T:jh256
41.4441.5041.56T:jh384
41.4441.5041.59T:jh512
41.7841.8441.91T:jh224
46.2246.3146.62T:round3jh512
46.5046.5646.59T:round3jh256
49.4149.5349.62T:bblake256
55.6255.6955.75T:skein10241024
66.6266.7266.94T:groestl256
94.6694.7894.88T:groestl512
99.1999.3199.44T:keccakc256treed2
100.59100.75100.91T:keccakc512treed2
Cycles/byte for 8 bytes
25%50%75%hash
44.7544.7544.75sha256
49.7550.2550.25T:blake2s
61.2561.5061.50sha224
90.0091.2592.00blake256
93.5094.5095.25T:skein256256
101.00101.25101.25T:blake32
102.50103.00103.00T:blake2b
146.75147.00147.50T:skein512256
167.50168.00168.75T:blake64
173.00173.25173.50T:k12
180.50180.75181.00blake512
182.00182.25182.75T:skein512512
234.25234.50234.75sha384
238.00238.25238.50sha512
268.00268.25268.50sha3224
268.50269.75270.50sha3256
268.50269.75270.50sha3512
269.25269.75271.00sha3384
271.25272.25272.75shake128
271.75272.50273.75shake256
288.50289.25289.75T:keccakc1024
310.25310.50311.00T:keccakc768
311.25311.75312.00T:keccak
311.75311.75312.50T:keccakc512
313.00?313.50?586.25?T:keccakc448
330.00331.50332.75T:bblake256
330.50331.50332.25T:jh256
332.00332.50333.25T:jh512
332.50333.00333.50T:jh384
339.00339.50340.50T:jh224
366.75368.25370.25T:round3jh256
367.25368.50370.75T:round3jh512
408.50409.00409.75T:groestl256
445.50446.00446.75T:skein10241024
765.75766.75767.50T:groestl512
794.00794.75795.75T:keccakc256treed2
801.00803.00805.75T:keccakc512treed2