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-20240716

[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
2.012.022.02sha256
2.032.032.03sha224
2.312.332.35T:keccakc256treed2
2.862.882.90T:k12
3.103.123.15T:keccakc512treed2
3.473.473.47T:blake2b
4.114.174.22sha384
4.124.194.24sha512
4.554.564.56T:skein512256
4.564.574.62T:skein512512
4.694.754.79T:blake64
4.934.995.00blake512
5.435.455.45T:bblake256
5.395.505.53shake128
5.615.635.64T:blake2s
5.605.635.65T:groestl256
5.665.675.67T:skein256256
6.006.016.04T:skein10241024
6.106.136.17T:blake32
6.266.286.29sha3224
6.286.336.36T:keccakc448
6.626.646.65T:keccakc512
6.546.716.74shake256
7.117.147.16T:keccak
7.157.187.22T:groestl512
7.757.777.80blake256
7.817.827.83sha3256
8.898.908.93sha3384
8.898.969.00T:keccakc768
9.269.399.50T:jh512
9.279.419.53T:jh256
9.329.429.55T:jh384
9.329.439.54T:jh224
10.7510.9711.15T:round3jh256
10.7510.9711.18T:round3jh512
12.3712.3812.40T:keccakc1024
12.4312.4412.46sha3512
Cycles/byte for 4096 bytes
25%50%75%hash
2.052.052.05sha256
2.282.282.28sha224
2.752.752.76T:keccakc256treed2
3.073.083.08T:k12
3.343.353.36T:keccakc512treed2
3.483.483.48T:blake2b
4.554.584.59sha384
4.564.584.60sha512
4.654.654.65T:skein512256
4.654.664.68T:skein512512
4.924.934.94T:blake64
5.225.245.24blake512
5.625.625.63T:blake2s
5.645.695.70shake128
5.735.735.73T:skein256256
5.845.855.85T:groestl256
6.086.086.08T:bblake256
6.236.256.25T:blake32
6.276.286.28T:skein10241024
6.526.526.53sha3224
6.576.586.60T:keccakc448
6.896.906.90T:keccakc512
6.956.966.97shake256
7.407.407.41T:keccak
7.777.787.80T:groestl512
7.897.907.90blake256
8.058.058.05sha3256
8.938.948.95sha3384
8.978.999.00T:keccakc768
9.529.559.59T:jh512
9.519.569.59T:jh256
9.539.569.59T:jh224
9.559.589.62T:jh384
11.0311.1211.20T:round3jh512
11.0511.1311.20T:round3jh256
12.6512.6612.66T:keccakc1024
12.6912.6912.70sha3512
Cycles/byte for 1536 bytes
25%50%75%hash
2.102.102.11sha256
2.682.692.69sha224
3.203.213.22T:keccakc256treed2
3.373.383.38T:k12
3.503.503.51T:blake2b
3.723.733.75T:keccakc512treed2
4.814.814.81T:skein512512
4.814.814.84T:skein512256
5.185.205.24sha384
5.235.245.25T:blake64
5.215.255.26sha512
5.615.615.62T:blake2s
5.665.675.67blake512
5.855.855.85T:skein256256
6.006.016.01shake128
6.216.216.23T:groestl256
6.446.456.46T:blake32
6.636.636.65sha3224
6.656.686.71T:skein10241024
6.726.726.73T:keccakc448
7.147.157.17T:bblake256
7.187.187.19T:keccakc512
7.197.207.23shake256
7.807.837.84T:keccak
8.098.108.10blake256
8.368.368.36sha3256
8.778.798.81T:groestl512
8.968.968.98sha3384
9.029.039.04T:keccakc768
9.719.799.85T:jh256
9.719.819.87T:jh512
9.749.839.89T:jh224
9.799.849.90T:jh384
11.3011.3811.45T:round3jh256
11.2911.4211.50T:round3jh512
13.0913.1013.11sha3512
13.0913.1013.13T:keccakc1024
Cycles/byte for 576 bytes
25%50%75%hash
2.252.262.26sha256
3.793.793.80sha224
3.853.863.87T:k12
3.983.983.99T:blake2b
4.414.434.45T:keccakc256treed2
5.245.255.26T:skein512512
5.255.265.28T:skein512256
5.435.485.49T:blake64
5.575.595.60T:blake2s
5.675.675.68blake512
5.755.775.82T:keccakc512treed2
6.166.166.16T:skein256256
6.456.466.48shake128
6.496.516.52sha384
6.566.566.59sha512
6.976.987.01T:blake32
7.187.187.21T:groestl256
8.048.058.11shake256
8.108.108.11sha3224
8.138.148.15T:keccakc512
8.228.228.24T:keccak
8.248.288.31T:keccakc448
8.338.368.52T:skein10241024
8.628.648.65blake256
8.828.828.90sha3256
9.599.609.61sha3384
9.839.889.92T:keccakc768
10.3510.3810.41T:bblake256
10.4010.4610.60T:jh256
10.4310.4910.58T:jh224
10.3610.5110.61T:jh384
10.4210.5310.60T:jh512
11.2811.3011.34T:groestl512
12.0512.1712.30T:round3jh512
12.0512.1812.30T:round3jh256
14.3214.3214.33sha3512
14.3614.4414.46T:keccakc1024
Cycles/byte for 64 bytes
25%50%75%hash
4.114.164.17sha256
5.195.235.30T:blake2s
7.727.727.84T:blake2b
10.1210.1210.14T:skein256256
10.5310.5310.53T:skein512512
10.5610.5810.58T:skein512256
10.6410.6910.81T:k12
11.0311.0811.30T:blake64
11.3111.3311.38blake512
14.0514.2014.45T:blake32
15.0615.0815.64sha3512
15.0915.0915.27sha3256
15.09?15.09?16.97?sha3384
15.1115.1115.59shake256
15.1115.1615.66shake128
15.5615.5915.64blake256
15.6615.7016.05sha3224
15.8615.9416.11T:keccakc512
15.9816.0316.23T:keccak
16.0916.2817.06T:keccakc1024
16.1916.2816.92T:keccakc448
16.3316.3817.03T:keccakc768
17.9518.0018.23sha224
19.1419.3819.61T:jh512
19.1119.3919.66T:jh224
19.1119.4419.67T:jh256
19.1419.4719.84T:jh384
19.6619.7319.80T:groestl256
21.9822.1622.53T:round3jh512
21.7822.2022.64T:round3jh256
24.4724.6624.72sha384
24.9225.0025.16sha512
26.2726.5027.75T:skein10241024
26.8827.0227.27T:keccakc512treed2
26.9727.1727.23T:keccakc256treed2
44.1144.3044.41T:groestl512
50.0850.3450.84T:bblake256
Cycles/byte for 8 bytes
25%50%75%hash
25.1225.3825.62sha256
48.7549.1249.75T:blake2s
59.6260.3860.50T:blake32
60.8860.8860.88T:blake2b
60.7561.0061.62T:skein256256
70.5070.8871.12blake256
78.1278.1278.38T:k12
83.8883.8883.88T:skein512512
84.0084.1284.12T:skein512256
88.2589.6293.25T:blake64
90.6290.6290.88blake512
114.25114.62115.75T:groestl256
119.50119.62124.12sha3384
119.50119.88123.75shake256
119.88119.88122.62sha3256
120.38120.38124.75sha3512
120.38121.50124.88shake128
124.38124.50127.62sha3224
126.50127.12128.12T:keccakc512
127.12127.88129.00T:keccak
127.88128.38128.75sha224
128.25128.88130.25T:keccakc1024
127.88129.38133.50T:keccakc768
129.00129.75130.38T:keccakc448
155.38155.75160.62T:jh512
155.88156.50161.50T:jh224
155.00160.12165.38T:jh384
160.00160.38165.38T:jh256
180.62182.75185.25T:round3jh256
181.38183.75186.50T:round3jh512
195.12196.62197.00sha384
199.12199.75200.38sha512
209.12211.50214.25T:skein10241024
214.25215.50216.50T:keccakc256treed2
214.75215.75218.25T:keccakc512treed2
307.38308.62309.88T:groestl512
329.62330.50331.62T:bblake256