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 N5105; 4 x 2000MHz; jasper3, 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.10sha256
2.092.092.10sha224
5.265.285.29T:k12
5.345.455.53T:blake2b
5.475.485.52T:blake2s
6.156.216.36T:blake32
7.117.167.20T:bblake256
7.507.577.60T:skein512512
7.517.597.62T:skein512256
7.647.707.77T:blake64
8.278.288.29T:keccakc256treed2
8.358.408.44blake256
8.568.588.60blake512
9.189.209.25T:skein10241024
10.0410.0510.31T:skein256256
10.2810.2910.33shake128
10.3310.4210.51sha512
10.3310.4310.49sha384
11.0011.0111.02T:keccakc512treed2
11.5311.5311.61T:keccakc448
11.9811.9912.02sha3224
12.3312.3412.40shake256
12.2612.3412.37sha3256
12.3712.3812.38T:keccakc512
13.1713.2113.25T:keccak
13.4913.5213.56T:groestl256
16.3916.4116.43sha3384
16.4516.4716.49T:keccakc768
18.9919.0119.03T:groestl512
20.3320.3820.41T:jh256
20.3320.3920.42T:jh512
20.3720.4020.41T:jh384
20.3820.4020.42T:jh224
22.6622.8323.12sha3512
23.0723.1323.19T:keccakc1024
23.8923.9023.98T:round3jh512
23.9023.9823.99T:round3jh256
Cycles/byte for 4096 bytes
25%50%75%hash
2.172.172.17sha224
2.172.172.17sha256
5.455.495.51T:blake2b
5.495.505.51T:blake2s
5.535.535.54T:k12
6.416.446.50T:blake32
7.717.737.74T:skein512256
7.737.767.77T:skein512512
7.787.797.80T:bblake256
7.978.008.02T:blake64
8.528.548.55blake256
8.888.898.89blake512
9.559.559.57T:skein10241024
9.779.779.77T:keccakc256treed2
10.1510.1510.26T:skein256256
10.7510.7510.76shake128
10.8010.8310.85sha384
10.8110.8510.87sha512
11.8111.8211.82T:keccakc512treed2
12.0712.0712.09T:keccakc448
12.4312.4312.44sha3224
12.8912.8912.90T:keccakc512
12.9312.9412.94shake256
12.9212.9512.96sha3256
13.7113.7113.73T:keccak
14.0614.0714.08T:groestl256
16.5716.5816.59T:keccakc768
16.5916.5916.60sha3384
20.2320.2320.24T:groestl512
20.7220.7320.74T:jh256
20.7220.7420.75T:jh512
20.7320.7420.74T:jh384
20.7320.7420.74T:jh224
23.3523.4323.43sha3512
23.6523.6723.69T:keccakc1024
24.3224.3224.36T:round3jh512
24.3224.3624.36T:round3jh256
Cycles/byte for 1536 bytes
25%50%75%hash
2.292.292.30sha224
2.292.302.30sha256
5.515.525.52T:blake2s
5.485.535.54T:blake2b
5.965.965.98T:k12
6.676.736.74T:blake32
7.967.977.99T:skein512256
8.068.088.11T:skein512512
8.438.478.51T:blake64
8.788.808.81blake256
8.858.888.89T:bblake256
9.379.389.42blake512
10.1410.1510.17T:skein10241024
10.2810.3010.42T:skein256256
11.3311.3411.34T:keccakc256treed2
11.4711.4811.49shake128
11.4811.5211.54sha384
11.5111.5611.59sha512
12.3912.4012.41T:keccakc448
12.6012.6012.60sha3224
13.1413.1513.15T:keccakc512treed2
13.4913.4913.50T:keccakc512
13.6513.6713.75shake256
13.6713.6813.70sha3256
14.5414.5514.57T:keccak
15.0315.0415.06T:groestl256
16.7516.7516.75T:keccakc768
16.7816.8616.91sha3384
21.3021.3021.33T:jh256
21.3021.3121.32T:jh384
21.3021.3221.33T:jh512
21.2921.3221.32T:jh224
22.2522.2622.29T:groestl512
24.1624.4124.43sha3512
24.5124.5224.56T:keccakc1024
25.0025.0125.01T:round3jh256
25.0125.0125.01T:round3jh512
Cycles/byte for 576 bytes
25%50%75%hash
2.622.622.63sha224
2.632.642.65sha256
5.565.575.59T:blake2s
6.196.196.26T:blake2b
6.566.576.57T:k12
7.277.297.32T:blake32
8.598.608.64T:skein512256
8.858.898.93T:blake64
8.878.908.92T:skein512512
9.449.469.50blake256
9.769.789.82blake512
10.7610.8010.89T:skein256256
11.9011.9411.98T:bblake256
12.1612.2012.23sha384
12.1912.2412.27sha512
12.2912.2912.32shake128
12.7812.8112.84T:skein10241024
15.2515.2515.25sha3224
15.3515.3815.39T:keccakc448
15.4215.4315.44T:keccak
15.4515.4715.47T:keccakc512
15.5115.5115.52T:keccakc256treed2
15.8515.9316.06sha3256
15.9315.9715.99shake256
17.6217.6517.66T:groestl256
18.3618.3618.37T:keccakc768
18.8018.8218.87sha3384
20.3520.3520.38T:keccakc512treed2
22.7522.7722.80T:jh224
22.7622.7722.83T:jh256
22.7722.7922.85T:jh384
22.7722.7922.81T:jh512
25.4625.4825.51T:groestl512
26.7026.7126.74T:round3jh512
26.7026.7126.75T:round3jh256
27.1327.1627.18T:keccakc1024
27.3927.4027.45sha3512
Cycles/byte for 64 bytes
25%50%75%hash
5.986.056.11T:blake2s
6.736.776.81sha224
6.816.866.91sha256
12.5012.5012.50T:blake2b
15.7715.9216.03T:blake32
16.5016.5516.81T:skein512256
16.5616.8317.08T:skein256256
16.9516.9817.03T:k12
17.6417.7718.00T:blake64
17.9218.0618.36blake256
19.0319.0619.34T:skein512512
19.5519.8020.02blake512
25.6225.7325.91sha384
26.0326.0826.19sha512
27.9227.9527.97sha3224
28.1928.2328.30shake128
33.0333.0833.14T:keccak
33.1233.1733.19T:keccakc1024
33.2333.2533.25T:keccakc768
33.2333.2733.30T:keccakc448
33.3333.3433.38T:keccakc512
36.9137.0537.61shake256
37.3437.6738.02sha3512
37.6237.7738.09sha3256
37.3837.9238.25sha3384
41.3941.4841.83T:skein10241024
41.6441.7241.83T:jh224
41.7741.8341.91T:jh256
41.7741.8341.94T:jh384
41.8041.8841.94T:jh512
48.4248.4548.53T:round3jh512
48.4748.6148.70T:round3jh256
50.1250.3450.69T:bblake256
50.8651.1751.23T:groestl256
77.0377.2777.55T:groestl512
94.7894.8395.00T:keccakc512treed2
94.9895.0395.08T:keccakc256treed2
Cycles/byte for 8 bytes
25%50%75%hash
36.1238.0038.88sha224
36.3838.0038.00sha256
48.6248.6249.75T:blake2s
74.2574.8877.62T:blake32
80.8881.3882.12blake256
94.2595.2596.38T:skein256256
99.6299.62100.12T:blake2b
131.62132.00133.88T:skein512256
135.12135.38135.38T:k12
143.00144.50146.62T:blake64
150.38151.62152.75T:skein512512
154.12155.88157.38blake512
202.50203.75205.00sha384
205.88206.50208.00sha512
223.50223.88224.38sha3224
225.75226.12226.38shake128
264.88265.12265.50T:keccakc1024
264.88265.12265.50T:keccakc768
265.62265.88266.12T:keccak
266.00266.25266.25T:keccakc512
267.75267.75267.88T:keccakc448
297.50299.12300.75shake256
298.38301.88306.25sha3512
301.50303.50307.25sha3256
303.25303.88305.00T:groestl256
302.88306.62310.62sha3384
331.75333.62334.75T:skein10241024
333.50335.88339.00T:bblake256
336.62336.88337.50T:jh384
337.75338.38338.88T:jh224
338.50339.12339.25T:jh512
338.62339.12339.12T:jh256
388.62389.38390.62T:round3jh512
388.88389.38390.62T:round3jh256
620.38621.75624.50T:groestl512
757.50758.12759.38T:keccakc512treed2
759.88760.00761.38T:keccakc256treed2