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; Cortex-A7 (410fc075); 2016 Broadcom BCM2836; 4 x 900MHz; berry2, 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: (bytes,cycles)
Cycles/byte for long messages
25%50%75%hash
23.7223.7523.77T:blake2s
28.1428.2028.44sha256
31.2031.3931.57sha224
31.4131.4331.58T:blake32
34.0234.2034.38sha512
40.2240.2840.33blake256
40.3340.3640.47T:bblake256
41.0841.0941.18T:k12
43.4443.8344.11T:blake2b
48.2448.2948.30T:skein256256
63.2663.3463.80blake512
63.8464.1764.62shake128
66.8366.8367.00sha384
67.7967.9768.17T:skein512512
67.9067.9868.19T:skein512256
73.0773.4773.93sha3224
75.4375.4975.66T:blake64
78.1278.2178.74shake256
78.1578.2478.63sha3256
82.4082.5982.90T:keccakc448
87.9088.1188.38T:keccakc512
93.2393.4993.78T:keccak
95.2595.4195.65T:skein10241024
101.47101.84102.23sha3384
115.08115.33115.67T:keccakc768
129.14129.65130.56T:groestl256
138.10138.83139.23sha3512
157.96158.47158.78T:keccakc1024
175.52177.79179.10T:groestl512
227.44227.95228.35T:jh224
227.62228.05228.43T:jh512
227.61228.05228.38T:jh384
227.41228.10228.44T:jh256
247.66248.38249.50T:round3jh256
247.84248.60249.46T:round3jh512
Cycles/byte for 4096 bytes
25%50%75%hash
23.8423.8423.85T:blake2s
28.9829.0029.10sha256
32.1132.1132.18T:blake32
32.0832.1732.26sha224
35.6835.7035.79sha512
41.0941.1041.11blake256
43.0143.0243.05T:k12
43.9844.1444.24T:blake2b
44.4744.4844.53T:bblake256
48.8748.8848.88T:skein256256
66.0066.0366.16blake512
68.0768.0968.30shake128
69.1669.1669.24sha384
69.1969.2069.30T:skein512256
69.2069.2169.30T:skein512512
77.1477.1677.37sha3224
78.1378.1478.22T:blake64
81.8881.9082.09sha3256
82.0082.0282.27shake256
86.1086.1086.25T:keccakc448
91.5891.5991.72T:keccakc512
96.8696.8897.02T:keccak
98.7398.7598.85T:skein10241024
102.82102.87103.05sha3384
115.79115.81115.97T:keccakc768
132.97133.04133.47T:groestl256
142.06142.24142.39sha3512
161.49161.59161.74T:keccakc1024
185.78186.18186.78T:groestl512
231.53231.61231.78T:jh224
231.55231.65231.79T:jh384
231.55231.66231.82T:jh512
231.55231.68231.82T:jh256
252.54252.60253.09T:round3jh256
252.56252.64253.06T:round3jh512
Cycles/byte for 1536 bytes
25%50%75%hash
23.9924.0024.14T:blake2s
30.2830.2930.32sha256
33.2433.2533.28T:blake32
33.2833.4233.45sha224
38.2138.2438.54sha512
42.4242.4642.48blake256
44.4744.6645.41T:blake2b
46.2146.2346.62T:k12
49.8649.8749.89T:skein256256
51.3451.3451.36T:bblake256
70.2170.5170.68blake512
71.2271.2471.29T:skein512256
71.2471.2671.28T:skein512512
73.0473.0473.05sha384
74.5874.6574.69shake128
79.7779.8780.35sha3224
82.5582.5782.73T:blake64
86.2786.3186.37sha3256
86.6186.6386.69shake256
88.0188.0288.11T:keccakc448
95.4195.4395.63T:keccakc512
102.50102.52102.76T:keccak
104.26104.30104.45T:skein10241024
104.59104.74104.95sha3384
116.56116.57116.60T:keccakc768
138.53138.71138.72T:groestl256
147.91148.02148.11sha3512
166.87166.89167.23T:keccakc1024
200.27200.36201.44T:groestl512
237.66237.68238.03T:jh224
237.66237.69237.94T:jh384
237.67237.71238.07T:jh512
237.66237.73238.15T:jh256
259.44259.47259.74T:round3jh512
259.45259.50259.84T:round3jh256
Cycles/byte for 576 bytes
25%50%75%hash
24.4324.4424.45T:blake2s
33.7833.7933.79sha256
36.2836.3036.38T:blake32
36.4136.4436.45sha224
41.2041.3241.41sha512
45.9545.9646.06blake256
50.3350.3451.24T:blake2b
51.0351.0351.10T:k12
52.4752.4752.52T:skein256256
69.6469.6670.56T:bblake256
75.2775.5575.60blake512
76.3076.3076.33sha384
76.6376.6976.72T:skein512256
76.7076.7476.80T:skein512512
85.0485.1485.44shake128
86.1386.1786.23T:blake64
100.18100.30100.33sha3256
100.34100.52100.91sha3224
101.24101.37101.70shake256
107.51107.57108.30T:keccak
108.18108.18108.19T:keccakc512
108.56108.56108.64T:keccakc448
116.27116.57116.84sha3384
126.34126.34126.43T:keccakc768
129.67129.78130.02T:skein10241024
153.76154.09154.63T:groestl256
165.63165.89166.84sha3512
183.44183.44183.57T:keccakc1024
219.98220.09220.77T:groestl512
254.04254.04254.15T:jh224
254.03254.06254.40T:jh256
254.05254.09254.38T:jh384
254.07254.17254.20T:jh512
277.98278.03278.22T:round3jh512
278.02278.04278.12T:round3jh256
Cycles/byte for 64 bytes
25%50%75%hash
29.8129.8129.88T:blake2s
74.4774.6275.09T:blake32
76.5077.0078.75sha224
78.1178.1178.17sha256
85.9785.9785.97T:skein256256
90.9490.9591.91blake256
95.4796.5697.30sha512
100.66101.31104.09T:blake2b
130.08130.09131.06T:k12
145.69145.94146.59T:skein512256
145.78146.47148.48T:skein512512
151.05151.11151.12sha384
156.97158.19160.14blake512
168.25168.66169.17T:blake64
202.16202.16202.50T:keccakc1024
211.06211.06211.23T:keccakc768
216.91216.91217.52T:keccak
218.56218.56218.73T:keccakc512
220.44220.61220.78T:keccakc448
226.78227.62231.27sha3512
229.97230.25231.23sha3256
228.50231.44232.66sha3384
232.80233.09235.94sha3224
238.44238.83239.88shake256
247.66248.88249.50shake128
303.78303.80304.09T:bblake256
344.59349.12350.25T:groestl256
400.12400.42401.75T:skein10241024
463.00463.00463.55T:jh256
463.12463.12463.52T:jh224
463.17463.22465.05T:jh384
463.41463.83464.42T:jh512
514.84514.98515.66T:round3jh512
515.05515.34519.58T:round3jh256
557.72559.08563.56T:groestl512
Cycles/byte for 8 bytes
25%50%75%hash
238.50238.50239.75T:blake2s
342.50343.75350.25T:blake32
377.62379.25381.25sha224
389.75390.25391.25sha256
417.75418.38425.25blake256
480.75480.75480.75T:skein256256
760.50767.12774.88sha512
831.12851.50902.00T:blake2b
987.00987.25992.50T:k12
1162.621167.251172.00T:skein512256
1159.751167.501173.25T:skein512512
1200.121200.381201.00sha384
1243.621249.251268.00blake512
1340.501343.001344.62T:blake64
1621.001621.001621.12T:keccakc1024
1690.001690.001694.62T:keccakc768
1731.751738.001739.62T:keccak
1711.121739.501762.00T:groestl256
1752.751752.751757.25T:keccakc512
1767.251767.251767.25T:keccakc448
1808.501820.501840.88sha3512
1813.621830.001880.75sha3384
1840.001844.001849.25sha3224
1843.001850.251880.12sha3256
1902.121905.501909.88shake256
1967.501974.251985.12shake128
2122.502122.622125.75T:bblake256
3203.003208.253221.62T:skein10241024
3714.003714.003717.38T:jh256
3715.003715.003716.25T:jh224
3717.253718.003728.88T:jh512
3715.253719.123730.50T:jh384
4115.754117.624120.12T:round3jh512
4117.504118.754135.62T:round3jh256
4460.754477.124509.12T:groestl512