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; Gracemont (906a4-20); 2022 Intel Core i3-1215U, E cores; 4 x 1600MHz; alder2,1f626960,3300000, supercop-20240625

[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
1.531.531.53sha224
1.531.531.53sha256
2.852.882.90T:k12
3.473.503.52T:blake2b
4.704.724.73sha512
4.764.784.81T:skein512512
4.774.794.82T:skein512256
4.864.874.89T:blake2s
4.914.965.00T:blake64
4.974.995.02T:keccakc256treed2
5.135.155.16T:blake32
5.155.165.18sha384
5.165.205.28blake512
5.075.245.33T:skein10241024
5.505.545.59T:bblake256
5.535.555.57shake128
6.256.326.35T:keccakc448
6.426.456.47sha3224
6.476.506.51T:skein256256
6.716.746.80T:keccakc512
6.716.756.79T:keccakc512treed2
6.816.856.86shake256
6.886.906.94sha3256
7.057.077.09blake256
7.187.237.26T:keccak
8.648.698.75T:groestl256
8.979.029.06T:keccakc768
9.119.159.18sha3384
11.6911.7311.79T:groestl512
12.3912.4812.57T:keccakc1024
12.7312.7612.78sha3512
13.8813.9214.01T:jh256
13.8413.9214.03T:jh384
13.8613.9313.99T:jh512
13.9013.9514.03T:jh224
16.3016.3216.43T:round3jh256
16.2716.3316.40T:round3jh512
Cycles/byte for 4096 bytes
25%50%75%hash
1.561.561.56sha256
1.581.581.58sha224
3.073.083.08T:k12
3.493.503.51T:blake2b
4.874.874.88T:blake2s
4.884.884.89sha512
4.884.894.89T:skein512256
4.914.914.92T:skein512512
5.125.135.14T:blake64
5.265.275.27T:blake32
5.375.395.42blake512
5.415.425.42sha384
5.405.475.48T:skein10241024
5.795.795.80shake128
5.875.885.89T:keccakc256treed2
6.036.046.06T:bblake256
6.566.566.57T:skein256256
6.596.616.62T:keccakc448
6.696.706.71sha3224
7.047.057.07T:keccakc512
7.107.117.12shake256
7.157.157.17sha3256
7.187.197.20T:keccakc512treed2
7.197.207.20blake256
7.497.517.52T:keccak
9.019.029.03T:groestl256
9.069.079.09T:keccakc768
9.169.179.18sha3384
12.4412.4512.47T:groestl512
12.7412.7812.79T:keccakc1024
13.0013.0113.01sha3512
14.1314.1614.20T:jh384
14.1414.1614.18T:jh512
14.1514.1714.20T:jh256
14.1614.1814.19T:jh224
16.6116.6216.66T:round3jh256
16.6016.6216.64T:round3jh512
Cycles/byte for 1536 bytes
25%50%75%hash
1.601.601.61sha256
1.671.671.67sha224
3.383.393.40T:k12
3.493.493.50T:blake2b
4.874.874.88T:blake2s
5.035.045.05T:skein512256
5.125.125.14T:skein512512
5.165.175.18sha512
5.415.435.46T:blake64
5.445.445.46T:blake32
5.705.715.73blake512
5.805.835.88T:skein10241024
5.825.835.84sha384
6.196.206.21shake128
6.676.696.71T:skein256256
6.766.786.79T:keccakc448
6.776.786.79T:keccakc256treed2
6.816.816.83sha3224
6.886.906.91T:bblake256
7.357.387.41T:keccakc512
7.387.397.41blake256
7.397.407.42shake256
7.417.427.43sha3256
7.937.937.95T:keccakc512treed2
7.957.967.97T:keccak
9.169.189.19T:keccakc768
9.209.209.23sha3384
9.549.569.59T:groestl256
13.1913.2413.26T:keccakc1024
13.4013.4013.41sha3512
13.6413.6613.69T:groestl512
14.5314.5514.58T:jh384
14.5314.5514.58T:jh512
14.5614.5714.60T:jh224
14.5614.5814.61T:jh256
17.0417.0617.10T:round3jh512
16.9917.0817.11T:round3jh256
Cycles/byte for 576 bytes
25%50%75%hash
1.721.731.73sha256
1.901.901.90sha224
3.823.833.88T:k12
3.863.883.92T:blake2b
4.864.864.87T:blake2s
5.435.455.47T:skein512256
5.565.565.59sha512
5.655.675.71T:blake64
5.685.695.70T:skein512512
5.905.925.95T:blake32
6.036.056.06blake512
6.366.366.36sha384
6.636.646.64shake128
7.017.037.06T:skein256256
7.407.477.49T:skein10241024
7.907.937.94blake256
8.228.238.33sha3224
8.238.258.35sha3256
8.298.308.35shake256
8.418.428.45T:keccak
8.418.448.48T:keccakc448
8.428.458.50T:keccakc512
9.149.149.16T:keccakc256treed2
9.269.299.32T:bblake256
9.869.889.93sha3384
9.9910.0010.02T:keccakc768
10.9610.9911.02T:groestl256
12.1612.2112.23T:keccakc512treed2
14.6614.7114.74T:keccakc1024
14.7314.7514.77sha3512
15.4615.5015.54T:groestl512
15.5115.5715.61T:jh256
15.5915.6115.63T:jh224
15.6115.6215.66T:jh384
15.5815.6215.67T:jh512
18.1418.1818.30T:round3jh512
18.2018.2418.30T:round3jh256
Cycles/byte for 64 bytes
25%50%75%hash
3.273.283.52sha256
4.774.804.84T:blake2s
4.864.884.88sha224
7.087.147.27T:blake2b
10.8010.8910.92T:skein512256
11.2311.2811.34T:k12
11.2811.3611.50T:blake64
11.4811.6711.73T:skein256256
12.1212.1912.73T:blake32
12.2812.4412.61sha512
12.5312.5912.69blake512
12.9213.0013.11T:skein512512
14.7014.8415.83blake256
15.1615.2015.34sha3512
15.1715.2015.25sha3224
15.1715.2215.39sha3384
15.2015.2315.28sha3256
15.2715.3115.39shake128
15.3315.4115.55shake256
15.6715.7815.84sha384
17.2517.3117.39T:keccakc1024
17.8817.9418.00T:keccakc768
17.9718.0318.11T:keccak
18.0518.0918.22T:keccakc448
18.0618.1118.44T:keccakc512
24.8424.9125.12T:skein10241024
28.3028.3628.84T:jh512
28.4428.7528.84T:jh224
28.3028.7728.83T:jh384
28.4828.8028.98T:jh256
29.0629.1229.20T:groestl256
32.7833.1233.58T:round3jh512
32.8333.2033.52T:round3jh256
39.9140.0240.19T:bblake256
45.4245.6145.95T:groestl512
55.5355.6755.77T:keccakc256treed2
55.7556.0256.09T:keccakc512treed2
Cycles/byte for 8 bytes
25%50%75%hash
19.8820.0020.75sha256
25.0025.2525.50sha224
43.0043.2543.50T:blake2s
54.8855.2558.12T:blake32
58.2558.8860.25T:blake2b
65.8866.3867.38blake256
67.6268.8869.50T:skein256256
85.0085.5085.88sha512
86.5087.1287.62T:skein512256
89.0089.5089.88T:k12
92.0092.8896.38T:blake64
102.38103.00104.25blake512
107.50108.62109.62T:skein512512
121.38121.62121.88sha3256
121.88122.12122.62sha3384
121.75122.25125.62sha3512
122.00122.25122.75sha3224
122.62122.88123.12shake128
122.75122.88123.25shake256
123.88125.38125.75sha384
138.38138.75139.25T:keccakc1024
143.50143.75144.75T:keccakc768
144.25144.50145.88T:keccak
144.88145.50146.12T:keccakc448
145.25145.88148.75T:keccakc512
166.12167.50169.00T:groestl256
201.00202.25203.12T:skein10241024
229.50231.88232.12T:jh512
231.25231.88234.12T:jh256
230.25232.00232.12T:jh384
230.00232.38232.88T:jh224
264.88265.00268.25T:round3jh512
264.88266.75268.12T:round3jh256
265.00270.50272.38T:bblake256
370.88372.50374.38T:groestl512
443.75447.00449.88T:keccakc512treed2
442.38447.12448.50T:keccakc256treed2