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; Silvermont (406c4); 2016 Intel Atom x5-Z8350; 4 x 1440MHz; cherry, supercop-20240625

[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
8.558.558.57T:blake2b
9.409.439.48T:k12
10.1610.1610.16T:blake2s
11.6111.6111.63T:skein512512
11.6111.6111.64T:skein512256
11.6911.6911.69T:blake32
11.7211.7211.75T:skein256256
12.4812.4912.50T:blake64
12.8112.8112.82T:keccakc256treed2
13.5913.6013.60blake512
13.6213.6213.63blake256
14.9515.2415.64T:bblake256
17.2217.2317.23sha384
17.2217.2317.24sha512
17.2217.2317.24T:keccakc512treed2
17.8717.9017.94T:skein10241024
18.1918.4718.52shake128
20.4520.4520.46sha256
20.4520.4520.46sha224
21.1421.2421.27T:keccakc448
21.5321.5922.28sha3224
22.6722.7623.51T:keccakc512
23.0523.0523.56sha3256
23.0223.1023.14shake256
23.6723.7223.87T:keccak
25.7225.7225.72T:jh512
25.6125.7225.72T:jh256
25.7125.7225.76T:jh384
25.7125.7225.84T:jh224
29.5329.5329.53T:round3jh256
29.5329.5329.53T:round3jh512
29.8130.2130.31T:keccakc768
30.1330.6830.70sha3384
32.6832.7132.74T:groestl256
41.6142.2242.37T:keccakc1024
42.8042.8044.08sha3512
49.2849.3349.43T:groestl512
Cycles/byte for 4096 bytes
25%50%75%hash
8.608.608.60T:blake2b
9.939.949.96T:k12
10.1610.1610.16T:blake2s
11.8511.8511.86T:skein512256
11.8511.8511.86T:skein512512
11.8811.8811.90T:skein256256
11.9511.9511.95T:blake32
12.9712.9712.98T:blake64
13.9213.9213.92blake256
14.1514.1514.15blake512
15.1015.1015.11T:keccakc256treed2
16.4516.4816.67T:bblake256
17.8917.8917.89sha384
17.9017.9017.90sha512
18.4718.4718.47T:keccakc512treed2
18.5618.5618.58T:skein10241024
19.3119.3119.32shake128
20.8920.8920.89sha256
20.8920.8920.89sha224
22.1322.1522.16T:keccakc448
22.3422.3522.70sha3224
23.6523.6824.03T:keccakc512
23.8323.8324.08sha3256
23.8823.8823.89shake256
25.0925.1125.12T:keccak
26.1426.1426.14T:jh256
26.1426.1426.16T:jh384
26.1426.1426.14T:jh512
26.1426.1426.20T:jh224
30.0230.0230.02T:round3jh256
30.0230.0230.02T:round3jh512
30.3830.3930.42T:keccakc768
30.6930.7030.71sha3384
33.6433.6533.66T:groestl256
43.1743.2043.23T:keccakc1024
43.6043.6044.23sha3512
52.1552.1752.20T:groestl512
Cycles/byte for 1536 bytes
25%50%75%hash
8.658.658.65T:blake2b
10.1710.1710.17T:blake2s
10.7810.8010.81T:k12
12.1512.1512.15T:skein256256
12.2612.2612.26T:skein512256
12.2612.2612.26T:skein512512
12.3912.3912.39T:blake32
13.7813.7813.79T:blake64
14.4114.4214.43blake256
15.0615.0615.07blake512
17.5217.5217.53T:keccakc256treed2
18.4818.5318.69T:bblake256
18.9919.0019.00sha384
19.0119.0119.02sha512
19.6819.6819.68T:skein10241024
20.5320.5320.62T:keccakc512treed2
20.7020.7321.02shake128
21.6021.6021.61sha224
21.6121.6121.61sha256
22.6122.6422.69T:keccakc448
22.6222.7022.74sha3224
24.6324.6324.64sha3256
24.6824.7225.13T:keccakc512
24.6924.7624.76shake256
26.8426.8426.85T:jh256
26.8526.8526.85T:jh384
26.8526.8526.85T:jh224
26.8526.8526.85T:jh512
26.5827.1527.19T:keccak
30.5730.5830.62T:keccakc768
30.7430.7430.74sha3384
30.8330.8330.83T:round3jh256
30.8330.8330.83T:round3jh512
35.1935.2035.21T:groestl256
44.7044.7445.33T:keccakc1024
44.9144.9144.91sha3512
56.8756.8856.91T:groestl512
Cycles/byte for 576 bytes
25%50%75%hash
9.749.749.75T:blake2b
10.1810.1810.18T:blake2s
12.0412.0812.13T:k12
12.8812.8812.88T:skein256256
13.3113.3113.31T:skein512256
13.3213.3213.33T:skein512512
13.5413.5513.55T:blake32
14.6614.6614.69T:blake64
15.7315.7415.76blake256
16.0116.0416.04blake512
20.1020.1120.13sha384
20.1320.1520.16sha512
22.2022.2122.27shake128
23.5123.5123.52sha224
23.5323.5323.53sha256
23.9623.9623.98T:keccakc256treed2
23.9223.9924.19T:bblake256
24.7724.7724.77T:skein10241024
27.4427.4527.56sha3224
27.5827.5827.59shake256
27.8427.9628.18T:keccakc448
27.8727.9727.97sha3256
28.0128.1328.56T:keccak
28.0128.1928.59T:keccakc512
28.7228.7228.73T:jh256
28.7228.7228.72T:jh384
28.7328.7328.74T:jh512
28.7328.7328.74T:jh224
31.6931.6931.73T:keccakc512treed2
32.9832.9832.99T:round3jh256
32.9832.9932.99T:round3jh512
32.8932.9933.93sha3384
33.0933.0933.13T:keccakc768
39.3639.3839.39T:groestl256
49.0549.0549.40sha3512
49.4649.7450.54T:keccakc1024
63.4763.6663.71T:groestl512
Cycles/byte for 64 bytes
25%50%75%hash
10.2510.2510.77T:blake2s
18.8418.8418.84T:blake2b
21.9121.9121.97T:skein256256
26.4826.4826.50T:skein512256
26.6126.6126.61T:skein512512
28.1628.1628.25T:blake32
30.5230.5630.73T:blake64
31.8131.8132.23T:k12
32.6132.7032.83blake256
35.1135.1235.36blake512
42.0542.1142.25sha384
42.4842.5242.69sha512
47.6647.6747.75sha224
47.8447.8447.91sha256
50.1750.2051.38sha3384
50.1450.5351.53sha3224
50.2350.7751.34sha3512
50.1651.1451.17sha3256
51.3852.1452.69shake128
52.3852.3852.44T:jh256
52.4252.4252.42T:jh384
52.4552.4852.53T:jh224
52.4452.5252.53T:jh512
52.0852.6653.41shake256
54.9255.3857.03T:keccak
55.4255.9256.12T:keccakc768
56.1956.4757.52T:keccakc1024
57.0957.6158.95T:keccakc512
56.9757.7859.58T:keccakc448
60.2360.2360.34T:round3jh256
60.3060.3160.34T:round3jh512
78.9178.9178.91T:skein10241024
91.9891.9892.09T:groestl256
93.6293.8494.34T:bblake256
146.64146.64146.64T:keccakc256treed2
147.22147.22147.30T:keccakc512treed2
175.80177.69178.09T:groestl512
Cycles/byte for 8 bytes
25%50%75%hash
83.6283.6283.62T:blake2s
127.38127.38127.38T:skein256256
138.12138.12138.88T:blake32
149.25149.25150.62T:blake2b
157.38157.38157.38blake256
210.12210.12212.50T:skein512256
211.12211.12211.25T:skein512512
214.50214.50215.00sha256
214.75215.00215.38sha224
246.38247.50249.25T:blake64
254.25254.25257.62T:k12
277.75277.75279.62blake512
337.25337.75339.25sha384
340.50341.12342.38sha512
399.25399.25402.00sha3384
399.38399.38403.62sha3512
399.75399.75400.00sha3256
399.62402.12406.62sha3224
406.62407.50410.12shake256
409.75413.50423.25shake128
421.38421.38421.38T:jh256
421.38421.38422.00T:jh512
420.88421.50421.50T:jh384
421.50421.75422.38T:jh224
443.62444.12451.38T:keccakc1024
443.75444.25454.00T:keccakc768
447.12447.88455.25T:keccak
448.75449.38454.50T:keccakc512
450.25454.25459.25T:keccakc448
470.38471.25473.50T:groestl256
485.00485.00485.00T:round3jh256
485.38485.38485.38T:round3jh512
630.75630.75630.75T:skein10241024
635.62635.88640.88T:bblake256
1171.751171.751171.75T:keccakc256treed2
1176.621176.621180.62T:keccakc512treed2
1439.251444.621446.50T:groestl512