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 45nm (1067a); 2009 Intel Core 2 Duo E7600; 2 x 3060MHz; wolfdale, 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
4.814.834.85T:blake2b
5.015.015.01T:k12
5.895.895.90T:blake2s
6.326.366.44T:skein512512
6.326.376.43T:skein512256
6.496.536.57T:blake32
6.386.576.97T:bblake256
7.037.117.14T:blake64
7.167.247.32T:keccakc256treed2
7.337.367.46blake512
8.238.238.26T:skein256256
8.438.468.47blake256
9.159.369.72T:keccakc512treed2
9.369.389.38T:skein10241024
9.669.689.79shake128
9.739.789.89sha384
9.709.799.93sha512
11.1011.1311.14T:keccakc448
11.2811.3111.33sha3224
11.8511.8811.90T:keccakc512
12.0512.0612.10shake256
12.0612.1112.14sha3256
12.6412.6512.67T:keccak
13.0113.0413.06sha256
13.0313.0513.08sha224
15.6915.7015.72T:keccakc768
16.0416.0516.05sha3384
16.7316.9617.37T:jh512
16.9316.9617.07T:jh384
16.9216.9617.00T:jh256
16.9416.9717.03T:jh224
19.9820.0320.16T:round3jh512
19.9520.0720.14T:round3jh256
21.8421.8421.86T:keccakc1024
22.2022.2622.34T:groestl256
22.2822.3022.36sha3512
31.4031.4931.53T:groestl512
Cycles/byte for 4096 bytes
25%50%75%hash
4.864.874.88T:blake2b
5.285.295.29T:k12
5.925.925.93T:blake2s
6.516.536.55T:skein512512
6.516.536.54T:skein512256
6.686.696.69T:blake32
7.227.237.42T:bblake256
7.397.427.43T:blake64
7.657.657.70blake512
8.358.368.36T:skein256256
8.518.528.56T:keccakc256treed2
8.628.628.63blake256
9.769.769.76T:skein10241024
10.0910.1010.28T:keccakc512treed2
10.1410.1410.19shake128
10.1610.1710.22sha384
10.1710.1810.24sha512
11.6011.6011.61T:keccakc448
11.7311.7311.73sha3224
12.3612.3612.37T:keccakc512
12.5012.5012.51shake256
12.5212.5212.54sha3256
13.1213.1213.13T:keccak
13.3413.3513.35sha256
13.3513.3513.36sha224
15.7815.7815.79T:keccakc768
16.0716.0716.07sha3384
17.2317.2517.26T:jh256
17.2417.2517.45T:jh512
17.2517.2517.28T:jh224
17.2517.2617.29T:jh384
20.3420.3720.40T:round3jh256
20.3620.3920.42T:round3jh512
22.3122.3222.32T:keccakc1024
22.7222.7322.75sha3512
22.9022.9122.95T:groestl256
33.4633.4933.51T:groestl512
Cycles/byte for 1536 bytes
25%50%75%hash
4.934.944.94T:blake2b
5.745.745.74T:k12
5.975.975.97T:blake2s
6.776.796.79T:skein512256
6.776.796.79T:skein512512
6.936.956.95T:blake32
7.937.947.95T:blake64
8.118.148.14blake512
8.328.358.50T:bblake256
8.548.548.55T:skein256256
8.908.918.93blake256
9.879.899.94T:keccakc256treed2
10.3910.3910.40T:skein10241024
10.8110.8210.86sha384
10.8110.8710.89sha512
10.8710.8910.89shake128
11.3511.3511.56T:keccakc512treed2
11.8511.8511.86T:keccakc448
11.8811.8811.89sha3224
12.8912.9012.90T:keccakc512
12.9412.9412.97shake256
12.9412.9412.98sha3256
13.8413.8513.87sha224
13.8313.8613.89sha256
13.9013.9013.90T:keccak
15.9115.9115.92T:keccakc768
16.1116.1116.12sha3384
17.7217.7217.72T:jh256
17.7217.7417.74T:jh224
17.7217.7417.94T:jh512
17.7117.7417.77T:jh384
20.8820.8920.94T:round3jh256
20.9720.9720.97T:round3jh512
23.1023.1023.11T:keccakc1024
23.4223.4423.45sha3512
23.9924.0124.02T:groestl256
36.8236.8536.86T:groestl512
Cycles/byte for 576 bytes
25%50%75%hash
5.665.665.67T:blake2b
6.096.096.10T:blake2s
6.416.426.48T:k12
7.437.447.45T:skein512256
7.447.457.46T:skein512512
7.637.667.68T:blake32
8.388.428.44T:blake64
8.588.618.64blake512
9.079.079.07T:skein256256
9.669.699.70blake256
11.5111.5111.63sha384
11.5511.5511.63sha512
11.5511.6111.72T:bblake256
11.7111.7111.72shake128
13.1713.1813.21T:skein10241024
13.4613.4813.64T:keccakc256treed2
14.4014.4114.42sha3224
14.4214.4214.43sha3256
14.4614.4714.49shake256
14.5514.5614.56T:keccak
14.6414.6514.73T:keccakc448
14.6714.6714.68T:keccakc512
15.1315.1715.21sha256
15.1315.1715.20sha224
17.2617.2717.28T:keccakc768
17.2917.2917.29sha3384
17.7117.7117.92T:keccakc512treed2
18.9918.9919.05T:jh384
18.9919.0019.27T:jh512
18.9919.0019.00T:jh224
19.0319.0419.06T:jh256
22.3522.4122.42T:round3jh256
22.4322.4322.43T:round3jh512
25.5525.5625.56T:keccakc1024
25.6025.6125.64sha3512
27.0227.0327.15T:groestl256
42.2242.2242.27T:groestl512
Cycles/byte for 64 bytes
25%50%75%hash
6.987.027.08T:blake2s
12.2312.2312.23T:blake2b
15.3615.3615.36T:skein512256
15.4215.4215.42T:skein512512
15.5215.5315.58T:skein256256
16.6216.7217.08T:blake32
17.8017.8117.83T:blake64
18.0518.0918.09T:k12
19.4219.5919.78blake256
19.5519.7719.78blake512
24.6424.6924.98sha384
24.8624.9725.23sha512
26.7026.7026.73sha3256
26.7326.7326.73sha3224
26.8026.8026.80sha3512
27.0527.0527.06sha3384
27.2527.2527.28shake256
27.3427.3427.50shake128
29.3129.3329.48T:keccakc768
29.2729.3429.52T:keccakc1024
29.4429.5229.52T:keccak
30.0630.1130.16T:keccakc512
29.9430.1930.27T:keccakc448
32.0232.1732.17sha256
31.9732.2532.28sha224
35.2735.2835.33T:jh256
35.5535.6435.70T:jh224
35.3835.6635.66T:jh384
35.7235.7735.89T:jh512
41.3341.3341.33T:round3jh512
41.2741.3641.67T:round3jh256
42.0642.0942.09T:skein10241024
51.3351.4851.92T:bblake256
65.1465.3365.33T:groestl256
82.4182.8083.44T:keccakc256treed2
84.4284.4285.50T:keccakc512treed2
126.95126.98127.16T:groestl512
Cycles/byte for 8 bytes
25%50%75%hash
57.2557.8857.88T:blake2s
79.7581.0081.75T:blake32
88.2588.6289.00blake256
88.7589.0089.00T:skein256256
98.7598.7598.75T:blake2b
122.12122.12122.12T:skein512256
122.62122.62122.62T:skein512512
143.50143.50143.50T:k12
147.88148.00149.38sha256
146.62149.00150.62sha224
148.25149.62149.88T:blake64
150.12151.88151.88blake512
197.50198.88199.88sha384
201.38202.62203.25sha512
212.00212.00213.50sha3224
212.38212.38214.12sha3512
212.88212.88215.12sha3256
214.00214.00214.75sha3384
217.12217.38217.75shake256
217.50218.00218.75shake128
234.25234.25236.00T:keccakc1024
235.88236.25238.12T:keccakc768
237.00237.25238.75T:keccak
238.62240.00240.88T:keccakc448
240.25240.38240.50T:keccakc512
283.75283.75283.75T:jh224
283.50285.00285.00T:jh384
282.12285.38290.62T:jh512
284.38285.50286.38T:jh256
333.88333.88338.12T:round3jh256
333.00334.62334.62T:round3jh512
335.25335.25335.88T:skein10241024
341.00344.12345.25T:bblake256
343.38344.25345.50T:groestl256
659.88661.00668.12T:keccakc256treed2
671.25671.25680.12T:keccakc512treed2
1015.251015.381017.38T:groestl512