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: aarch64; Cortex-A53 (410fd034); 2018 Broadcom BCM2837B0; 4 x 1400MHz; pi3aplus, supercop-20240425

[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
5.935.955.97T:blake2b
6.396.406.41T:skein512512
6.416.416.41T:skein512256
6.396.416.46T:k12
6.556.566.57T:skein256256
9.279.309.34T:skein10241024
9.639.659.68sha512
9.659.669.69sha384
9.769.779.77T:blake2s
10.3210.3510.38T:blake64
11.1811.2011.22blake512
11.2111.2311.28shake128
12.2812.4212.49T:keccakc448
12.6512.6812.81sha3256
12.6612.6812.76shake256
13.0313.0513.06sha3224
13.1513.1813.21T:keccakc512
14.0814.1914.27T:keccak
14.2014.2314.28T:blake32
14.9314.9514.97sha256
14.9314.9514.99sha224
16.7616.8116.92sha3384
17.5617.6717.76T:keccakc768
18.1618.2018.26blake256
18.6518.6818.73T:bblake256
23.2423.3723.53sha3512
24.1324.1524.91T:keccakc1024
39.6039.6642.31T:groestl256
41.6741.6944.27T:jh256
41.2341.7044.33T:jh384
41.6741.7044.25T:jh512
41.6741.7044.30T:jh224
48.4648.6251.15T:round3jh512
48.0248.8351.24T:round3jh256
70.22?76.08?78.08?T:groestl512
Cycles/byte for 4096 bytes
25%50%75%hash
5.975.975.98T:blake2b
6.566.566.56T:skein512256
6.566.566.56T:skein512512
6.686.686.68T:skein256256
6.756.756.78T:k12
9.719.719.73T:skein10241024
9.799.799.80T:blake2s
10.0610.0710.08sha512
10.0710.0710.08sha384
10.7810.7910.80T:blake64
11.5911.6011.61blake512
11.7011.7011.73shake128
12.9312.9612.99T:keccakc448
13.5013.5013.51sha3224
13.5513.5613.59shake256
13.5813.5913.65sha3256
13.7213.7313.74T:keccakc512
14.5314.5414.56T:blake32
14.6914.7214.74T:keccak
15.3015.3115.33sha224
15.3115.3215.32sha256
17.2717.2817.33sha3384
17.7517.7817.81T:keccakc768
18.5418.5518.57blake256
20.6120.6120.63T:bblake256
24.2324.2524.32sha3512
24.7024.7025.08T:keccakc1024
40.6340.6441.96T:groestl256
42.3642.3743.66T:jh256
42.3742.3743.68T:jh384
42.3742.3743.65T:jh512
42.3642.3743.67T:jh224
49.3749.3950.65T:round3jh512
49.3749.4950.69T:round3jh256
76.9078.3579.17T:groestl512
Cycles/byte for 1536 bytes
25%50%75%hash
6.026.036.03T:blake2b
6.826.826.82T:skein512256
6.826.826.82T:skein512512
6.866.866.86T:skein256256
7.337.347.36T:k12
9.849.849.84T:blake2s
10.4010.4110.41T:skein10241024
10.7610.7610.77sha512
10.7510.7610.77sha384
11.5011.5011.51T:blake64
12.2612.2712.27blake512
12.4912.4912.50shake128
13.2613.2813.37T:keccakc448
13.6813.6813.70sha3224
14.3514.3614.38T:keccakc512
14.7314.7414.77shake256
14.8014.8114.84sha3256
15.0515.0615.07T:blake32
15.5815.6415.68T:keccak
15.9115.9215.93sha224
15.9215.9315.95sha256
17.9317.9618.07T:keccakc768
18.0618.0718.09sha3384
19.1119.1319.15blake256
23.8223.8423.85T:bblake256
25.6125.6225.63T:keccakc1024
25.7225.7325.77sha3512
42.2742.2842.29T:groestl256
43.4943.4943.51T:jh224
43.4843.4943.51T:jh256
43.4943.5043.51T:jh384
43.4943.5043.52T:jh512
50.6750.6750.71T:round3jh256
50.6750.6850.76T:round3jh512
82.6283.0786.63T:groestl512
Cycles/byte for 576 bytes
25%50%75%hash
6.776.776.77T:blake2b
7.367.367.38T:skein256256
7.517.517.51T:skein512256
7.527.527.52T:skein512512
8.248.278.31T:k12
9.949.949.94T:blake2s
11.5811.5811.60sha384
11.5711.5811.60sha512
12.2712.2712.30T:blake64
12.7912.8012.80blake512
13.2713.2913.32T:skein10241024
13.4013.4013.46shake128
16.3816.4216.50T:keccakc448
16.4316.4416.45T:keccakc512
16.4316.4516.47T:blake32
16.4816.5116.82T:keccak
16.5016.5316.53sha3224
17.5117.5117.54sha224
17.5317.5617.64sha256
18.2418.2718.29shake256
18.4618.4918.53sha3256
19.5719.6719.99T:keccakc768
20.6620.6820.70blake256
21.3021.3521.44sha3384
28.4128.4128.44T:keccakc1024
30.0230.0730.14sha3512
32.4232.4432.45T:bblake256
46.4846.4846.50T:jh256
46.4946.4946.52T:jh384
46.4846.4946.52T:jh224
46.4946.5046.53T:jh512
46.6946.7046.73T:groestl256
54.1554.1754.27T:round3jh256
54.1754.1754.22T:round3jh512
90.3990.5590.99T:groestl512
Cycles/byte for 64 bytes
25%50%75%hash
11.0011.0011.02T:blake2s
13.2713.2713.28T:blake2b
13.6213.6413.66T:skein256256
15.4715.4815.48T:skein512256
15.5815.5915.59T:skein512512
22.5322.5322.64T:k12
25.5825.5825.58blake512
25.9725.9726.42sha512
26.0226.0226.02sha384
26.3626.3926.47T:blake64
29.8129.8329.84sha3224
30.6130.8430.95shake128
33.4733.4733.48T:keccakc512
33.5233.5233.52T:keccakc1024
33.5333.8634.02T:blake32
34.2234.7036.64T:keccakc768
34.4235.1737.12T:keccakc448
34.4435.2736.91T:keccak
37.5637.5637.78sha224
37.7537.9738.84sha256
40.1940.2040.39blake256
43.7243.7843.94T:skein10241024
54.2554.5854.89shake256
55.2355.6655.95sha3512
55.5955.7756.06sha3384
55.8856.3356.92sha3256
84.7784.7784.88T:jh384
84.7084.8084.81T:jh256
84.8184.8185.03T:jh512
84.7584.8684.98T:jh224
98.3898.3898.48T:round3jh256
98.5298.5298.56T:round3jh512
102.95103.00103.11T:groestl256
141.77141.95142.34T:bblake256
226.56226.97227.28T:groestl512
Cycles/byte for 8 bytes
25%50%75%hash
81.8881.8882.00T:skein256256
87.0087.0087.88T:blake2s
104.62104.62104.75T:blake2b
123.12123.12123.12T:skein512256
124.00124.00124.00T:skein512512
152.62154.25156.38T:blake32
174.50174.50176.25sha224
175.62176.88177.88T:k12
176.00177.75180.38sha256
178.50178.75180.25blake256
207.88207.88209.38blake512
208.38209.25213.00sha512
208.62210.25210.88sha384
214.62215.00216.88T:blake64
235.38235.50237.25sha3224
241.75241.75241.75shake128
267.75267.75269.00T:keccakc1024
268.50268.62269.88T:keccakc512
276.12279.88297.12T:keccak
274.62286.50298.38T:keccakc768
279.38287.62297.62T:keccakc448
349.75350.25351.88T:skein10241024
434.75436.75441.12shake256
443.50446.25449.75sha3512
445.25446.62449.12sha3384
449.25451.50454.38sha3256
503.12503.12505.12T:groestl256
678.75678.75681.88T:jh256
679.12679.12679.88T:jh224
679.25679.25679.25T:jh384
679.62679.62679.62T:jh512
789.38789.38789.38T:round3jh256
790.50790.50792.25T:round3jh512
990.25991.62994.25T:bblake256
1818.621832.621835.75T:groestl512