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; Zen 4 (a60f12); 2023 AMD Ryzen 7 7700; 8 x 3800MHz; hertz, supercop-20240808

[Page version: 20240828 00:45:48]

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
2.012.012.02sha256
2.032.032.04sha224
2.312.332.34T:keccakc256treed2
2.862.872.91T:k12
3.093.123.14T:keccakc512treed2
3.463.473.47T:blake2b
4.114.174.22sha512
4.144.194.28sha384
4.554.564.56T:skein512512
4.564.564.56T:skein512256
4.53?4.71?5.06?T:blake64
4.975.005.11blake512
5.415.455.46T:bblake256
5.605.625.64T:groestl256
5.615.635.65T:blake2s
5.585.675.74T:skein256256
5.996.026.03T:skein10241024
6.046.126.16T:blake32
6.056.226.27shake128
6.296.346.38T:keccakc448
6.366.486.59sha3224
6.616.636.64T:keccakc512
6.506.716.79sha3256
6.826.866.92shake256
7.167.187.19T:keccak
7.597.637.66T:groestl512
7.757.767.78blake256
8.898.918.92sha3384
8.908.948.98T:keccakc768
9.229.299.44T:jh384
9.259.389.51T:jh224
9.289.409.49T:jh512
9.259.459.56T:jh256
10.7610.9411.16T:round3jh512
10.7411.0011.14T:round3jh256
12.3612.4112.43T:keccakc1024
12.4712.5012.65sha3512
Cycles/byte for 4096 bytes
25%50%75%hash
2.052.052.05sha256
2.282.282.28sha224
2.752.752.76T:keccakc256treed2
3.073.073.08T:k12
3.343.353.36T:keccakc512treed2
3.483.483.48T:blake2b
4.564.584.60sha512
4.574.594.61sha384
4.654.654.65T:skein512512
4.654.654.65T:skein512256
4.854.874.99T:blake64
5.265.275.28blake512
5.625.625.63T:blake2s
5.735.735.77T:skein256256
5.845.855.86T:groestl256
6.076.086.09T:bblake256
6.206.236.24T:blake32
6.276.276.28T:skein10241024
6.376.416.42shake128
6.586.596.60T:keccakc448
6.586.626.67sha3224
6.896.906.90T:keccakc512
6.956.966.99sha3256
7.037.047.06shake256
7.427.427.43T:keccak
7.897.897.89blake256
8.058.068.08T:groestl512
8.938.938.93sha3384
8.968.978.98T:keccakc768
9.529.549.58T:jh384
9.509.559.59T:jh224
9.529.569.57T:jh512
9.519.579.60T:jh256
11.0511.1011.17T:round3jh512
11.0811.1411.19T:round3jh256
12.6612.6712.68T:keccakc1024
12.7112.7212.79sha3512
Cycles/byte for 1536 bytes
25%50%75%hash
2.102.102.11sha256
2.692.692.69sha224
3.213.213.22T:keccakc256treed2
3.373.383.38T:k12
3.503.503.50T:blake2b
3.723.733.74T:keccakc512treed2
4.814.814.84T:skein512256
4.814.814.81T:skein512512
5.145.175.30T:blake64
5.205.235.24sha384
5.195.255.26sha512
5.615.615.62T:blake2s
5.605.715.72blake512
5.855.855.91T:skein256256
6.206.226.23T:groestl256
6.416.446.45T:blake32
6.606.616.64sha3224
6.676.696.72T:skein10241024
6.706.716.73T:keccakc448
6.726.726.72shake128
7.147.177.18T:bblake256
7.167.187.19T:keccakc512
7.197.197.19shake256
7.207.227.23sha3256
7.837.847.85T:keccak
8.098.108.10blake256
8.758.768.79T:groestl512
8.958.968.99sha3384
9.029.049.05T:keccakc768
9.749.809.85T:jh224
9.769.829.87T:jh256
9.759.829.86T:jh512
9.819.889.90T:jh384
11.3211.3811.47T:round3jh256
11.2711.4211.51T:round3jh512
13.1013.1213.13T:keccakc1024
13.1113.1213.27sha3512
Cycles/byte for 576 bytes
25%50%75%hash
2.252.262.26sha256
3.793.793.80sha224
3.873.873.89T:k12
3.973.973.98T:blake2b
4.424.444.44T:keccakc256treed2
5.245.245.26T:skein512512
5.255.255.25T:skein512256
5.425.525.60T:blake64
5.575.585.60T:blake2s
5.755.785.80T:keccakc512treed2
5.805.815.82blake512
6.166.166.17T:skein256256
6.496.516.57sha384
6.536.556.60sha512
6.976.997.02T:blake32
6.677.107.10shake128
7.187.247.30T:groestl256
8.038.038.05shake256
8.048.048.13sha3256
8.028.108.15sha3224
8.148.158.17T:keccakc512
8.218.228.24T:keccak
8.208.278.31T:keccakc448
8.298.468.53T:skein10241024
8.628.648.65blake256
9.609.619.62sha3384
9.769.809.86T:keccakc768
10.0210.0310.05T:groestl512
10.3910.4010.43T:bblake256
10.3810.4610.59T:jh224
10.4010.4810.55T:jh256
10.4810.6410.66T:jh512
10.6410.7110.72T:jh384
11.9612.1412.39T:round3jh512
11.9612.1612.26T:round3jh256
14.3114.3114.35sha3512
14.4214.4414.47T:keccakc1024
Cycles/byte for 64 bytes
25%50%75%hash
4.124.164.19sha256
5.205.255.36T:blake2s
7.677.847.95T:blake2b
10.1210.1610.28T:skein256256
10.5310.5310.53T:skein512512
10.6110.6210.62T:skein512256
10.7510.8310.97T:k12
10.9711.0811.81T:blake64
12.4512.4512.50blake512
14.0614.1614.66T:blake32
15.0615.0615.53sha3512
15.0815.1415.58sha3224
15.1215.1415.61shake256
15.0815.1615.78sha3384
15.1215.1915.61shake128
15.1215.2215.62sha3256
15.5315.5915.64blake256
15.9716.0316.91T:keccakc1024
16.0216.0616.41T:keccak
15.9516.1417.06T:keccakc512
16.2216.3416.75T:keccakc448
16.3916.8616.92T:keccakc768
17.9517.9718.11sha224
19.1219.4119.59T:jh256
19.0919.4419.75T:jh224
19.2019.6920.03T:jh512
19.5819.7319.75T:groestl256
19.9220.3020.50T:jh384
21.8122.1722.67T:round3jh256
21.9822.2522.64T:round3jh512
24.4724.7324.89sha384
24.9725.1125.19sha512
26.0626.5327.62T:skein10241024
26.8327.0327.28T:keccakc512treed2
27.0227.1127.36T:keccakc256treed2
29.0329.1429.23T:groestl512
49.9450.1250.14T:bblake256
Cycles/byte for 8 bytes
25%50%75%hash
24.7525.3825.75sha256
48.8849.2549.62T:blake2s
60.1260.2560.50T:blake32
60.3860.8860.88T:blake2b
60.7560.8861.62T:skein256256
70.8871.3871.62blake256
78.7579.0079.38T:k12
83.8883.8884.00T:skein512512
84.0084.1284.38T:skein512256
87.0088.0091.00T:blake64
99.38100.00100.12blake512
114.62115.25116.00T:groestl256
119.50119.75123.50shake256
119.62119.75123.75sha3384
119.88120.38124.12sha3256
120.38120.50124.00sha3224
120.50120.50124.75sha3512
120.75120.75124.12shake128
126.75127.38128.00T:keccakc1024
127.25128.12134.88T:keccakc512
127.38128.12128.75T:keccak
127.75128.50130.00T:keccakc768
128.00128.50130.50sha224
129.38129.75131.12T:keccakc448
158.88160.62162.00T:jh384
160.62160.62165.00T:jh512
160.38164.75165.38T:jh256
161.62166.38166.75T:jh224
181.00182.62186.88T:round3jh256
182.62185.62189.88T:round3jh512
196.12196.25199.50sha384
198.38199.62200.50sha512
209.00210.75213.25T:skein10241024
214.50215.25217.12T:keccakc512treed2
214.00215.38216.38T:keccakc256treed2
217.38217.38217.88T:groestl512
329.75329.75332.00T:bblake256