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; Bonnell (106ca); 2010 Intel Atom N455; 1 x 1000MHz; h2atom, supercop-20240107

[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
7.207.217.22T:blake2b
9.649.649.65T:skein512256
9.659.659.65T:skein512512
9.739.739.74T:k12
10.5910.6010.60T:skein256256
11.6211.6211.62T:blake64
11.7111.7311.74T:blake2s
11.9411.9411.95T:blake32
12.7212.7212.72blake512
14.0814.0914.11blake256
14.4214.4214.43T:keccakc256treed2
15.8415.8715.89T:bblake256
17.3517.3617.38T:skein10241024
18.0018.0118.02shake128
19.0119.0219.04T:keccakc512treed2
20.5020.5020.51T:keccakc448
20.5220.5220.52sha512
20.9620.9720.98sha3224
22.0322.0322.04T:keccakc512
22.4122.4322.44shake256
22.4422.4522.46sha3256
23.6323.6323.64T:keccak
27.3727.3827.38T:jh256
27.3827.3827.38T:jh512
27.3827.3827.38T:jh224
27.3827.3827.38T:jh384
29.2529.2529.25T:keccakc768
29.8129.8229.84sha3384
30.2430.2830.28sha256
31.0231.0331.04T:round3jh256
31.0331.0331.04T:round3jh512
41.2441.2541.26T:keccakc1024
41.5641.5841.59sha3512
86.1586.2787.77T:groestl256
131.71131.91132.60T:groestl512
Cycles/byte for 4096 bytes
25%50%75%hash
7.267.267.26T:blake2b
9.879.879.87T:skein512256
10.0310.0310.03T:skein512512
10.3710.3710.37T:k12
10.8610.8610.86T:skein256256
11.7711.7711.78T:blake2s
12.1012.1012.10T:blake64
12.2512.2512.26T:blake32
13.2413.2413.24blake512
14.4314.4314.43blake256
17.0617.0617.06T:keccakc256treed2
17.1817.1917.20T:bblake256
18.1018.1018.11T:skein10241024
18.8218.8218.82shake128
20.4620.4620.48T:keccakc512treed2
21.2521.2521.25sha512
21.5721.5821.58T:keccakc448
21.7521.7521.76sha3224
23.0923.0923.10T:keccakc512
23.2223.2223.22sha3256
23.2323.2323.23shake256
24.6924.6924.69T:keccak
27.8627.8627.87T:jh224
27.8627.8627.87T:jh256
27.8627.8627.87T:jh384
27.8727.8727.87T:jh512
29.5829.5829.58T:keccakc768
29.8729.8729.88sha3384
30.7830.8030.80sha256
31.5931.5931.59T:round3jh256
31.5931.5931.60T:round3jh512
42.2742.2742.28T:keccakc1024
42.3842.3942.39sha3512
88.3388.3589.07T:groestl256
138.15138.24138.55T:groestl512
Cycles/byte for 1536 bytes
25%50%75%hash
7.347.347.35T:blake2b
10.2410.2410.25T:skein512256
10.6610.6610.67T:skein512512
11.2911.2911.31T:skein256256
11.4111.4211.42T:k12
11.8411.8411.84T:blake2s
12.7712.7712.77T:blake32
12.9112.9112.91T:blake64
14.1014.1014.10blake512
14.9814.9814.99blake256
19.3519.3519.36T:skein10241024
19.3819.3919.41T:bblake256
19.8919.9019.90T:keccakc256treed2
20.1620.1620.17shake128
22.0622.0622.11sha3224
22.4122.4122.52T:keccakc448
22.4622.4622.46sha512
22.8722.8822.88T:keccakc512treed2
24.0224.0224.03sha3256
24.0724.0924.09shake256
24.3824.3824.38T:keccakc512
26.4426.4426.44T:keccak
28.6828.6828.68T:jh224
28.6828.6828.69T:jh256
28.6828.6828.68T:jh384
28.6928.6928.69T:jh512
29.9629.9729.98sha3384
30.12?30.13?48.91?T:keccakc768
31.6831.6831.72sha256
32.5232.5232.53T:round3jh256
32.5332.5332.54T:round3jh512
43.7143.7143.72sha3512
43.9843.9943.99T:keccakc1024
91.7691.8191.86T:groestl256
148.70148.81148.92T:groestl512
Cycles/byte for 576 bytes
25%50%75%hash
8.328.328.32T:blake2b
11.2211.2211.24T:skein512256
11.9911.9911.99T:blake2s
12.3412.3412.36T:skein512512
12.4612.4612.46T:skein256256
13.0813.1013.10T:k12
13.9013.9113.93T:blake64
14.1714.1714.17T:blake32
15.0015.0015.00blake512
16.4516.4816.55blake256
21.7521.7521.75shake128
23.4323.4323.43sha512
24.6824.7024.73T:skein10241024
25.2925.3125.38T:bblake256
26.7726.7726.79sha3224
26.8226.8226.82sha3256
27.0127.0127.01shake256
27.4227.4227.43T:keccakc256treed2
28.3228.3228.32T:keccakc448
28.4728.4728.47T:keccakc512
28.6528.6528.65T:keccak
30.8530.8530.85T:jh224
30.8530.8530.85T:jh256
30.8630.8630.86T:jh384
30.8830.8830.88T:jh512
32.1532.1532.19sha3384
33.4933.4933.50T:keccakc768
34.0234.0234.02sha256
35.0135.0135.01T:round3jh256
35.0335.0335.03T:round3jh512
35.5135.5135.51T:keccakc512treed2
47.8147.8247.84sha3512
49.0949.0949.12T:keccakc1024
101.18101.44101.63T:groestl256
162.56162.72163.02T:groestl512
Cycles/byte for 64 bytes
25%50%75%hash
13.9113.9114.14T:blake2s
17.0317.0317.03T:blake2b
23.1923.1923.19T:skein512256
27.0327.0327.03T:skein256256
30.4130.4130.50T:blake64
31.7831.7831.78T:blake32
33.2233.2233.22blake512
33.3433.3433.45T:skein512512
35.2335.2835.52blake256
38.9438.9439.02T:k12
46.5046.5046.50sha512
49.3349.3349.44sha3224
49.3849.3849.38sha3256
50.3650.3650.36sha3384
50.4250.4250.53sha3512
51.3051.3051.30shake256
51.4251.4251.42shake128
58.3858.3858.38T:jh256
58.3958.3958.39T:jh224
58.4158.4158.41T:jh384
58.6658.6658.66T:jh512
63.5663.5663.56T:keccakc1024
64.7264.7264.72T:keccakc768
65.1765.1765.17sha256
65.8865.8865.88T:keccakc512
66.1266.1266.12T:keccak
66.4266.4266.42T:keccakc448
66.7566.7567.03T:round3jh256
67.0067.0067.00T:round3jh512
81.0981.0981.09T:skein10241024
100.53100.64101.31T:bblake256
167.38167.38167.38T:keccakc512treed2
169.11169.11169.39T:keccakc256treed2
222.34222.77223.14T:groestl256
404.39405.58406.78T:groestl512
Cycles/byte for 8 bytes
25%50%75%hash
113.12113.12115.88T:blake2s
134.12134.12134.12T:blake2b
163.00163.00165.25T:blake32
168.88169.38171.25blake256
169.38169.38171.12T:skein256256
183.25183.38185.25T:skein512256
247.50247.50247.50T:blake64
264.50265.38267.00T:skein512512
265.75265.75267.75blake512
277.62277.62279.62sha256
310.75310.75311.38T:k12
373.12373.12373.12sha512
392.75392.75395.12sha3256
392.38?396.62?751.25?sha3224
401.00401.00403.25sha3384
403.00403.88405.25sha3512
408.88408.88411.12shake256
409.88409.88412.12shake128
469.62469.62471.88T:jh224
470.00?470.00?861.38?T:jh256
470.25470.25472.50T:jh384
472.00472.00472.00T:jh512
505.00505.00507.00T:keccakc1024
514.25514.25516.25T:keccakc768
523.50523.50523.50T:keccakc512
525.50525.50527.50T:keccak
527.88527.88527.88T:keccakc448
544.50544.50544.50T:round3jh256
546.50546.50546.50T:round3jh512
647.62647.75649.50T:skein10241024
680.75683.25687.62T:bblake256
1109.501109.751111.88T:groestl256
1336.881336.881339.12T:keccakc512treed2
1350.621350.621352.88T:keccakc256treed2
3246.883252.123260.75T:groestl512