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; K10 45nm (100f63); 2010 AMD Athlon II Neo K125; 1 x 1700MHz; h3neo, supercop-20240425

[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
4.764.764.76T:blake2b
5.325.415.45T:k12
5.945.955.97T:skein512512
5.945.955.96T:skein512256
6.176.206.21T:skein256256
7.317.347.36T:blake64
7.517.557.55blake512
8.098.108.11T:blake2s
9.299.329.38sha512
9.309.329.35sha384
9.679.689.68T:skein10241024
10.2410.2410.25shake128
10.8510.8810.90T:blake32
11.6011.6111.61T:keccakc448
11.9211.9311.94sha3224
12.3812.3912.40T:keccakc512
12.7012.7312.82sha3256
12.7612.7612.76shake256
13.3013.3113.33T:keccak
13.5113.5213.52blake256
13.7713.8313.91T:bblake256
14.6514.6714.67sha224
14.6514.6714.71sha256
16.6316.6316.63T:keccakc768
16.9716.9716.97sha3384
23.2523.2523.27T:keccakc1024
23.6323.6423.64sha3512
33.0233.7734.24T:groestl256
36.5436.5436.56T:jh384
36.5436.5536.56T:jh256
36.5436.5536.56T:jh224
36.5236.5636.61T:jh512
42.3542.4142.46T:round3jh256
42.3942.4442.45T:round3jh512
53.6753.7353.80T:groestl512
Cycles/byte for 4096 bytes
25%50%75%hash
4.784.784.78T:blake2b
5.685.705.71T:k12
6.096.096.09T:skein512256
6.096.096.10T:skein512512
6.296.306.31T:skein256256
7.627.627.63T:blake64
7.857.867.86blake512
8.118.118.12T:blake2s
10.0810.0810.08T:skein10241024
10.2410.2510.25sha384
10.2510.2610.27sha512
10.6910.6910.69shake128
11.1011.1111.12T:blake32
12.1012.1012.10T:keccakc448
12.3712.3712.38sha3224
12.8812.8912.89T:keccakc512
13.1913.1913.23sha3256
13.2113.2113.21shake256
13.7813.7813.78blake256
13.8013.8013.81T:keccak
15.2715.2915.32T:bblake256
15.5215.5315.53sha224
15.5315.5315.55sha256
16.7316.7316.73T:keccakc768
16.9916.9916.99sha3384
23.7623.7623.76T:keccakc1024
24.0824.0924.09sha3512
34.8234.9835.09T:groestl256
37.1337.1337.14T:jh384
37.1337.1437.14T:jh256
37.1437.1437.15T:jh224
37.1437.1437.17T:jh512
43.0843.0943.12T:round3jh256
43.1043.1243.12T:round3jh512
56.3556.3656.36T:groestl512
Cycles/byte for 1536 bytes
25%50%75%hash
4.814.814.81T:blake2b
6.176.176.26T:k12
6.326.326.33T:skein512256
6.326.326.33T:skein512512
6.466.466.46T:skein256256
8.108.118.12T:blake64
8.148.158.15T:blake2s
8.388.388.42blake512
10.7610.7710.77T:skein10241024
11.4411.4411.45shake128
11.4811.4911.50T:blake32
11.7511.7911.80sha384
11.8011.8211.85sha512
12.3712.3812.39T:keccakc448
12.5512.5512.56sha3224
13.4413.4513.45T:keccakc512
13.6413.6413.69sha3256
13.6813.6813.68shake256
14.2314.2314.23blake256
14.6114.6114.61T:keccak
16.8716.8816.90T:keccakc768
16.9716.9816.99sha256
16.9716.9816.99sha224
17.0217.0317.03sha3384
17.7117.7317.77T:bblake256
24.5924.6024.60T:keccakc1024
24.8324.8324.83sha3512
36.6837.0237.71T:groestl256
38.1138.1138.12T:jh384
38.1138.1238.12T:jh256
38.1238.1338.15T:jh512
38.1338.1338.14T:jh224
44.2244.2344.26T:round3jh256
44.2444.2544.26T:round3jh512
60.6860.6960.70T:groestl512
Cycles/byte for 576 bytes
25%50%75%hash
5.415.425.42T:blake2b
6.846.886.88T:skein256256
6.896.906.90T:skein512256
6.916.916.91T:skein512512
6.906.947.16T:k12
8.198.208.20T:blake2s
8.588.588.59T:blake64
8.928.938.94blake512
12.3112.3212.35shake128
12.4912.5012.52T:blake32
13.6413.6613.67T:skein10241024
14.8514.9014.91sha384
14.8914.9415.14sha512
15.2415.2415.33sha3256
15.2415.2515.25sha3224
15.2515.2515.26T:keccakc512
15.2815.2915.29T:keccakc448
15.2915.3015.30T:keccak
15.3015.3115.32shake256
15.4315.4415.44blake256
18.2518.2518.27sha3384
18.3118.3418.34T:keccakc768
20.8220.8420.95sha256
20.8420.8820.91sha224
24.2424.3024.40T:bblake256
27.1127.1127.21T:keccakc1024
27.1427.1527.17sha3512
40.7240.7340.75T:jh384
40.7240.7440.75T:jh256
40.7340.7540.78T:jh512
40.7740.7740.78T:jh224
41.6542.1043.92T:groestl256
47.2347.2647.27T:round3jh512
47.2647.2747.28T:round3jh256
66.2466.2966.32T:groestl512
Cycles/byte for 64 bytes
25%50%75%hash
8.888.898.91T:blake2s
10.6610.7010.73T:blake2b
11.9711.9712.11T:skein256256
14.1214.1214.12T:skein512256
14.1914.1914.20T:skein512512
17.6717.6917.77T:blake64
18.69?18.69?21.34?T:k12
20.0620.0620.06blake512
25.1225.2825.36T:blake32
28.2228.2228.50sha3256
28.2228.2328.56sha3384
28.2528.2728.59sha3512
28.2728.2828.59sha3224
28.6228.6429.00shake256
28.7328.7329.05shake128
30.4730.4830.48T:keccak
30.4130.5930.61T:keccakc1024
30.6230.6430.64blake256
30.8430.8431.11T:keccakc768
31.0231.0331.03T:keccakc512
31.1431.1631.45T:keccakc448
44.2044.4444.44T:skein10241024
58.6158.8658.95sha384
59.0559.3959.80sha512
69.1669.9770.11sha224
69.8070.4270.62sha256
73.9773.9874.22T:jh384
73.9874.0674.33T:jh512
73.9474.1674.16T:jh256
74.3674.4474.53T:jh224
85.6485.6985.81T:round3jh256
85.7385.7785.88T:round3jh512
107.36107.44107.59T:bblake256
105.27111.12112.78T:groestl256
164.56164.81164.88T:groestl512
Cycles/byte for 8 bytes
25%50%75%hash
69.2569.2572.88T:skein256256
69.8870.0071.38T:blake2s
83.8884.2587.62T:blake2b
110.75111.00112.38T:blake32
111.62111.62113.62T:skein512256
112.00112.00114.12T:skein512512
139.12139.12139.62blake256
143.12143.25144.75T:blake64
148.75?156.88?169.88?T:k12
160.38165.12167.00blake512
225.25225.25227.12sha3224
225.25225.38229.12sha3384
225.50225.62227.88sha3512
225.25227.25229.25sha3256
228.38228.38230.50shake256
228.88229.25230.75shake128
245.00245.88246.00T:keccak
246.50248.00251.12T:keccakc1024
248.88249.25252.38T:keccakc768
249.25249.25249.38T:keccakc512
249.75249.75256.12T:keccakc448
355.00355.00355.00T:skein10241024
437.88440.00443.00sha224
439.00440.62442.50sha256
465.75467.00470.75sha384
470.00475.25478.62sha512
594.50594.62596.62T:jh512
594.62594.62596.62T:jh384
594.12596.12596.12T:jh256
596.25596.88599.12T:jh224
567.25?616.50?647.75?T:groestl256
687.38687.50689.12T:round3jh256
688.38688.75689.62T:round3jh512
750.88751.62755.50T:bblake256
1314.621318.001321.62T:groestl512