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; Airmont (406c3); 2015 Intel Pentium N3700; 4 x 1600MHz; nucnuc, 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
8.548.548.57T:blake2b
9.489.499.50T:k12
10.1610.1610.16T:blake2s
11.6111.6111.61T:skein512256
11.6111.6111.61T:skein512512
11.6911.6911.69T:blake32
11.7211.7211.72T:skein256256
12.4912.4912.50T:blake64
12.8112.8212.82T:keccakc256treed2
13.5913.6013.60blake512
13.6013.6213.63blake256
15.0715.2115.34T:bblake256
17.2217.2317.23sha384
17.2317.2317.26T:keccakc512treed2
17.2317.2417.25sha512
17.8417.8817.91T:skein10241024
18.4018.5318.63shake128
20.4520.4520.46sha224
20.4520.4620.46sha256
20.9021.2921.39T:keccakc448
21.4821.5221.56sha3224
22.6422.8322.92T:keccakc512
22.6122.9823.08sha3256
22.9823.0723.14shake256
23.6623.8124.64T:keccak
25.7225.7225.72T:jh256
25.7225.7225.72T:jh512
25.7225.7225.72T:jh224
25.7225.7225.73T:jh384
29.5329.5329.53T:round3jh256
29.5329.5329.55T:round3jh512
30.1930.2930.48T:keccakc768
30.0230.6730.78sha3384
32.7032.7232.74T:groestl256
42.7942.8242.84sha3512
42.3043.4543.46T:keccakc1024
49.2649.3249.37T:groestl512
Cycles/byte for 4096 bytes
25%50%75%hash
8.608.608.61T:blake2b
9.979.979.97T:k12
10.1610.1610.16T:blake2s
11.8511.8511.85T:skein512256
11.8511.8511.85T:skein512512
11.8811.8811.88T:skein256256
11.9511.9511.95T:blake32
12.9812.9812.98T:blake64
13.9213.9213.92blake256
14.1414.1514.15blake512
15.1015.1115.11T:keccakc256treed2
16.4416.4516.51T:bblake256
17.8817.8917.89sha384
17.9017.9017.90sha512
18.4718.4718.48T:keccakc512treed2
18.5518.5518.57T:skein10241024
19.3319.3419.39shake128
20.8820.8820.88sha224
20.8920.8920.89sha256
22.1322.1722.20T:keccakc448
22.3222.3322.34sha3224
23.6523.6823.72T:keccakc512
23.8223.8423.86sha3256
23.8623.8723.89shake256
25.0825.1325.32T:keccak
26.1426.1426.14T:jh256
26.1426.1426.14T:jh384
26.1426.1426.14T:jh512
26.1426.1426.14T:jh224
30.0230.0230.02T:round3jh256
30.0230.0230.02T:round3jh512
30.4130.4430.52T:keccakc768
30.7030.7030.75sha3384
33.6433.6533.66T:groestl256
43.5843.6043.61sha3512
43.2143.7743.77T:keccakc1024
52.1052.1152.13T:groestl512
Cycles/byte for 1536 bytes
25%50%75%hash
8.658.658.65T:blake2b
10.1710.1710.17T:blake2s
10.7810.7810.80T:k12
12.1512.1512.15T:skein256256
12.2612.2612.26T:skein512256
12.2612.2612.27T:skein512512
12.3812.3812.38T:blake32
13.7913.7913.79T:blake64
14.4014.4114.42blake256
15.0615.0615.10blake512
17.5217.5317.53T:keccakc256treed2
18.4818.5118.58T:bblake256
18.9818.9818.99sha384
19.0019.0119.01sha512
19.6819.6819.68T:skein10241024
20.5320.5320.54T:keccakc512treed2
20.6820.7020.72shake128
21.6021.6021.60sha224
21.6121.6121.61sha256
22.6522.6822.70sha3224
22.6322.6922.95T:keccakc448
24.6324.6524.73sha3256
24.6924.7324.76T:keccakc512
24.6824.7424.77shake256
26.4926.5026.54T:keccak
26.8426.8426.85T:jh256
26.8526.8526.85T:jh384
26.8526.8526.85T:jh512
26.8526.8526.85T:jh224
30.6430.6830.72T:keccakc768
30.7530.7631.39sha3384
30.8330.8330.84T:round3jh512
30.8330.8330.83T:round3jh256
35.2135.2135.21T:groestl256
44.7344.7544.76T:keccakc1024
44.9044.9044.90sha3512
56.7656.8056.86T:groestl512
Cycles/byte for 576 bytes
25%50%75%hash
9.749.749.76T:blake2b
10.1810.1810.18T:blake2s
12.0112.0612.09T:k12
12.8812.8812.88T:skein256256
13.3113.3113.31T:skein512256
13.3213.3213.32T:skein512512
13.5413.5413.56T:blake32
14.6614.6714.67T:blake64
15.7315.7415.76blake256
16.0116.0116.01blake512
20.0820.0820.10sha384
20.1320.1620.19sha512
22.2322.3023.12shake128
23.5123.5123.51sha224
23.5323.5323.53sha256
23.9623.9623.96T:keccakc256treed2
23.9824.0024.06T:bblake256
24.7724.7724.86T:skein10241024
27.4727.5127.70sha3256
27.5527.5927.72sha3224
27.7828.1028.19shake256
27.9728.1128.41T:keccakc448
27.8928.1228.34T:keccakc512
27.7228.3228.39T:keccak
28.7228.7228.73T:jh256
28.7228.7228.72T:jh384
28.7328.7328.74T:jh512
28.7328.7328.73T:jh224
31.6931.7331.76T:keccakc512treed2
32.9032.9033.30sha3384
32.9832.9832.99T:round3jh512
32.9832.9932.99T:round3jh256
33.1333.2333.68T:keccakc768
39.4039.4139.42T:groestl256
49.2349.2950.19T:keccakc1024
49.0449.8749.94sha3512
63.3563.4363.57T:groestl512
Cycles/byte for 64 bytes
25%50%75%hash
10.2510.2510.73T:blake2s
18.8618.8618.86T:blake2b
21.9121.9121.91T:skein256256
26.4826.4826.50T:skein512256
26.6126.6126.61T:skein512512
28.1628.1628.16T:blake32
30.9831.0231.02T:blake64
31.8131.8332.23T:k12
32.5332.6232.69blake256
35.1135.1435.14blake512
42.1142.1142.11sha384
42.4842.5042.67sha512
47.6747.6947.72sha224
47.8647.9147.91sha256
50.1750.2250.92sha3512
50.2051.1751.75sha3384
50.1651.2551.61sha3256
51.4851.8452.48shake256
50.1452.0553.20sha3224
52.3852.3852.44T:jh256
52.4252.4252.42T:jh384
52.4452.4452.52T:jh512
52.4552.4552.48T:jh224
52.1452.8053.20shake128
55.4456.3957.88T:keccak
56.8156.8657.59T:keccakc512
56.4156.8857.86T:keccakc768
56.7256.9457.23T:keccakc1024
56.6656.9859.03T:keccakc448
60.2360.2360.30T:round3jh256
60.3060.3060.34T:round3jh512
78.9178.9178.91T:skein10241024
92.1192.1292.17T:groestl256
93.5893.5893.59T:bblake256
146.64146.64146.64T:keccakc256treed2
147.22147.22147.22T:keccakc512treed2
175.27175.45175.83T:groestl512
Cycles/byte for 8 bytes
25%50%75%hash
83.6283.6283.62T:blake2s
127.38127.38127.38T:skein256256
138.12138.12138.12T:blake32
149.38149.38150.38T:blake2b
157.00157.38157.38blake256
210.12210.12210.12T:skein512256
211.12211.12211.25T:skein512512
213.00213.25213.50sha224
214.50215.00215.00sha256
250.00250.62251.25T:blake64
254.25254.25257.62T:k12
277.75277.75277.75blake512
334.75334.75335.38sha384
340.38340.62341.75sha512
400.00400.00400.00sha3384
400.12400.12400.12sha3512
399.88403.12409.12sha3256
399.62403.50409.75sha3224
410.38413.50418.25shake128
409.25416.00417.25shake256
420.88420.88421.50T:jh384
421.38421.38421.38T:jh256
421.38421.38422.00T:jh512
421.12421.50421.50T:jh224
439.38439.38439.38T:keccak
445.50446.00446.62T:keccakc512
446.38448.12463.62T:keccakc768
451.00451.12451.62T:keccakc1024
450.12457.88472.88T:keccakc448
473.38473.62474.12T:groestl256
485.00485.00490.25T:round3jh256
485.62485.62485.62T:round3jh512
630.75630.75630.75T:skein10241024
635.12635.38636.75T:bblake256
1171.751171.751171.75T:keccakc256treed2
1176.621176.621176.62T:keccakc512treed2
1420.501422.001424.12T:groestl512