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-A17 (410fc0d1); 2014 Rockchip RK3288; 4 x 1800MHz; tinker, supercop-20240107

[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
9.169.189.56T:blake2b
12.1212.1412.19T:blake2s
12.5412.6912.92sha256
12.5712.7312.89sha224
16.5416.5416.56T:blake32
18.4218.6019.16sha512
19.0019.0519.18T:k12
18.9119.1319.43sha384
19.1619.1719.18blake256
20.8120.8420.85T:bblake256
21.3121.3221.32shake256
23.8125.1425.22T:skein512256
26.0226.0326.04T:skein256256
27.4027.4727.49T:skein512512
30.0630.2130.45shake128
33.2333.4333.68blake512
34.2034.5534.80sha3224
36.4336.7836.99sha3256
38.0138.0238.04T:round3jh256
38.0238.0638.12T:round3jh512
40.2440.3240.43T:blake64
40.3540.3640.37T:keccakc512
41.6941.7141.72T:keccak
42.0442.0642.24T:keccakc448
46.2446.2646.31T:skein10241024
47.0947.5047.82sha3384
52.6152.6252.75T:keccakc768
56.7456.7656.78T:jh224
56.7556.7656.81T:jh384
56.7556.7656.81T:jh512
56.7556.7756.84T:jh256
57.7157.7657.79T:groestl256
63.9064.1464.58sha3512
72.2272.2372.32T:keccakc1024
122.57124.01124.72T:groestl512
Cycles/byte for 4096 bytes
25%50%75%hash
9.619.619.80T:blake2b
12.3712.3812.40T:blake2s
13.8913.9013.96sha224
13.9213.9613.99sha256
17.0717.0717.07T:blake32
19.7219.7219.73blake256
20.2020.2120.26T:k12
20.6220.6520.91sha512
20.8720.9321.05sha384
22.2622.2722.27shake256
23.1323.1423.14T:bblake256
25.8425.8425.87T:skein512256
26.4826.4826.49T:skein256256
28.1628.1628.17T:skein512512
33.0533.0933.17shake128
35.3635.4035.48blake512
37.1337.2037.29sha3224
38.8238.8238.84T:round3jh256
38.8538.8638.89T:round3jh512
39.3639.4339.47sha3256
41.8341.8341.84T:keccakc512
41.9241.9542.01T:blake64
43.3843.3843.39T:keccak
44.0744.0844.16T:keccakc448
48.0648.0748.08T:skein10241024
48.8448.9649.07sha3384
52.8952.8952.89T:keccakc768
57.8657.8757.88T:jh224
57.8757.8757.89T:jh384
57.8757.8757.90T:jh256
57.8757.8757.89T:jh512
59.3159.3259.33T:groestl256
66.8066.8867.01sha3512
73.7473.7473.78T:keccakc1024
129.95130.23130.53T:groestl512
Cycles/byte for 1536 bytes
25%50%75%hash
10.0310.2010.21T:blake2b
12.7712.7712.77T:blake2s
15.9616.0616.10sha224
16.0916.1416.22sha256
17.9417.9417.95T:blake32
20.6420.6420.65blake256
22.1122.1222.18T:k12
23.4723.4823.48shake256
23.5523.6423.86sha512
23.8523.9124.04sha384
26.9626.9626.98T:bblake256
26.9826.9927.05T:skein512256
27.2327.2327.25T:skein256256
29.3229.3229.34T:skein512512
37.7537.8338.00shake128
38.5038.7138.92blake512
39.8839.9640.15sha3224
40.1640.1740.18T:round3jh256
40.2040.2040.24T:round3jh512
42.9042.9743.04sha3256
43.4843.4843.49T:keccakc512
44.6644.6744.68T:blake64
45.4445.4445.47T:keccakc448
46.1746.1846.18T:keccak
51.0851.0851.10T:skein10241024
51.3651.4651.58sha3384
53.3453.3553.35T:keccakc768
59.7059.7059.71T:jh224
59.7059.7059.72T:jh256
59.7059.7159.72T:jh384
59.7259.7359.75T:jh512
61.9261.9361.94T:groestl256
71.3171.4071.61sha3512
76.2576.2676.26T:keccakc1024
140.54141.15141.41T:groestl512
Cycles/byte for 576 bytes
25%50%75%hash
12.2312.2412.40T:blake2b
13.7913.7913.81T:blake2s
20.2720.2720.29T:blake32
21.8321.9422.05sha224
21.9122.0522.23sha256
23.1023.1223.13blake256
25.5925.6325.70T:k12
26.9626.9727.04shake256
29.2429.2429.26T:skein256256
29.5429.6629.80sha512
29.7229.8030.12sha384
30.0530.0931.16T:skein512256
32.4232.4232.44T:skein512512
37.1637.1737.19T:bblake256
42.9943.1743.32blake512
43.7343.7343.75T:round3jh256
43.8043.8343.84T:round3jh512
47.1847.3947.64shake128
47.3647.4347.45T:blake64
48.9748.9949.06T:keccakc512
48.8549.0449.06T:keccak
53.5953.7053.97sha3256
53.7153.8954.04sha3224
56.9757.0557.10T:keccakc448
57.7657.8157.86T:keccakc768
61.0961.3661.80sha3384
64.2964.3264.40T:skein10241024
64.5964.6064.62T:jh384
64.5764.6064.63T:jh224
64.6064.6164.63T:jh256
64.6264.6364.65T:jh512
68.8968.9168.96T:groestl256
84.0284.0484.07T:keccakc1024
83.8484.1984.37sha3512
155.07155.25155.65T:groestl512
Cycles/byte for 64 bytes
25%50%75%hash
26.0026.0226.19T:blake2s
33.7234.1134.31T:blake2b
49.9249.9850.20T:blake32
54.2854.3054.36blake256
54.6254.6254.84T:skein256256
59.6759.7059.78shake256
68.2868.5368.64T:skein512256
71.2571.2771.36T:skein512512
77.1677.5578.23T:k12
89.5589.8990.09T:round3jh512
89.4789.9790.02T:round3jh256
96.8397.3898.55sha224
97.6797.8097.88T:keccakc512
98.7598.7598.84T:keccakc768
97.7398.81101.72sha256
99.7099.7399.89T:keccakc1024
100.09100.91104.81blake512
101.14101.22101.39T:blake64
106.75106.80107.12T:keccak
113.11113.78114.92sha512
114.44115.41117.22sha384
126.52126.61126.70T:jh224
126.47126.67126.84T:jh384
126.66126.73126.89T:jh512
126.78126.86126.92T:jh256
127.19127.66127.78T:keccakc448
157.64157.77158.08T:groestl256
167.45167.52167.77T:bblake256
166.94168.39169.53sha3224
167.59168.70170.91sha3512
168.38169.22171.47sha3256
168.34171.17173.67sha3384
180.44182.06184.14shake128
206.72206.91207.14T:skein10241024
402.67403.55405.53T:groestl512
Cycles/byte for 8 bytes
25%50%75%hash
208.50209.00211.12T:blake2s
266.00267.50268.88T:blake32
271.38271.62273.25T:blake2b
280.88282.00284.38blake256
335.62336.50337.62T:skein256256
471.25471.38471.88shake256
551.25551.50553.12T:skein512256
573.88574.00575.00T:skein512512
590.75592.50597.62T:k12
678.75686.50709.00sha224
684.62693.75711.62sha256
722.00723.00723.38T:round3jh256
724.50724.75725.50T:round3jh512
756.50758.00761.12T:keccakc512
763.50763.75765.12T:keccakc768
771.25772.62773.12T:keccakc1024
798.62799.62800.75T:groestl256
805.62813.12836.50blake512
813.12814.88821.50T:blake64
853.00853.50856.00T:keccak
902.75911.75930.38sha512
920.25925.62939.75sha384
1016.001017.621020.00T:jh224
1016.881017.621018.88T:jh384
1017.251018.251019.62T:jh256
1019.881021.501025.00T:jh512
1022.001022.501023.75T:keccakc448
1175.751176.501178.50T:bblake256
1329.381337.251352.62sha3512
1330.621340.381360.88sha3224
1350.501358.121372.50sha3256
1349.501372.751396.50sha3384
1441.501451.501470.50shake128
1650.501653.381654.88T:skein10241024
3221.753233.753301.00T:groestl512