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; Tiger Lake (806c1); 2020 Intel Core i7-1165G7; 4 x 2800MHz; panther, supercop-20240716

[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: (bytes,cycles)
Cycles/byte for long messages
25%50%75%hash
2.192.212.21sha256
2.302.372.42T:k12
2.402.412.42sha224
2.432.462.50T:keccakc256treed2
2.952.962.97T:blake2b
3.213.263.30T:keccakc512treed2
4.304.334.36blake512
4.514.544.57T:blake2s
4.694.714.74shake128
4.884.965.09T:blake64
5.045.085.14T:bblake256
5.085.135.19T:skein512256
5.065.135.20T:skein512512
5.215.255.29T:blake32
5.415.445.48sha384
5.465.535.61sha512
5.735.836.00T:skein10241024
5.945.976.00sha3224
6.116.136.17blake256
6.346.396.42sha3256
6.376.406.42shake256
6.566.616.66T:groestl256
6.876.937.00T:skein256256
6.826.977.10T:keccakc448
7.267.377.47T:keccakc512
7.868.098.50T:keccak
8.488.528.55sha3384
8.508.558.62T:jh384
8.508.588.62T:jh256
8.508.588.65T:jh512
8.558.598.65T:jh224
9.139.169.20T:groestl512
9.729.809.85T:round3jh512
9.739.859.97T:round3jh256
9.869.9810.09T:keccakc768
11.8311.8711.90sha3512
13.5913.8614.06T:keccakc1024
Cycles/byte for 4096 bytes
25%50%75%hash
2.252.262.26sha256
2.472.482.48sha224
2.522.522.54T:k12
2.902.912.91T:keccakc256treed2
2.962.962.96T:blake2b
3.483.493.51T:keccakc512treed2
4.474.484.49blake512
4.534.544.55T:blake2s
4.994.995.00shake128
5.185.205.22T:blake64
5.245.265.27T:skein512256
5.245.265.27T:skein512512
5.345.355.36T:blake32
5.565.575.59T:bblake256
5.685.695.70sha384
5.725.735.76sha512
6.066.096.16T:skein10241024
6.196.206.20sha3224
6.246.246.26blake256
6.616.626.63sha3256
6.616.626.63shake256
6.946.956.96T:groestl256
7.017.037.05T:skein256256
7.287.317.35T:keccakc448
7.717.737.76T:keccakc512
8.348.368.55T:keccak
8.528.538.54sha3384
8.698.708.72T:jh384
8.698.718.73T:jh256
8.718.738.75T:jh512
8.738.748.76T:jh224
9.779.789.79T:groestl512
9.969.9910.00T:round3jh512
9.9610.0010.04T:round3jh256
10.0110.0310.06T:keccakc768
12.0912.0912.10sha3512
13.9814.0914.17T:keccakc1024
Cycles/byte for 1536 bytes
25%50%75%hash
2.342.342.35sha256
2.592.592.60sha224
2.762.772.81T:k12
2.952.962.97T:blake2b
3.353.363.38T:keccakc256treed2
3.863.873.89T:keccakc512treed2
4.534.544.55T:blake2s
4.714.734.74blake512
5.425.425.43shake128
5.455.475.52T:skein512512
5.425.475.49T:skein512256
5.515.535.57T:blake32
5.505.575.66T:blake64
6.066.096.13sha512
6.096.116.12sha384
6.276.286.29sha3224
6.366.386.40T:bblake256
6.416.436.44blake256
6.466.496.53T:skein10241024
6.846.856.86sha3256
6.846.856.87shake256
7.167.217.23T:skein256256
7.497.517.54T:groestl256
7.477.527.61T:keccakc448
8.078.118.13T:keccakc512
8.538.558.56sha3384
8.788.839.00T:keccak
8.938.959.00T:jh256
8.938.968.98T:jh384
8.948.989.02T:jh512
8.978.999.03T:jh224
10.0410.1710.53T:keccakc768
10.2310.2510.29T:round3jh256
10.2310.2610.31T:round3jh512
10.7710.7810.80T:groestl512
12.4512.4812.50sha3512
14.5414.6115.13T:keccakc1024
Cycles/byte for 576 bytes
25%50%75%hash
2.56?2.59?3.03?sha256
2.902.922.93sha224
3.193.253.36T:k12
3.283.293.33T:blake2b
4.514.524.54T:blake2s
4.554.574.73T:keccakc256treed2
4.874.884.91blake512
5.835.886.00T:skein512512
5.815.886.05T:skein512256
5.905.915.94shake128
5.765.966.20T:blake64
5.975.996.08T:keccakc512treed2
5.976.016.06T:blake32
6.376.406.46sha512
6.556.596.61sha384
6.886.896.91blake256
7.497.527.58T:skein256256
7.637.647.66sha3256
7.627.647.66sha3224
7.647.667.68shake256
7.978.048.24T:skein10241024
8.658.698.74T:bblake256
8.969.019.10T:groestl256
9.149.169.18sha3384
9.139.189.30T:keccak
9.169.259.49T:keccakc512
9.219.359.55T:keccakc448
9.599.629.66T:jh384
9.599.639.67T:jh256
9.619.649.70T:jh512
9.649.699.75T:jh224
10.7710.9411.13T:keccakc768
10.9110.9711.01T:round3jh256
10.9310.9711.02T:round3jh512
12.9313.1013.27T:groestl512
13.5913.6213.65sha3512
16.0716.1716.28T:keccakc1024
Cycles/byte for 64 bytes
25%50%75%hash
4.344.394.44T:blake2s
5.535.735.89sha256
5.896.006.27T:blake2b
6.846.947.12sha224
8.849.039.33T:k12
9.509.629.77blake512
10.9711.0911.27T:skein512256
11.0511.2011.38T:skein512512
11.9712.1112.27T:blake32
12.0312.1712.56T:skein256256
12.1712.5513.33T:blake64
12.5512.7012.89sha512
12.9813.1713.36blake256
14.0914.1414.30sha3224
14.1214.2514.38sha3384
14.1214.2714.34sha3256
14.1714.2714.44sha3512
14.2714.3614.45shake128
14.3014.3614.48shake256
15.2315.3815.67sha384
16.73?17.64?18.59?T:keccakc768
17.5017.8117.98T:keccak
17.7717.9418.19T:jh384
17.8617.9518.20T:jh224
17.8317.9718.38T:jh512
17.8918.0518.34T:jh256
18.00?19.38?20.64?T:keccakc448
18.19?19.50?20.42?T:keccakc1024
19.16?20.22?21.34?T:keccakc512
20.0920.2720.53T:round3jh512
20.0820.3620.67T:round3jh256
25.0525.3426.92T:skein10241024
27.2327.4228.00T:groestl256
27.7228.0628.52T:keccakc512treed2
27.9128.0628.88T:keccakc256treed2
37.0937.1737.53T:bblake256
43.9444.6245.12T:groestl512
Cycles/byte for 8 bytes
25%50%75%hash
26.3826.8827.62sha256
35.6236.1237.25sha224
41.1241.7542.25T:blake2s
47.3848.5050.50T:blake2b
56.7557.7558.75T:blake32
58.1258.6259.38blake256
69.7571.0074.00T:k12
70.3871.1273.00T:skein256256
80.3882.6284.75blake512
88.1289.5092.12T:skein512256
88.7590.1294.12T:skein512512
97.00?100.62?108.12?T:blake64
99.75101.25103.12sha512
110.12111.25112.12sha3224
110.62111.38112.25sha3512
110.75111.62112.50sha3256
110.50111.75112.38sha3384
111.88112.75113.62shake256
115.62116.62117.50shake128
127.00129.00131.50sha384
133.38135.00147.75T:keccakc768
140.00142.25146.75T:keccak
146.00147.25149.62T:jh384
146.25147.88149.62T:jh256
146.38148.25151.38T:jh512
147.00148.38152.88T:jh224
145.38151.88159.00T:keccakc1024
141.75?152.00?160.38?T:keccakc448
155.62162.00168.75T:keccakc512
165.62167.12171.50T:round3jh512
166.50167.50169.50T:round3jh256
167.75169.25174.88T:groestl256
202.25205.75214.62T:skein10241024
223.38225.00232.38T:keccakc512treed2
223.62225.25231.38T:keccakc256treed2
246.38247.50250.88T:bblake256
310.12315.25317.00T:groestl512