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-20240425

[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: (bytes,cycles)
Cycles/byte for long messages
25%50%75%hash
4.014.034.04sha256
4.084.104.12sha224
5.635.645.66T:blake2s
6.166.216.25T:blake2b
6.386.406.42T:k12
7.197.217.23T:blake32
7.457.467.49T:bblake256
8.318.328.34T:skein512256
8.308.338.34T:skein512512
8.398.408.42blake256
8.528.578.66T:keccakc256treed2
9.069.079.09T:blake64
9.329.339.35T:skein256256
9.549.569.58blake512
11.5011.5411.55T:keccakc512treed2
11.8211.8411.89sha512
11.8311.8411.86sha384
12.5012.5112.54shake128
12.6212.6312.65T:skein10241024
14.0314.0514.07T:keccakc448
14.5614.5714.59sha3224
15.1115.1215.14T:keccakc512
15.2515.2715.29T:groestl256
15.4515.4715.49shake256
15.6815.7015.72sha3256
16.0216.0616.11T:keccak
19.9620.0020.01T:keccakc768
20.3520.3720.38T:jh224
20.4020.4020.41T:jh256
20.4120.4220.43T:jh384
20.4220.4220.43T:jh512
20.7220.7320.74sha3384
21.6621.7421.84T:groestl512
23.0323.0323.03T:round3jh256
23.0323.0423.04T:round3jh512
28.4728.4828.51T:keccakc1024
28.7128.7328.75sha3512
Cycles/byte for 4096 bytes
25%50%75%hash
4.104.104.11sha256
4.234.244.24sha224
5.645.655.65T:blake2s
6.196.216.22T:blake2b
6.746.746.75T:k12
7.407.407.40T:blake32
8.118.128.12T:bblake256
8.488.498.49T:skein512256
8.558.568.56T:skein512512
8.588.598.59blake256
9.419.429.42T:blake64
9.469.469.46T:skein256256
9.929.929.92blake512
10.1310.1310.17T:keccakc256treed2
12.3112.3112.31sha384
12.3212.3212.34sha512
12.3612.3812.38T:keccakc512treed2
13.0513.0613.06shake128
13.1113.1113.11T:skein10241024
14.6914.6914.69T:keccakc448
15.1015.1015.11sha3224
15.7215.7315.73T:keccakc512
16.0816.0916.09shake256
16.0816.0916.09T:groestl256
16.1616.1716.17sha3256
16.6716.6816.69T:keccak
20.1120.1120.11T:keccakc768
20.7020.7120.71T:jh224
20.7420.7420.75sha3384
20.7420.7420.75T:jh256
20.7620.7620.76T:jh512
20.7620.7620.76T:jh384
23.2123.2323.27T:groestl512
23.4023.4023.41T:round3jh512
23.4023.4023.40T:round3jh256
29.0529.0529.06T:keccakc1024
29.3729.3829.38sha3512
Cycles/byte for 1536 bytes
25%50%75%hash
4.234.244.24sha256
4.434.444.47sha224
5.645.655.66T:blake2s
6.206.216.23T:blake2b
7.317.327.33T:k12
7.707.727.72T:blake32
8.758.768.77T:skein512256
8.888.898.90blake256
8.938.948.95T:skein512512
9.209.219.22T:bblake256
9.649.659.67T:skein256256
9.979.989.99T:blake64
10.4910.5010.52blake512
11.7611.7811.82T:keccakc256treed2
13.0813.0913.10sha384
13.1013.1113.13sha512
13.7713.7813.80T:keccakc512treed2
13.8913.9113.92T:skein10241024
13.9413.9513.97shake128
15.0315.0515.08T:keccakc448
15.2915.3015.33sha3224
16.3916.4116.42T:keccakc512
16.6116.6316.64shake256
16.6916.7016.71sha3256
17.4417.4517.46T:groestl256
17.6717.6917.71T:keccak
20.2920.3020.33T:keccakc768
20.7720.7920.80sha3384
21.2721.2821.29T:jh224
21.2921.3021.32T:jh256
21.3121.3221.33T:jh384
21.3121.3221.33T:jh512
24.0124.0224.03T:round3jh256
24.0124.0224.03T:round3jh512
25.7025.7325.75T:groestl512
29.9829.9829.99T:keccakc1024
30.2930.3730.37sha3512
Cycles/byte for 576 bytes
25%50%75%hash
4.584.584.59sha256
4.974.974.99sha224
5.675.675.68T:blake2s
6.936.977.01T:blake2b
8.118.128.13T:k12
8.508.518.53T:blake32
9.489.499.50T:skein512256
9.649.659.68blake256
9.979.9810.00T:skein512512
10.1210.1410.15T:skein256256
10.4810.5010.53T:blake64
11.0111.0311.05blake512
12.1412.1612.19T:bblake256
13.8713.8913.91sha384
13.9313.9413.97sha512
14.9314.9414.96shake128
16.1316.1516.18T:keccakc256treed2
17.5317.6517.68T:skein10241024
18.4818.5118.53sha3256
18.5118.5318.55sha3224
18.5118.5518.59shake256
18.5618.5918.61T:keccakc448
18.6418.6618.68T:keccak
18.6918.7118.73T:keccakc512
21.0621.0921.11T:groestl256
21.3921.4521.50T:keccakc512treed2
22.1222.1422.16T:keccakc768
22.1622.2022.22sha3384
22.7722.8022.82T:jh224
22.7822.8122.83T:jh256
22.8022.8222.85T:jh512
22.8022.8222.85T:jh384
25.6425.6625.69T:round3jh256
25.6425.6725.69T:round3jh512
29.9930.0230.05T:groestl512
32.9232.9733.01T:keccakc1024
33.0133.0633.09sha3512
Cycles/byte for 64 bytes
25%50%75%hash
5.725.755.78T:blake2s
9.099.129.12sha256
11.8811.9712.00sha224
12.8812.9113.16T:blake2b
16.4116.6616.88T:skein256256
18.4118.4719.28T:skein512256
18.8418.8818.91T:blake32
19.5319.5619.66blake256
21.0921.1221.16T:blake64
21.6221.6921.72T:k12
22.6622.6922.75blake512
22.8822.9122.94T:skein512512
29.8829.9129.91sha384
30.1930.2230.28sha512
33.8433.8834.00sha3256
33.8133.9134.06sha3224
33.8833.9734.03sha3384
33.8833.9734.09sha3512
34.0934.2234.31shake256
34.1634.2534.31shake128
36.1936.2236.28T:keccakc1024
38.7238.7538.81T:keccak
38.7838.8438.91T:keccakc768
38.8838.9438.97T:keccakc448
39.0939.1639.19T:keccakc512
41.3141.3841.41T:jh256
41.4141.4741.53T:jh384
41.4141.4741.59T:jh512
41.7841.8841.94T:jh224
46.1946.3146.59T:round3jh512
46.5046.5646.62T:round3jh256
49.4449.5349.66T:bblake256
55.6255.7255.78T:skein10241024
67.1967.2867.34T:groestl256
95.8895.9796.09T:groestl512
99.2899.4799.66T:keccakc256treed2
100.66100.84101.03T:keccakc512treed2
Cycles/byte for 8 bytes
25%50%75%hash
42.0042.0042.25sha256
50.0050.2550.25T:blake2s
64.2564.7565.75sha224
90.0090.5092.75blake256
93.2594.5095.00T:skein256256
101.25101.50101.50T:blake32
102.75103.00103.25T:blake2b
146.75147.25147.50T:skein512256
167.50168.00168.25T:blake64
173.00173.25173.50T:k12
180.75181.00181.50blake512
181.75182.00182.25T:skein512512
235.00235.50235.75sha384
239.75240.25241.00sha512
268.50269.25270.00sha3512
268.75269.50269.75sha3384
268.75269.50270.00sha3224
269.00269.75270.50sha3256
271.00272.00273.00shake256
272.25272.50272.75shake128
287.50288.75289.75T:keccakc1024
309.75310.25311.00T:keccakc768
311.25311.75312.25T:keccakc512
311.75312.25312.50T:keccak
312.50313.00313.25T:keccakc448
330.50331.50332.25T:jh256
332.00332.25332.75T:jh512
331.50332.75334.50T:bblake256
332.25333.00333.50T:jh384
339.25339.75340.25T:jh224
366.75368.00370.00T:round3jh256
367.00368.25370.25T:round3jh512
411.00411.50412.00T:groestl256
445.25446.00446.50T:skein10241024
763.50764.50765.25T:groestl512
794.25796.00798.00T:keccakc256treed2
801.75806.00807.50T:keccakc512treed2