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: armeabi; ARM1176 (410fb767); 2011 Broadcom BCM2835; 1 x 1000MHz; berry0, 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: (bytes,cycles)
Cycles/byte for long messages
25%50%75%hash
24.3224.4524.68T:blake2s
31.8632.0732.30sha224
32.0532.1332.23sha256
34.1134.3434.55T:blake32
41.9142.1942.67T:skein512256
42.2842.4542.84T:skein256256
43.1443.6344.11blake256
46.9847.1547.27T:blake2b
47.1347.6348.55T:skein512512
47.0447.7248.86T:k12
47.2947.8848.27T:bblake256
65.9466.6967.81shake128
70.3470.4670.60sha384
70.3670.5670.95sha512
75.8376.8677.62sha3224
79.0679.4879.82T:keccak
80.8281.4782.36sha3256
80.9881.7683.95shake256
86.8087.0388.24T:blake64
95.2495.3395.44T:keccakc448
98.2198.4099.09blake512
101.34101.67102.21T:keccakc512
101.47101.98102.44T:skein10241024
105.25106.84108.64sha3384
108.59108.91109.81T:groestl256
132.95133.21134.21T:keccakc768
144.56145.92148.23sha3512
161.11161.88163.13T:round3jh256
179.95182.86184.73T:groestl512
182.67183.31184.47T:keccakc1024
245.45246.09247.47T:jh512
245.16246.21247.66T:jh384
245.99246.21247.55T:jh224
245.90246.21248.12T:jh256
264.60265.74267.94T:round3jh512
Cycles/byte for 4096 bytes
25%50%75%hash
24.7124.7624.79T:blake2s
32.9833.0033.03sha256
32.9833.0233.09sha224
35.3335.3935.47T:blake32
43.1043.1443.30T:skein256256
43.1943.2543.46T:skein512256
44.9244.9745.14blake256
47.4447.5047.55T:blake2b
49.4849.5649.89T:skein512512
50.4550.6051.08T:k12
53.2753.3353.48T:bblake256
71.5271.7272.11shake128
73.2673.3073.34sha384
73.2773.3273.51sha512
81.1281.3781.62sha3224
82.3882.4482.59T:keccak
86.3286.4286.77sha3256
86.4586.5987.56shake256
90.1590.2290.78T:blake64
99.5499.5599.60T:keccakc448
101.96102.01102.30blake512
105.90105.93106.16T:keccakc512
105.89105.95106.08T:skein10241024
108.54108.93109.58sha3384
111.57111.61112.04T:groestl256
133.97134.05134.47T:keccakc768
150.24150.53151.44sha3512
164.81164.83165.39T:round3jh256
187.27187.31187.82T:keccakc1024
197.17197.61198.27T:groestl512
250.15250.20250.87T:jh512
250.16250.23250.89T:jh224
250.22250.30251.20T:jh256
250.21250.32250.98T:jh384
270.79270.94271.89T:round3jh512
Cycles/byte for 1536 bytes
25%50%75%hash
25.1025.2525.29T:blake2s
34.3434.4434.63sha256
34.5834.6134.79sha224
37.0137.1537.32T:blake32
44.2144.3144.39T:skein256256
44.9645.0845.53T:skein512256
46.9247.1147.38blake256
47.9348.0948.42T:blake2b
52.2852.5453.08T:skein512512
55.2155.3955.83T:k12
62.3162.4662.71T:bblake256
77.9277.9878.11sha512
77.9778.0778.17sha384
79.6580.2380.82shake128
85.1585.4486.01sha3224
87.2987.4187.61T:keccak
92.7392.9393.97sha3256
92.8993.0893.87shake256
95.4695.5695.69T:blake64
102.07102.13102.61T:keccakc448
107.90108.07108.17blake512
110.57110.70110.77T:keccakc512
112.31112.46112.71T:skein10241024
112.03112.84113.68sha3384
116.24116.38116.78T:groestl256
135.18135.20135.40T:keccakc768
157.78158.20158.95sha3512
169.56169.74170.15T:round3jh256
193.80193.99194.02T:keccakc1024
222.28222.92223.98T:groestl512
256.98257.01257.26T:jh224
256.99257.05257.11T:jh512
257.08257.24258.01T:jh384
257.07257.27258.03T:jh256
279.35279.60281.41T:round3jh512
Cycles/byte for 576 bytes
25%50%75%hash
26.2626.6826.76T:blake2s
38.0938.3038.55sha256
39.0639.2439.46sha224
41.4041.7842.32T:blake32
47.3547.6447.95T:skein256256
49.9650.1551.11T:skein512256
52.4752.7753.41blake256
54.5154.8655.02T:blake2b
59.8860.4361.95T:skein512512
63.2863.8465.26T:k12
82.9382.9983.34sha512
82.9083.0583.36sha384
86.6186.9888.04T:bblake256
92.4592.6993.23T:keccak
94.7296.0596.38shake128
100.33100.48100.96T:blake64
110.33111.00111.88sha3224
112.36112.83113.69sha3256
111.76113.30114.80shake256
113.21113.53113.88blake512
126.25126.45126.66T:keccakc512
126.51126.83127.04T:keccakc448
129.19129.38129.80T:groestl256
129.03130.69132.93sha3384
141.00141.53142.17T:skein10241024
147.40147.43148.19T:keccakc768
182.35182.36182.63T:round3jh256
180.27182.38183.52sha3512
214.12214.44214.57T:keccakc1024
269.15270.81275.92T:groestl512
275.42275.47275.73T:jh224
275.51275.63276.91T:jh512
275.61275.69276.20T:jh256
275.64276.09276.45T:jh384
302.24302.85303.99T:round3jh512
Cycles/byte for 64 bytes
25%50%75%hash
39.27?42.98?44.16?T:blake2s
86.4887.6189.16sha256
88.3089.3191.88T:skein256256
93.9897.1199.53sha224
100.94101.97104.97T:blake32
111.80114.03118.59T:skein512256
111.52115.31116.09T:blake2b
123.08126.05135.70blake256
140.64145.20156.09T:skein512512
180.47182.58185.56sha512
182.39184.84186.20sha384
182.84186.27202.42T:k12
196.77198.61206.69T:keccak
208.28209.53212.62T:blake64
232.84234.19239.55blake512
246.88248.91253.28T:keccakc1024
255.55256.80261.80T:keccakc768
268.36269.52271.56T:keccakc448
266.92269.53271.80T:keccakc512
296.36297.89303.11T:groestl256
300.88307.97319.53sha3224
300.16308.02327.20sha3512
316.59320.34326.30sha3256
308.91324.03336.19sha3384
318.72324.38331.00shake256
321.11329.48339.91shake128
346.03347.25355.23T:round3jh256
398.80403.31414.69T:bblake256
452.22453.95459.38T:skein10241024
512.02512.12513.27T:jh224
512.23514.16515.42T:jh512
513.11515.59518.75T:jh256
512.64516.34520.20T:jh384
594.08601.12609.28T:round3jh512
837.86847.06875.73T:groestl512
Cycles/byte for 8 bytes
25%50%75%hash
308.38?342.88?343.75?T:blake2s
490.75501.50537.12sha256
519.00523.00550.38sha224
503.62?533.62?562.88?T:blake32
529.00541.75557.50T:skein256256
643.12?662.62?716.00?blake256
890.25920.25925.62T:blake2b
938.50951.501019.75T:skein512256
1180.121209.251288.62T:skein512512
1414.001436.001527.75T:k12
1439.501449.121472.25sha512
1451.381466.881470.88sha384
1516.381528.751554.38T:groestl256
1527.751542.251602.38T:keccak
1661.001677.501704.50T:blake64
1851.751874.501886.00blake512
1979.751990.882029.38T:keccakc1024
2052.382056.502098.88T:keccakc768
2137.122149.752165.25T:keccakc512
2142.502153.752188.38T:keccakc448
2345.002434.252520.25sha3512
2396.882437.502560.50sha3224
2512.002542.002647.50sha3256
2552.752574.752703.75shake256
2441.502597.122691.12sha3384
2555.622617.752702.12shake128
2805.382805.382825.50T:round3jh256
2812.622852.752928.38T:bblake256
3624.253645.503722.38T:skein10241024
4094.884100.004109.25T:jh224
4105.004112.754119.25T:jh512
4103.504127.124229.75T:jh384
4111.624132.504152.75T:jh256
4757.384798.124854.50T:round3jh512
6761.626806.006954.62T:groestl512