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; Core 2 65nm (6fb); 2007 Intel Core 2 Duo T7300; 2 x 2000MHz; trident, 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: old (bytes,cycles)
Cycles/byte for long messages
25%50%75%hash
4.804.844.84T:blake2b
4.984.984.99T:k12
6.366.396.43T:skein512512
6.356.416.44T:skein512256
6.987.087.15T:blake64
7.357.397.48blake512
7.417.427.43T:keccakc256treed2
8.018.168.16T:blake2s
8.248.248.25T:skein256256
9.369.389.40T:skein10241024
9.709.719.71T:keccakc512treed2
9.719.739.75shake128
9.679.789.96sha384
9.729.789.81sha512
9.889.959.99T:blake32
10.4610.5710.72T:bblake256
11.2211.2211.23T:keccakc448
11.2311.2311.33sha3224
11.9011.9111.92T:keccakc512
12.0712.0812.09sha3256
12.0712.0812.16shake256
12.5112.5612.60blake256
12.6412.6512.66T:keccak
13.7213.7413.80sha256
13.7013.7513.78sha224
15.7015.7115.72T:keccakc768
15.9515.9816.05sha3384
17.7817.8017.84T:jh256
17.8017.8317.84T:jh384
17.8217.8517.86T:jh512
17.8217.8717.88T:jh224
20.7320.7620.80T:round3jh256
20.7220.7620.79T:round3jh512
21.9221.9321.94T:keccakc1024
22.1422.2222.35sha3512
22.1822.2422.36T:groestl256
33.2633.2933.33T:groestl512
Cycles/byte for 4096 bytes
25%50%75%hash
4.874.884.88T:blake2b
5.265.275.27T:k12
6.536.556.57T:skein512512
6.536.566.57T:skein512256
7.377.387.41T:blake64
7.667.677.71blake512
8.038.118.11T:blake2s
8.368.368.36T:skein256256
8.738.738.74T:keccakc256treed2
9.789.789.79T:skein10241024
10.1510.1510.16shake128
10.1410.1610.18sha512
10.1310.1710.18T:blake32
10.1710.1810.27sha384
10.4710.4710.47T:keccakc512treed2
11.4711.4911.56T:bblake256
11.6911.6911.74sha3224
11.7011.7011.70T:keccakc448
12.4012.4012.40T:keccakc512
12.4912.4912.50sha3256
12.4912.5012.54shake256
12.7812.7912.81blake256
13.1213.1213.13T:keccak
14.0714.0714.09sha256
14.0614.0814.09sha224
15.8015.8015.80T:keccakc768
15.9916.0016.03sha3384
18.1118.1218.13T:jh256
18.1218.1318.13T:jh384
18.1418.1518.15T:jh512
18.1418.1518.16T:jh224
21.1121.1121.12T:round3jh256
21.1121.1221.13T:round3jh512
22.4122.4122.42T:keccakc1024
22.6422.6622.71sha3512
22.9022.9122.96T:groestl256
35.0835.0935.09T:groestl512
Cycles/byte for 1536 bytes
25%50%75%hash
4.944.954.96T:blake2b
5.735.745.74T:k12
6.806.806.80T:skein512512
6.806.816.83T:skein512256
7.897.937.96T:blake64
8.088.088.09T:blake2s
8.138.168.17blake512
8.558.568.57T:skein256256
10.1510.1510.15T:keccakc256treed2
10.4510.4510.47T:skein10241024
10.5010.5110.54T:blake32
10.8110.8110.82sha512
10.8310.8410.94sha384
10.8510.8610.86shake128
11.7611.7711.77T:keccakc512treed2
11.8911.8911.89sha3224
11.9511.9611.96T:keccakc448
12.9112.9212.92sha3256
12.9212.9312.93shake256
12.9412.9412.95T:keccakc512
13.0113.0313.09T:bblake256
13.1713.1813.20blake256
13.9013.9113.91T:keccak
14.6114.6214.66sha256
14.6214.6514.66sha224
15.9615.9615.96T:keccakc768
16.0316.0416.05sha3384
18.6018.6118.62T:jh384
18.6018.6118.61T:jh256
18.6118.6118.66T:jh224
18.6418.6518.66T:jh512
21.6821.7121.72T:round3jh256
21.7021.7121.73T:round3jh512
23.2023.2023.21T:keccakc1024
23.3523.3623.38sha3512
24.0524.0624.06T:groestl256
38.1138.1238.14T:groestl512
Cycles/byte for 576 bytes
25%50%75%hash
5.695.695.69T:blake2b
6.436.456.48T:k12
7.477.517.51T:skein512256
7.507.527.52T:skein512512
8.228.228.23T:blake2s
8.418.498.51T:blake64
8.648.668.70blake512
9.099.109.13T:skein256256
11.4411.4511.49T:blake32
11.5711.5911.59sha512
11.5511.6011.64sha384
11.6811.6811.69shake128
13.2913.2913.37T:skein10241024
13.7913.8613.89T:keccakc256treed2
14.2214.2514.25blake256
14.4114.4314.45sha3256
14.4314.4314.43sha3224
14.4514.4614.47shake256
14.5814.5914.59T:keccak
14.7314.7314.75T:keccakc512
14.7514.7614.82T:keccakc448
16.0516.0816.10sha224
16.0516.0916.12sha256
17.1917.1917.24sha3384
17.4317.4317.46T:keccakc768
17.4517.5017.56T:bblake256
18.2818.2818.28T:keccakc512treed2
19.8819.9119.91T:jh256
19.9219.9220.02T:jh224
19.9219.9419.98T:jh384
19.9420.0020.01T:jh512
23.2323.2323.25T:round3jh256
23.2523.2523.27T:round3jh512
25.5425.6025.60sha3512
25.6325.6325.66T:keccakc1024
26.9627.0027.07T:groestl256
42.4742.5642.58T:groestl512
Cycles/byte for 64 bytes
25%50%75%hash
9.449.449.44T:blake2s
12.5012.5012.50T:blake2b
15.7515.7515.75T:skein512256
15.8015.8416.31T:skein256256
15.8615.8615.86T:skein512512
17.9818.0218.36T:blake64
18.1618.1618.22T:k12
20.0220.0220.19blake512
23.8324.1624.27T:blake32
25.3025.3825.48sha384
25.5325.6625.67sha512
26.9126.9227.03sha3256
26.9526.9526.95sha3224
26.9526.9527.08sha3512
26.9727.0327.03sha3384
27.2527.2727.31shake256
27.3627.4527.45shake128
27.7327.8327.92blake256
29.2529.3429.34T:keccakc1024
29.7829.8029.83T:keccak
30.1930.2230.25T:keccakc512
30.2030.4530.52T:keccakc768
30.4730.5230.58T:keccakc448
33.8133.8334.09sha224
34.1234.3434.41sha256
36.9737.2037.20T:jh256
37.2037.2037.36T:jh224
37.2537.2537.27T:jh384
37.3337.3337.45T:jh512
42.4442.4843.25T:skein10241024
42.8942.8942.92T:round3jh256
43.0243.0243.06T:round3jh512
64.4864.5964.59T:groestl256
72.7272.8673.09T:bblake256
84.2084.5384.66T:keccakc256treed2
87.3687.3687.36T:keccakc512treed2
116.30116.70116.70T:groestl512
Cycles/byte for 8 bytes
25%50%75%hash
76.7577.0077.38T:blake2s
90.1290.5096.88T:skein256256
101.00101.00101.00T:blake2b
108.62110.12111.62T:blake32
122.38122.50124.00blake256
125.50125.50125.62T:skein512256
125.50125.50125.75T:skein512512
145.12145.12147.88T:k12
149.12149.75151.12T:blake64
153.75153.75155.12blake512
154.88155.38156.88sha224
158.50159.25159.88sha256
203.00203.50203.88sha384
205.12205.25205.75sha512
213.50213.50214.88sha3224
213.62213.62216.50sha3512
213.75213.75215.12sha3384
213.88214.00215.12sha3256
216.62216.75217.75shake256
217.25217.88217.88shake128
235.12236.25237.88T:keccakc1024
239.88240.00241.62T:keccak
240.38241.25243.00T:keccakc512
241.00242.50242.88T:keccakc448
243.75244.38245.88T:keccakc768
295.50295.50300.25T:jh224
297.00297.00300.38T:jh512
299.25300.00300.25T:jh256
299.50300.25300.25T:jh384
336.25338.00339.00T:groestl256
338.12338.25344.50T:skein10241024
344.12344.50349.00T:round3jh256
345.25346.75350.62T:round3jh512
476.00476.88477.88T:bblake256
672.88674.25674.88T:keccakc256treed2
691.88691.88692.38T:keccakc512treed2
923.50925.38927.25T:groestl512