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 (206a7); 2011 Intel Core i3-2310M; 2 x 2100MHz; h6sandy, 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.373.393.40T:blake2b
4.904.924.94T:k12
5.295.315.34T:keccakc256treed2
5.345.355.35T:blake2s
5.345.415.50T:bblake256
5.645.685.73T:blake32
6.176.226.25T:skein512256
6.176.236.29blake512
6.256.276.30T:skein512512
6.276.336.38T:blake64
7.047.087.11T:keccakc512treed2
7.577.577.58blake256
7.957.988.01sha512
7.947.998.01sha384
9.469.509.52shake128
9.719.779.84T:skein256256
9.9610.0610.25T:skein10241024
10.0410.0710.10T:keccakc448
10.6110.8111.19T:keccakc512
11.0111.0411.08sha3224
11.4111.4611.49sha256
11.4311.4611.50sha224
11.4311.5011.58T:keccak
11.7611.7811.81shake256
11.6111.8112.13sha3256
13.0213.0613.09T:jh384
13.0413.0813.16T:jh256
13.0513.1013.14T:jh224
13.0713.1313.16T:jh512
14.3414.4214.47T:keccakc768
15.3015.3415.39T:round3jh512
15.2815.3715.49T:round3jh256
15.6815.7415.80sha3384
16.8517.2117.45T:groestl256
20.0420.1120.16T:keccakc1024
21.7721.8221.86sha3512
23.4323.4723.52T:groestl512
Cycles/byte for 4096 bytes
25%50%75%hash
3.433.433.43T:blake2b
5.195.195.20T:k12
5.365.365.36T:blake2s
5.825.825.84T:blake32
6.016.026.06T:bblake256
6.276.286.29T:keccakc256treed2
6.346.366.36T:skein512256
6.406.416.42T:skein512512
6.466.476.50blake512
6.596.606.62T:blake64
7.617.627.63T:keccakc512treed2
7.727.737.73blake256
8.698.708.71sha384
8.718.718.72sha512
9.869.879.90T:skein256256
9.919.929.92shake128
10.4410.4710.55T:skein10241024
10.5010.5010.51T:keccakc448
11.2411.2511.43T:keccakc512
11.4511.4611.47sha3224
11.9111.9311.95T:keccak
12.0912.1012.11sha224
12.0912.1012.11sha256
12.2012.2112.21shake256
12.2112.2312.38sha3256
13.2813.2813.29T:jh384
13.3213.3313.35T:jh256
13.3313.3413.36T:jh224
13.3313.3513.36T:jh512
14.4614.4814.50T:keccakc768
15.6015.6115.63T:round3jh512
15.6115.6315.69T:round3jh256
15.7315.7515.77sha3384
18.6918.7618.84T:groestl256
20.5220.5320.55T:keccakc1024
22.2522.2722.28sha3512
24.9324.9424.96T:groestl512
Cycles/byte for 1536 bytes
25%50%75%hash
3.493.513.51T:blake2b
5.385.385.39T:blake2s
5.615.625.63T:k12
6.036.056.08T:blake32
6.566.586.60T:skein512256
6.616.636.64T:skein512512
6.866.896.91blake512
7.017.037.07T:bblake256
7.017.047.07T:blake64
7.327.337.34T:keccakc256treed2
7.998.008.00blake256
8.528.548.57T:keccakc512treed2
9.879.889.90sha384
9.929.949.96sha512
10.0210.0510.08T:skein256256
10.5810.5910.60shake128
10.7310.7410.75T:keccakc448
11.0911.1511.20T:skein10241024
11.6211.6211.63sha3224
11.7011.7211.89T:keccakc512
12.6012.6212.66T:keccak
12.6412.6612.67shake256
12.6412.6712.83sha3256
13.1213.1513.16sha224
13.1513.1613.18sha256
13.6413.6513.68T:jh384
13.7013.7313.75T:jh224
13.7013.7313.76T:jh512
13.7113.7413.77T:jh256
14.5514.6114.64T:keccakc768
15.7715.7915.82sha3384
16.0516.0616.08T:round3jh512
16.0516.0916.14T:round3jh256
20.8821.0921.44T:groestl256
21.2221.2521.30T:keccakc1024
22.9723.0023.01sha3512
27.3627.3927.41T:groestl512
Cycles/byte for 576 bytes
25%50%75%hash
4.064.074.08T:blake2b
5.435.455.45T:blake2s
6.266.276.30T:k12
6.646.656.70T:blake32
7.117.137.22T:skein512256
7.197.217.23T:skein512512
7.357.397.43blake512
7.527.557.59T:blake64
8.658.668.67blake256
9.949.9710.00T:bblake256
10.1310.1410.16T:keccakc256treed2
10.5310.5510.61T:skein256256
11.3511.3711.38shake128
12.2512.2712.30sha384
12.3712.4012.44sha512
13.1713.2013.24T:keccak
13.2413.2613.28T:keccakc448
13.2513.2713.28T:keccakc512treed2
13.2313.2813.46T:keccakc512
13.9714.0914.19T:skein10241024
14.0814.1014.15sha3224
14.1214.1514.18shake256
14.1314.1814.34sha3256
14.6314.6614.69T:jh384
14.6714.7114.75T:jh256
14.7014.7314.78T:jh512
14.7114.7614.81T:jh224
15.7615.8416.03T:keccakc768
15.8715.9015.96sha224
15.9515.9815.99sha256
16.8616.8816.93sha3384
17.1917.2317.29T:round3jh256
17.2317.2717.30T:round3jh512
23.4023.4623.60T:keccakc1024
25.1025.1325.17sha3512
27.3427.5427.81T:groestl256
31.7431.8031.84T:groestl512
Cycles/byte for 64 bytes
25%50%75%hash
6.086.306.36T:blake2s
9.349.389.52T:blake2b
14.1414.1914.34T:blake32
14.1614.2014.28T:skein512256
14.3914.4514.58T:skein512512
16.7316.8316.95blake512
16.9417.0017.09T:k12
17.1217.2317.47T:blake64
17.1717.2817.44T:skein256256
17.4117.4417.53blake256
26.1126.2026.27sha3224
26.1126.2326.33T:keccak
26.1226.2326.33sha3384
26.2726.3326.41shake128
26.2226.3428.33T:keccakc768
26.4226.6128.09T:keccakc1024
26.4426.6126.88T:keccakc512
26.7726.8827.20sha3256
26.7826.9127.00sha3512
26.8126.9126.97shake256
26.8926.9827.12T:keccakc448
27.3927.5027.84T:jh512
27.3027.5627.78T:jh256
27.4127.5627.66T:jh384
27.7227.8828.09T:jh224
32.0632.2232.42T:round3jh256
32.0832.3332.56T:round3jh512
45.3645.4445.70T:skein10241024
45.8946.0046.56T:bblake256
46.7847.0847.20sha384
47.1647.3648.20sha512
51.4151.6251.77sha224
52.3052.8653.06sha256
62.6462.7563.02T:keccakc256treed2
63.2264.2064.89T:keccakc512treed2
98.0998.2098.47T:groestl512
105.28107.75111.62T:groestl256
Cycles/byte for 8 bytes
25%50%75%hash
52.3853.5053.88T:blake2s
71.0072.6274.25T:blake32
74.8875.8876.88T:blake2b
82.6283.1286.12blake256
97.6298.5099.12T:skein256256
115.00115.38116.12T:skein512512
114.12115.50117.62T:skein512256
134.25134.75135.25T:k12
134.12134.88136.25blake512
136.88137.88140.12T:blake64
207.62208.75209.75sha3224
208.00208.75210.12sha3384
209.00209.75210.75shake128
209.88210.88212.62T:keccak
211.12?213.25?239.88?T:keccakc768
212.88213.38214.62sha3512
213.12213.75214.62shake256
212.25214.25226.88T:keccakc1024
212.12214.38216.75T:keccakc512
213.62214.75216.12sha3256
216.12217.00218.00T:keccakc448
220.38221.50222.75T:jh384
221.12222.00223.75T:jh512
221.88223.38225.12T:jh256
222.88224.12225.62T:jh224
257.38258.88262.25T:round3jh512
258.38259.12260.50T:round3jh256
306.50307.38309.38T:bblake256
318.62319.75326.25sha224
325.50326.62330.88sha256
360.38364.12366.00T:skein10241024
372.38373.25374.62sha384
378.25380.50383.25sha512
500.75501.62503.62T:keccakc256treed2
506.12509.75516.12T:keccakc512treed2
749.25750.12750.88T:groestl512
904.62920.12936.50T:groestl256