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: mipso32; Octeon II (cnmips64v2); 2011 Cavium Octeon II CN6120; 2 x 2000MHz; gcc23, supercop-20230530

[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
22.0222.0322.04T:blake2s
31.1431.4031.92T:blake32
38.4738.4738.48blake256
40.0840.0840.09T:bblake256
44.6544.8845.32sha256
46.4446.6847.18T:k12
52.3253.4055.22T:blake2b
71.2471.2571.26T:skein256256
77.8777.8877.89T:skein512512
77.8777.8877.88T:skein512256
86.2186.2286.23sha224
88.4788.4888.49shake128
93.9994.0094.01T:keccakc448
95.36?95.38?112.43?T:blake64
99.8999.9099.93T:keccakc512
101.84101.85101.86sha3224
103.00103.00103.00sha512
105.54105.55105.55T:keccak
107.86107.86107.86blake512
108.28108.28108.29sha3256
108.28108.28108.28shake256
128.11128.16128.25T:skein10241024
128.68128.70128.71T:keccakc768
138.21138.22138.24sha384
141.30141.30141.34sha3384
173.94173.96173.98T:keccakc1024
193.65194.12194.13sha3512
197.24197.25197.26T:jh224
197.25197.25197.25T:jh512
197.25197.25197.25T:jh384
197.24197.26197.26T:jh256
221.78221.78221.78T:groestl256
227.42227.44227.45T:round3jh512
227.43227.45227.59T:round3jh256
365.70365.84366.69T:groestl512
Cycles/byte for 4096 bytes
25%50%75%hash
22.2922.2922.30T:blake2s
32.3032.3032.56T:blake32
39.4839.4839.48blake256
44.7544.7544.75T:bblake256
45.8345.8346.05sha256
49.1349.1949.42T:k12
57.3757.7058.38T:blake2b
72.2372.2472.24T:skein256256
79.4879.4879.48T:skein512256
79.4979.4979.50T:skein512512
88.4788.4888.48sha224
92.4492.4592.45shake128
98.5698.5698.57T:keccakc448
98.9999.00107.52T:blake64
104.37104.37104.38T:keccakc512
105.52105.52105.52sha3224
106.59106.59106.59sha512
109.94109.95109.95T:keccak
111.85111.85111.85blake512
111.98111.98111.98sha3256
112.19112.19112.19shake256
129.74129.74129.75T:keccakc768
132.73132.75132.79T:skein10241024
141.72141.72141.74sha3384
143.79143.79143.80sha384
177.96177.97177.97T:keccakc1024
197.88197.88197.88sha3512
200.61200.61200.61T:jh512
200.60200.61200.61T:jh256
200.62200.62200.62T:jh384
200.62200.63200.63T:jh224
227.51227.51227.52T:groestl256
231.27231.27231.28T:round3jh512
231.27231.28231.35T:round3jh256
386.22386.24386.65T:groestl512
Cycles/byte for 1536 bytes
25%50%75%hash
22.7322.7322.74T:blake2s
33.8033.8134.06T:blake32
41.1841.1841.18blake256
47.4247.4547.65sha256
52.5352.5352.53T:bblake256
53.1953.3653.38T:k12
64.3164.7965.47T:blake2b
73.8773.8873.88T:skein256256
82.1582.1582.15T:skein512256
82.1882.1982.19T:skein512512
92.2492.2492.24sha224
99.0599.0599.07shake128
101.72101.72101.77T:keccakc448
105.02105.05105.05T:blake64
107.23107.23107.24sha3224
109.60109.60109.62T:keccakc512
112.56112.56112.56sha512
115.92115.93115.93sha3256
116.49116.49116.49shake256
117.27117.28117.29T:keccak
118.49118.49118.49blake512
131.52131.52131.53T:keccakc768
140.38140.40140.46T:skein10241024
142.42142.43142.43sha3384
153.06153.08153.09sha384
184.70184.71184.72T:keccakc1024
204.13204.14204.14sha3512
206.20206.20206.20T:jh512
206.19206.21206.24T:jh256
206.24206.24206.25T:jh384
206.24206.26206.26T:jh224
237.07237.07237.07T:groestl256
237.66237.67237.68T:round3jh256
237.66237.68237.68T:round3jh512
420.21420.23420.27T:groestl512
Cycles/byte for 576 bytes
25%50%75%hash
23.9023.9223.94T:blake2s
37.7537.7738.06T:blake32
45.7045.7045.72blake256
51.6951.8351.94sha256
59.1559.5561.23T:k12
73.2873.2873.32T:bblake256
78.2678.2678.47T:skein256256
89.2789.2791.31T:skein512256
89.3589.3891.61T:skein512512
87.07?90.61?99.44?T:blake2b
102.26102.28102.58sha224
107.88107.88107.93shake128
110.60110.61110.66T:blake64
117.25117.25119.42sha512
124.25124.25124.27blake512
125.38125.38125.53T:keccak
126.49126.61126.84T:keccakc512
127.63127.63128.11T:keccakc448
129.40129.41129.58sha3256
129.44129.44129.58sha3224
130.90130.90133.33shake256
144.71144.75148.21T:keccakc768
153.11153.11155.56sha3384
162.63162.71165.90sha384
175.12175.12175.50T:skein10241024
204.86204.90204.96T:keccakc1024
221.10221.10221.15T:jh256
221.12221.12224.06T:jh512
221.24221.24221.27T:jh384
221.24221.27221.28T:jh224
223.76223.77223.80sha3512
254.72254.74254.74T:round3jh256
254.71254.76254.79T:round3jh512
262.55262.56262.56T:groestl256
470.05470.06470.24T:groestl512
Cycles/byte for 64 bytes
25%50%75%hash
37.5337.5337.75T:blake2s
87.9788.2288.75T:blake32
103.53103.53103.78blake256
105.84106.12106.28sha256
121.97121.97121.97T:blake2b
133.62133.62133.62T:skein256256
158.38158.59159.50T:k12
177.94177.94178.16T:skein512256
178.66178.66178.84T:skein512512
227.81228.50228.78T:blake64
229.88229.88230.44sha224
231.19231.19231.41sha512
243.81244.00244.22sha3224
244.69244.72244.88sha3256
246.75246.75247.78sha3384
248.62248.81248.97sha3512
249.19249.56249.88T:keccakc1024
251.47251.47251.88blake512
258.09258.09258.22shake256
262.03262.03262.69shake128
266.22266.28266.72T:keccakc768
277.53277.53277.94T:keccak
280.47281.28281.44T:keccakc512
285.84286.03286.09T:keccakc448
338.69338.81339.34T:bblake256
354.16355.56355.56sha384
411.84412.00412.66T:jh256
412.22412.22412.44T:jh512
413.12413.12413.12T:jh384
413.28413.56414.34T:jh224
472.84473.31474.25T:round3jh512
473.00473.78474.44T:round3jh256
548.94548.94549.44T:skein10241024
588.69588.75589.12T:groestl256
1303.751304.031347.25T:groestl512
Cycles/byte for 8 bytes
25%50%75%hash
297.25297.25297.25T:blake2s
454.00455.50455.50T:blake32
496.50497.75500.00sha256
524.75527.25527.25blake256
785.50786.50787.00T:skein256256
971.00972.25974.50T:blake2b
1140.751143.751147.25sha224
1423.251424.501424.50T:skein512256
1244.00?1429.50?1469.50?T:k12
1429.001430.501430.50T:skein512512
1843.251849.001850.50T:blake64
1848.751850.501852.25sha512
1883.001884.501888.50sha3224
1892.001893.501894.00sha3256
1907.001907.001907.25sha3384
1923.501924.751931.75sha3512
1997.751997.751999.50shake256
1996.751999.251999.25T:keccakc1024
2029.252029.252032.75shake128
2032.002032.002033.75blake512
2126.252127.752151.50T:keccakc768
2232.252234.502235.00T:keccak
2242.752243.002253.50T:keccakc512
2281.002281.002284.25T:keccakc448
2410.252412.002413.25T:bblake256
2834.502836.003075.25sha384
2929.002929.002930.75T:groestl256
3320.753322.503324.75T:jh256
3323.753323.753324.25T:jh512
3328.753330.503331.50T:jh384
3330.503330.503335.25T:jh224
3811.003812.753816.50T:round3jh512
3809.003813.753814.50T:round3jh256
4413.004416.504420.25T:skein10241024
10443.7510448.7510582.50T:groestl512