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 Pentium Silver N6000; 4 x 1100MHz; jasper, 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.285.295.31T:k12
5.365.465.51T:blake2b
5.485.495.51T:blake2s
5.75?6.47?7.23?T:blake32
7.077.127.20T:bblake256
7.507.577.60T:skein512512
7.527.587.61T:skein512256
7.747.797.84T:blake64
8.288.288.29T:keccakc256treed2
8.338.388.43blake256
8.578.608.62blake512
9.199.209.22T:skein10241024
9.649.9210.14shake128
9.939.9610.07T:skein256256
10.2910.4210.53sha512
10.3410.4310.48sha384
11.0011.0211.03T:keccakc512treed2
11.5711.6111.62T:keccakc448
11.3311.6211.81sha3224
11.79?12.36?13.25?shake256
12.2312.3812.71sha3256
12.4012.4112.43T:keccakc512
13.2213.2413.26T:keccak
13.5013.5313.54T:groestl256
15.8116.4317.06sha3384
16.4916.5016.52T:keccakc768
19.0319.0719.09T:groestl512
20.3620.4020.42T:jh384
20.3620.4020.43T:jh224
20.3920.4120.42T:jh256
20.3620.4320.46T:jh512
22.8422.8622.93sha3512
23.5523.5823.59T:keccakc1024
23.9723.9723.98T:round3jh512
23.9223.9924.02T:round3jh256
Cycles/byte for 4096 bytes
25%50%75%hash
2.172.172.17sha224
2.172.172.17sha256
5.445.495.49T:blake2b
5.505.505.51T:blake2s
5.545.555.55T:k12
6.416.546.90T:blake32
7.717.737.74T:skein512256
7.737.757.78T:bblake256
7.747.767.77T:skein512512
8.058.068.08T:blake64
8.548.558.57blake256
8.888.898.89blake512
9.559.559.55T:skein10241024
9.779.779.77T:keccakc256treed2
10.0610.0710.12T:skein256256
10.4410.5310.63shake128
10.7910.8210.84sha384
10.8110.8510.88sha512
11.8111.8211.82T:keccakc512treed2
12.0812.1012.10T:keccakc448
12.1012.2312.25sha3224
12.9112.9112.92T:keccakc512
12.9512.9613.40shake256
12.9612.9813.13sha3256
13.7313.7413.74T:keccak
14.1414.1514.15T:groestl256
16.5916.6016.60T:keccakc768
16.4516.6216.93sha3384
20.2720.2920.29T:groestl512
20.7420.7620.76T:jh384
20.7620.7620.77T:jh256
20.7520.7620.77T:jh224
20.7520.7720.78T:jh512
23.4423.4423.45sha3512
24.0324.0424.05T:keccakc1024
24.3724.3724.37T:round3jh512
24.3424.3724.37T:round3jh256
Cycles/byte for 1536 bytes
25%50%75%hash
2.292.292.30sha224
2.292.292.30sha256
5.515.525.53T:blake2s
5.495.535.54T:blake2b
5.985.996.00T:k12
6.666.777.19T:blake32
7.967.967.98T:skein512256
8.058.078.09T:skein512512
8.508.518.53T:blake64
8.778.798.82T:bblake256
8.798.818.82blake256
9.369.389.39blake512
10.1210.1310.16T:skein10241024
10.2710.2810.32T:skein256256
11.3311.3311.34T:keccakc256treed2
11.4511.5011.52sha384
11.5111.5211.54sha512
11.5211.5311.66shake128
12.3712.3912.41T:keccakc448
12.6512.6912.74sha3224
13.1413.1513.15T:keccakc512treed2
13.4913.5013.50T:keccakc512
13.6713.6914.24shake256
13.6813.7013.77sha3256
14.5714.5714.59T:keccak
15.1415.1515.15T:groestl256
16.7616.7616.77T:keccakc768
16.9316.9617.27sha3384
21.3021.3021.31T:jh256
21.2921.3121.34T:jh512
21.3021.3121.32T:jh224
21.2921.3121.32T:jh384
22.3122.3222.35T:groestl512
24.4324.4324.46sha3512
24.8124.8224.83T:keccakc1024
24.9724.9825.00T:round3jh256
24.9925.0125.01T:round3jh512
Cycles/byte for 576 bytes
25%50%75%hash
2.622.622.63sha224
2.622.632.63sha256
5.565.575.58T:blake2s
6.236.256.28T:blake2b
6.566.566.58T:k12
7.307.357.73T:blake32
8.588.618.64T:skein512256
8.868.878.88T:skein512512
8.868.908.93T:blake64
9.449.459.48blake256
9.719.729.76blake512
10.8410.8810.91T:skein256256
11.7111.7711.85T:bblake256
12.1512.1812.22sha384
12.2212.2412.30sha512
12.7812.7912.82T:skein10241024
13.0613.0913.26shake128
15.3715.3815.39T:keccakc448
15.4515.4515.46T:keccak
15.4615.4615.46T:keccakc512
15.5115.5115.52T:keccakc256treed2
15.9315.9516.64shake256
16.0116.0216.23sha3256
16.1116.1716.22sha3224
17.8217.8517.88T:groestl256
18.3618.3618.37T:keccakc768
18.8718.9419.19sha3384
20.3520.3520.36T:keccakc512treed2
22.7522.7722.82T:jh224
22.7722.7822.80T:jh384
22.7722.7822.82T:jh512
22.7722.8022.83T:jh256
25.6125.6225.66T:groestl512
26.6826.6926.72T:round3jh512
26.7026.7126.74T:round3jh256
27.2227.2427.26T:keccakc1024
27.2527.4027.45sha3512
Cycles/byte for 64 bytes
25%50%75%hash
6.056.126.14T:blake2s
6.756.786.80sha224
6.776.786.81sha256
12.5012.5012.52T:blake2b
15.6616.0816.38T:blake32
16.5216.5816.88T:skein512256
16.9517.1417.42T:k12
17.3917.7017.78T:blake64
17.7717.9818.22blake256
18.0818.0918.36T:skein256256
18.8018.8819.16blake512
19.0619.0919.33T:skein512512
25.6225.7525.91sha384
26.0826.2726.39sha512
29.8330.0830.14T:keccakc1024
33.0633.1433.17T:keccak
33.2233.2333.30T:keccakc768
33.2733.2833.30T:keccakc448
33.3433.3833.39T:keccakc512
37.9538.1438.45sha3512
38.0338.3839.03shake256
38.3038.4238.62sha3256
37.9438.4438.61shake128
38.1138.5938.81sha3384
38.5938.8439.23sha3224
41.3341.4441.52T:skein10241024
41.6441.7241.73T:jh224
41.6941.7341.91T:jh512
41.7241.8342.08T:jh384
41.7741.8341.92T:jh256
48.3948.5048.52T:round3jh256
48.5548.5948.64T:round3jh512
49.1249.5349.89T:bblake256
52.3352.6952.83T:groestl256
78.2278.5578.73T:groestl512
94.7894.7894.86T:keccakc512treed2
94.9895.0695.08T:keccakc256treed2
Cycles/byte for 8 bytes
25%50%75%hash
35.8836.2538.88sha224
37.3838.8839.38sha256
48.5049.0049.75T:blake2s
74.2576.0077.62T:blake32
81.0082.7584.88blake256
99.5099.88101.75T:blake2b
113.62114.00114.38T:skein256256
131.62132.25134.25T:skein512256
136.25138.88141.00T:k12
142.12143.88146.75T:blake64
150.75151.38152.12blake512
149.75151.75153.25T:skein512512
201.75202.50205.00sha384
205.00206.12207.88sha512
238.38241.00241.62T:keccakc1024
264.38265.25265.50T:keccakc768
265.62265.75266.12T:keccak
266.00266.25266.25T:keccakc512
267.75268.62268.88T:keccakc448
303.62305.75308.12sha3512
303.88306.38312.62shake256
305.00307.25308.75shake128
305.88308.62310.12sha3256
307.62310.75314.88sha3384
309.88312.62315.50sha3224
311.00313.25314.00T:groestl256
327.88330.75332.88T:bblake256
332.62332.88334.88T:skein10241024
336.88337.25338.75T:jh384
337.88338.38338.88T:jh256
338.38338.50338.88T:jh224
338.25338.62340.62T:jh512
388.25389.25389.50T:round3jh256
389.25389.62390.62T:round3jh512
628.50629.25630.75T:groestl512
757.62757.88758.25T:keccakc512treed2
760.00760.25760.75T:keccakc256treed2