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; Sandy Bridge+AES (206a7); 2011 Intel Xeon E3-1225; 4 x 3100MHz; hydra7, 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: old (bytes,cycles)
Cycles/byte for long messages
25%50%75%hash
3.363.383.39T:blake2b
4.814.834.86T:k12
5.285.305.33T:keccakc256treed2
5.345.345.35T:blake2s
6.176.236.30blake512
6.196.266.35T:bblake256
6.256.286.32T:skein512512
6.256.286.31T:skein512256
6.366.406.45T:blake64
6.596.606.61T:blake32
7.037.097.13T:keccakc512treed2
7.577.587.59blake256
7.937.978.00sha512
7.977.998.02sha384
9.149.239.38shake128
9.679.709.73T:groestl256
9.709.769.81T:skein256256
9.9810.0510.14T:skein10241024
10.0510.1010.15T:keccakc448
10.6610.7410.80sha3224
10.38?10.80?11.63?T:keccakc512
11.3611.4511.51sha256
11.3711.4511.53shake256
11.4311.4711.52sha224
11.4111.4811.54sha3256
11.4811.5111.54T:keccak
12.8712.9313.03T:groestl512
13.6813.7213.77T:jh224
13.6813.7313.79T:jh384
13.7013.7413.76T:jh256
13.8113.8713.91T:jh512
14.3814.4214.45T:keccakc768
15.2015.2615.35sha3384
15.5815.6315.69T:round3jh512
15.5415.6715.73T:round3jh256
18.62?20.12?22.91?T:keccakc1024
21.2221.2821.36sha3512
Cycles/byte for 4096 bytes
25%50%75%hash
3.433.433.43T:blake2b
5.165.165.17T:k12
5.365.365.36T:blake2s
6.276.276.28T:keccakc256treed2
6.406.416.42T:skein512512
6.406.416.41T:skein512256
6.456.466.49blake512
6.646.656.67T:blake64
6.766.776.77T:blake32
6.956.977.00T:bblake256
7.617.637.64T:keccakc512treed2
7.747.747.74blake256
8.708.708.71sha512
8.708.708.71sha384
9.649.669.72shake128
9.859.869.88T:skein256256
10.0910.1010.11T:groestl256
10.4410.4510.47T:skein10241024
10.5310.5410.56T:keccakc448
11.1311.1511.17sha3224
11.2511.2711.66T:keccakc512
11.8711.8811.91shake256
11.8811.8911.91sha3256
11.9311.9311.94T:keccak
12.0912.1012.12sha224
12.1012.1112.13sha256
13.7013.7113.75T:groestl512
13.9613.9713.99T:jh224
13.9613.9714.00T:jh384
13.9713.9813.98T:jh256
14.1014.1014.12T:jh512
14.4614.4714.48T:keccakc768
15.2915.3115.34sha3384
15.8815.8915.91T:round3jh512
15.8715.9115.93T:round3jh256
20.5120.5321.92T:keccakc1024
21.7021.7121.73sha3512
Cycles/byte for 1536 bytes
25%50%75%hash
3.493.503.52T:blake2b
5.385.385.38T:blake2s
5.695.715.72T:k12
6.626.636.66T:skein512512
6.616.646.66T:skein512256
6.856.876.89blake512
7.037.037.04T:blake32
7.077.087.09T:blake64
7.317.327.34T:keccakc256treed2
8.008.018.01blake256
8.148.168.20T:bblake256
8.518.548.56T:keccakc512treed2
9.889.899.91sha384
9.929.939.95sha512
10.0310.0510.08T:skein256256
10.3210.3710.43shake128
10.7410.7510.77T:keccakc448
10.7410.7610.78T:groestl256
11.0711.1211.19T:skein10241024
11.3111.3511.39sha3224
11.7611.8412.16T:keccakc512
12.2912.3212.38sha3256
12.2912.3312.35shake256
12.6312.6412.66T:keccak
13.1113.1313.17sha224
13.1813.2213.28sha256
14.3714.3814.39T:jh384
14.3714.3814.41T:jh256
14.3714.3914.42T:jh224
14.4914.5214.53T:jh512
14.5514.5714.58T:keccakc768
15.0015.0115.07T:groestl512
15.3515.3915.42sha3384
16.3116.3216.37T:round3jh256
16.3316.3416.38T:round3jh512
21.2221.2622.67T:keccakc1024
22.3722.4222.46sha3512
Cycles/byte for 576 bytes
25%50%75%hash
4.084.084.11T:blake2b
5.435.435.43T:blake2s
6.606.626.64T:k12
7.177.217.24T:skein512256
7.187.227.25T:skein512512
7.317.367.39blake512
7.617.647.71T:blake64
7.717.727.74T:blake32
8.738.738.74blake256
10.1110.1310.16T:keccakc256treed2
10.5210.5510.58T:skein256256
11.1411.1911.29shake128
11.6711.6911.81T:bblake256
12.2312.2612.29sha384
12.3212.3612.39sha512
12.4812.5312.57T:groestl256
13.2313.2513.29T:keccak
13.2513.2913.33T:keccakc512treed2
13.3013.4213.49T:keccakc448
13.3113.5313.74T:keccakc512
13.7013.7613.86sha3224
13.7113.8513.93sha3256
13.7313.8613.96shake256
13.9014.0014.12T:skein10241024
15.3915.4215.46T:jh384
15.3615.4315.47T:jh256
15.4215.4615.50T:jh224
15.5415.5715.63T:jh512
15.8215.8515.88T:keccakc768
15.8715.8915.93sha224
15.9816.0216.17sha256
16.4716.5216.58sha3384
17.3217.3417.38T:groestl512
17.4817.5117.56T:round3jh256
17.4817.5317.57T:round3jh512
23.3923.4325.01T:keccakc1024
24.4924.5624.63sha3512
Cycles/byte for 64 bytes
25%50%75%hash
6.066.086.09T:blake2s
9.369.449.58T:blake2b
14.3614.4414.52T:skein512256
14.3914.4514.62T:skein512512
16.3616.4516.58blake512
16.4716.5616.64T:blake32
17.0917.2817.50T:skein256256
17.2517.3417.53T:blake64
18.0218.0518.12blake256
20.5820.7020.84T:k12
25.8925.9826.09sha3256
25.9226.0026.31sha3512
25.9226.0226.69sha3384
25.9426.0526.67sha3224
26.0326.1226.89shake256
26.1226.3626.95shake128
26.4426.5626.73T:keccak
26.5526.6426.78T:keccakc768
26.6626.7828.50T:keccakc1024
27.4127.8029.44T:keccakc512
27.8428.7229.09T:keccakc448
28.6228.7728.92T:jh256
28.7228.9429.08T:jh384
28.8129.0329.14T:jh224
28.9829.1729.36T:jh512
32.3332.5532.89T:round3jh256
32.4432.7832.97T:round3jh512
34.6134.8435.25T:groestl256
45.2245.3145.48T:skein10241024
46.5946.7046.88sha384
47.5347.8048.00sha512
51.4851.6451.97sha224
52.1152.2052.36T:groestl512
53.1253.6154.80sha256
54.3454.5355.34T:bblake256
62.6462.8062.92T:keccakc256treed2
63.2564.1164.78T:keccakc512treed2
Cycles/byte for 8 bytes
25%50%75%hash
52.0052.1252.25T:blake2s
75.1275.5078.50T:blake2b
82.6283.1284.00T:blake32
86.0086.5086.88blake256
97.2598.5099.38T:skein256256
114.38115.25115.88T:skein512256
115.00115.88116.38T:skein512512
131.50132.38133.62blake512
138.00139.12140.75T:blake64
163.12163.75165.25T:k12
201.50203.25204.62T:groestl256
205.75206.50213.12sha3224
205.88206.62212.88sha3384
205.75206.75213.00sha3256
206.62208.00214.00shake256
207.75208.50215.38shake128
206.62210.12214.25sha3512
212.88213.62214.62T:keccak
213.88215.00216.00T:keccakc768
213.88215.62228.12T:keccakc1024
218.38221.38240.12T:keccakc512
222.00227.00236.38T:keccakc448
228.88231.00232.62T:jh256
230.62231.88233.12T:jh384
231.12232.38233.00T:jh224
235.38236.88239.12T:jh512
261.12262.00265.00T:round3jh512
261.25262.38264.62T:round3jh256
317.75319.50321.75sha224
327.25330.25332.88sha256
361.62364.12364.88T:skein10241024
366.25367.00369.75T:bblake256
372.62374.38376.12sha384
380.25381.75383.38sha512
398.38398.88399.62T:groestl512
500.00501.62502.62T:keccakc256treed2
506.12510.50519.62T:keccakc512treed2