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; Tremont (906c0); 2021 Intel Celeron N4500; 2 x 1100MHz; jasper2, supercop-20240625

[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: (bytes,cycles)
Cycles/byte for long messages
25%50%75%hash
2.092.092.10sha224
2.092.102.10sha256
5.275.285.30T:k12
5.335.455.49T:blake2b
5.485.495.51T:blake2s
6.236.326.46T:blake32
7.037.077.15T:bblake256
7.507.567.58T:skein512512
7.537.597.61T:skein512256
7.697.797.84T:blake64
8.128.228.35blake256
8.278.288.29T:keccakc256treed2
8.578.608.65blake512
9.189.219.23T:skein10241024
9.909.939.96shake128
9.929.9610.07T:skein256256
10.3310.4110.52sha384
10.3810.4610.55sha512
11.0011.0111.02T:keccakc512treed2
11.5611.5911.61T:keccakc448
11.3311.6011.76sha3224
12.3412.3612.38shake256
12.3212.3712.41sha3256
12.3912.4112.43T:keccakc512
13.1813.2313.28T:keccak
13.3913.4713.48T:groestl256
16.3916.4116.47sha3384
16.5116.5216.53T:keccakc768
19.0219.0419.06T:groestl512
20.3420.3620.43T:jh384
20.3720.3820.41T:jh256
20.3620.4120.42T:jh224
20.3920.4320.45T:jh512
21.93?22.88?24.68?sha3512
23.0523.1123.17T:keccakc1024
23.9023.9723.98T:round3jh256
23.9523.9824.03T:round3jh512
Cycles/byte for 4096 bytes
25%50%75%hash
2.172.172.17sha224
2.172.172.17sha256
5.435.495.49T:blake2b
5.505.505.50T:blake2s
5.545.545.55T:k12
6.466.486.54T:blake32
7.727.737.75T:bblake256
7.717.737.74T:skein512256
7.747.767.76T:skein512512
8.028.078.08T:blake64
8.428.468.50blake256
8.898.908.91blake512
9.559.559.56T:skein10241024
9.779.779.77T:keccakc256treed2
10.0610.0710.12T:skein256256
10.5210.5310.54shake128
10.8010.8310.86sha384
10.8110.8410.88sha512
11.8111.8111.82T:keccakc512treed2
12.0812.1012.11T:keccakc448
12.0912.2212.23sha3224
12.9112.9112.92T:keccakc512
12.9512.9512.96shake256
12.9412.9612.97sha3256
13.7213.7313.74T:keccak
14.0514.0914.09T:groestl256
16.6016.6016.61T:keccakc768
16.6016.6116.62sha3384
20.2420.2520.25T:groestl512
20.7420.7420.77T:jh384
20.7520.7520.76T:jh256
20.7620.7720.78T:jh512
20.7520.7720.77T:jh224
23.4423.4724.36sha3512
23.6523.6723.68T:keccakc1024
24.3324.3724.37T:round3jh256
24.3724.3724.40T:round3jh512
Cycles/byte for 1536 bytes
25%50%75%hash
2.292.292.29sha224
2.292.302.30sha256
5.515.525.53T:blake2s
5.495.535.54T:blake2b
5.975.986.00T:k12
6.686.706.76T:blake32
7.957.967.98T:skein512256
8.058.068.08T:skein512512
8.468.528.55T:blake64
8.778.818.83blake256
8.798.818.83T:bblake256
9.389.399.40blake512
10.1410.1510.17T:skein10241024
10.2710.2810.29T:skein256256
11.3311.3311.33T:keccakc256treed2
11.4711.4911.53sha384
11.4811.5011.52sha512
11.5211.5411.56shake128
12.4012.4012.41T:keccakc448
12.5612.6812.70sha3224
13.1413.1513.15T:keccakc512treed2
13.4913.5013.50T:keccakc512
13.6613.6613.68shake256
13.6813.6913.71sha3256
14.5514.5714.58T:keccak
15.0815.1015.11T:groestl256
16.7516.7616.77T:keccakc768
16.9116.9116.93sha3384
21.2921.2921.30T:jh512
21.3021.3121.32T:jh384
21.3121.3121.31T:jh256
21.3021.3121.33T:jh224
22.2622.2722.31T:groestl512
24.4324.4625.38sha3512
24.5324.5424.56T:keccakc1024
24.9724.9825.01T:round3jh512
25.0025.0025.01T:round3jh256
Cycles/byte for 576 bytes
25%50%75%hash
2.622.632.64sha224
2.632.642.64sha256
5.555.575.58T:blake2s
6.216.216.23T:blake2b
6.556.566.57T:k12
7.287.317.35T:blake32
8.578.598.60T:skein512256
8.878.908.91T:skein512512
8.858.908.93T:blake64
9.529.569.64blake256
9.749.779.79blake512
10.8410.8410.84T:skein256256
11.7211.7711.80T:bblake256
12.1412.1912.23sha384
12.1812.2212.26sha512
12.8112.8212.83T:skein10241024
13.1013.1313.15shake128
15.3615.3815.40T:keccakc448
15.4415.4515.46T:keccak
15.4615.4715.48T:keccakc512
15.5115.5215.52T:keccakc256treed2
16.0016.0216.05shake256
16.0116.0316.07sha3256
16.0116.1216.17sha3224
17.8417.8617.93T:groestl256
18.3618.3618.38T:keccakc768
18.8618.8918.92sha3384
20.3420.3620.37T:keccakc512treed2
22.7622.7722.80T:jh256
22.7722.7822.82T:jh384
22.7722.7922.83T:jh512
22.7722.7922.81T:jh224
25.4725.5225.53T:groestl512
26.6926.7026.73T:round3jh256
26.7126.7326.76T:round3jh512
27.1327.1527.18T:keccakc1024
27.2727.4628.47sha3512
Cycles/byte for 64 bytes
25%50%75%hash
5.956.026.12T:blake2s
6.776.836.88sha224
6.806.846.95sha256
12.3412.5012.50T:blake2b
15.1615.2315.44T:blake32
16.5016.5616.80T:skein512256
17.0017.0517.27T:k12
17.5817.6918.09T:blake64
18.0818.3318.38T:skein256256
19.0619.1119.36T:skein512512
19.3419.4819.80blake256
19.3019.5519.83blake512
25.6625.9126.00sha384
25.9826.0926.27sha512
33.1233.1733.20T:keccak
33.1233.1933.19T:keccakc1024
33.2233.2533.27T:keccakc768
33.2233.2833.30T:keccakc448
33.3333.3333.39T:keccakc512
37.2737.4237.72shake128
37.4537.7238.06shake256
38.0838.3938.83sha3256
38.2238.3938.69sha3384
38.1138.5838.88sha3512
38.5638.8039.20sha3224
41.3841.5342.05T:skein10241024
41.7241.7341.88T:jh512
41.7241.7541.83T:jh256
41.7041.7741.83T:jh384
41.7741.8141.84T:jh224
48.5248.5348.53T:round3jh512
48.5048.5548.86T:round3jh256
49.0049.3049.69T:bblake256
52.5652.7253.02T:groestl256
77.0577.3977.62T:groestl512
94.7394.8094.86T:keccakc512treed2
94.9595.0295.09T:keccakc256treed2
Cycles/byte for 8 bytes
25%50%75%hash
36.0036.1237.12sha224
36.7538.5040.38sha256
48.3849.0049.88T:blake2s
74.1275.0076.38T:blake32
91.3892.3893.50blake256
99.6299.62100.12T:blake2b
114.00115.00115.12T:skein256256
131.62132.00132.25T:skein512256
136.12138.75141.62T:k12
145.38146.25146.62T:blake64
151.75152.25154.62T:skein512512
155.38157.38158.38blake512
202.00204.00204.88sha384
203.75204.62206.38sha512
264.88265.12265.38T:keccakc1024
264.62265.50266.25T:keccakc768
265.75266.00266.25T:keccakc512
265.75266.12266.38T:keccak
267.75267.88268.50T:keccakc448
297.62298.88305.12shake256
301.25302.12304.38shake128
305.12306.25309.62sha3384
304.50306.75309.62sha3256
303.75307.50310.50sha3512
309.38312.88316.50sha3224
312.75313.75315.00T:groestl256
327.62329.50332.62T:bblake256
332.88335.62337.50T:skein10241024
338.12338.25341.75T:jh512
336.88338.38339.50T:jh384
337.62338.38339.25T:jh224
338.50339.00340.12T:jh256
388.88389.50390.38T:round3jh512
389.25389.50391.88T:round3jh256
620.00621.38622.75T:groestl512
757.50758.00758.25T:keccakc512treed2
759.50759.88760.75T:keccakc256treed2