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 32nm (300f10); 2011 AMD A8-3850; 4 x 2900MHz; hydra5, supercop-20240625

[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.484.504.52T:blake2b
5.295.365.40T:k12
5.945.945.94T:skein512256
5.945.945.94T:skein512512
6.146.156.15T:skein256256
6.826.856.87T:blake64
7.047.107.13blake512
7.607.647.66T:blake2s
9.279.299.31sha384
9.279.299.31sha512
9.529.549.54T:skein10241024
9.739.769.77T:bblake256
9.739.779.83T:blake32
10.2910.3010.31shake128
11.8611.8711.89T:keccakc448
11.9611.9711.98sha3224
12.7012.7012.71blake256
12.7412.7712.82T:keccakc512
12.8012.8212.84sha3256
12.8112.8312.84shake256
13.5213.5613.60T:keccak
14.6014.6214.69sha256
14.5914.6314.68sha224
16.9216.9216.93T:keccakc768
16.9716.9917.03sha3384
18.6918.7018.73T:jh384
18.5918.7118.96T:jh224
18.6818.7218.77T:jh512
18.7118.7218.74T:jh256
22.2222.2222.37T:round3jh512
22.2322.2822.38T:round3jh256
23.5523.6223.70T:keccakc1024
23.7323.7423.74sha3512
33.9334.0434.11T:groestl256
49.3749.5049.60T:groestl512
Cycles/byte for 4096 bytes
25%50%75%hash
4.524.524.53T:blake2b
5.695.705.72T:k12
6.076.076.07T:skein512256
6.076.076.07T:skein512512
6.246.246.24T:skein256256
7.127.137.13T:blake64
7.397.407.41blake512
7.647.667.66T:blake2s
9.929.929.93T:skein10241024
9.979.9710.00T:blake32
10.2010.2110.21sha384
10.2210.2210.23sha512
10.6710.6810.68T:bblake256
10.7510.7510.76shake128
12.3712.3712.38T:keccakc448
12.4212.4212.42sha3224
12.9512.9512.96blake256
13.2613.2613.27sha3256
13.2713.2813.28shake256
13.2913.2913.31T:keccakc512
14.0514.0614.07T:keccak
15.5015.5115.52sha224
15.5015.5115.52sha256
16.9916.9916.99T:keccakc768
17.0117.0117.03sha3384
19.0319.0319.04T:jh384
19.0319.0319.04T:jh256
19.0319.0319.15T:jh224
19.0319.0419.06T:jh512
22.6622.6622.71T:round3jh256
22.6722.6722.73T:round3jh512
24.1224.1324.16T:keccakc1024
24.1824.1824.18sha3512
34.8734.9134.93T:groestl256
51.8951.9351.97T:groestl512
Cycles/byte for 1536 bytes
25%50%75%hash
4.554.554.56T:blake2b
6.276.296.35T:k12
6.296.296.29T:skein512256
6.296.296.29T:skein512512
6.396.406.40T:skein256256
7.587.597.60T:blake64
7.677.687.69T:blake2s
7.887.897.94blake512
10.3110.3210.34T:blake32
10.5710.5710.58T:skein10241024
11.5011.5011.51shake128
11.7311.7411.76sha384
11.7611.7711.78sha512
12.1812.1912.22T:bblake256
12.5912.5912.59sha3224
12.6212.6212.64T:keccakc448
13.3613.3713.38blake256
13.7113.7113.73sha3256
13.7413.7413.75shake256
13.8313.8313.90T:keccakc512
14.8414.8714.90T:keccak
16.9416.9717.01sha224
16.9316.9917.01sha256
17.0517.0517.07sha3384
17.1117.1217.12T:keccakc768
19.5519.5619.57T:jh256
19.5719.5719.60T:jh512
19.5619.5719.57T:jh384
19.5719.5819.70T:jh224
23.2923.2923.30T:round3jh256
23.3023.3623.36T:round3jh512
24.9224.9224.92sha3512
24.9524.9825.05T:keccakc1024
36.2936.3436.36T:groestl256
56.0256.0256.02T:groestl512
Cycles/byte for 576 bytes
25%50%75%hash
5.145.145.15T:blake2b
6.806.826.86T:skein256256
6.856.856.85T:skein512256
6.866.866.86T:skein512512
7.267.277.44T:k12
7.717.737.73T:blake2s
8.018.028.04T:blake64
8.418.428.43blake512
11.2411.2511.26T:blake32
12.3812.3812.40shake128
13.4213.4313.45T:skein10241024
14.4114.4114.42blake256
14.8014.8314.88sha384
14.8814.9214.97sha512
15.2915.2915.31sha3224
15.3015.3115.36sha3256
15.3515.3515.36shake256
15.5815.5815.60T:keccakc448
15.4915.6315.70T:keccak
15.6815.6815.85T:keccakc512
16.5716.5916.61T:bblake256
18.2818.2818.30sha3384
18.5418.5518.56T:keccakc768
20.8220.8820.96sha224
20.8220.9721.01sha256
20.9820.9820.99T:jh384
20.9720.9820.98T:jh256
21.0021.0021.03T:jh512
21.0221.0421.18T:jh224
24.9624.9725.00T:round3jh256
24.9924.9925.05T:round3jh512
27.2527.2527.25sha3512
27.4827.4927.77T:keccakc1024
40.0740.0940.21T:groestl256
61.0861.1361.15T:groestl512
Cycles/byte for 64 bytes
25%50%75%hash
8.388.388.38T:blake2s
10.2310.2310.27T:blake2b
11.7711.8812.05T:skein256256
13.9113.9113.92T:skein512256
13.9713.9713.97T:skein512512
16.6416.6416.88T:blake64
19.0319.0319.08blake512
22.2022.5924.52T:k12
22.6622.8623.16T:blake32
27.7227.7827.97blake256
28.1428.2228.47sha3256
28.3028.3128.36sha3384
28.3028.3128.52sha3224
28.4428.4528.61sha3512
28.6928.7228.73shake256
28.8828.8828.91shake128
30.7330.7330.86T:keccakc768
30.8030.8132.42T:keccakc1024
31.2231.2331.28T:keccakc448
31.4431.4532.66T:keccakc512
30.5631.6131.94T:keccak
38.9138.9838.98T:jh256
38.9739.0239.06T:jh384
39.1639.1639.20T:jh512
39.4739.5339.55T:jh224
43.5643.5943.59T:skein10241024
46.0946.0946.19T:round3jh256
46.2746.3446.34T:round3jh512
58.2558.6759.08sha384
58.6258.8359.12sha512
69.5070.0671.03sha224
70.8070.9471.31T:bblake256
70.5271.1772.16sha256
87.8887.8988.19T:groestl256
152.12152.34152.77T:groestl512
Cycles/byte for 8 bytes
25%50%75%hash
66.0066.0068.38T:blake2s
67.8867.8867.88T:skein256256
80.7580.8883.00T:blake2b
100.88101.12102.75T:blake32
110.50110.50113.25T:skein512256
110.88110.88110.88T:skein512512
120.12120.38121.88blake256
134.50134.75137.25T:blake64
152.12152.12157.25blake512
178.25178.25189.12T:k12
225.00225.38226.50sha3224
225.38225.62227.12sha3384
224.88226.12227.62sha3256
226.50226.75227.38sha3512
229.12229.12231.62shake128
229.25230.25232.62shake256
248.12248.25248.62T:keccakc768
247.88248.38259.88T:keccakc1024
251.88251.88252.12T:keccakc448
244.75255.12255.38T:keccak
254.25256.25262.62T:keccakc512
315.12315.25315.38T:jh384
315.12315.25315.75T:jh256
315.75315.88316.00T:jh512
317.38318.12318.25T:jh224
346.62347.12348.62T:skein10241024
372.50372.50372.50T:round3jh256
373.50373.50373.75T:round3jh512
430.88432.00432.00T:groestl256
436.38444.62453.88sha224
437.62446.50452.62sha256
462.38466.25469.00sha384
466.12467.38470.62sha512
467.25469.12472.88T:bblake256
1221.251223.621227.62T:groestl512