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: aarch64; Cortex-A72 (410fd083); 2019 Broadcom BCM2711; 4 x 1500MHz; pi4b, supercop-20240425

[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
4.564.574.58T:k12
5.095.095.09T:skein512512
5.095.095.09T:skein512256
5.495.495.49T:blake2b
6.216.256.27T:skein10241024
7.067.207.37sha384
7.757.757.79T:skein256256
8.058.078.12sha512
8.438.438.44shake128
9.039.049.06T:blake64
9.079.079.07T:blake2s
9.399.399.41blake512
9.629.629.64T:keccakc448
9.739.749.75sha3224
10.2810.2810.29T:keccakc512
10.4310.4410.50sha3256
10.4210.4710.54shake256
10.3110.4910.51sha224
10.9911.0011.02T:keccak
11.4111.4111.42sha256
12.2512.2512.25T:blake32
13.6713.6713.67T:keccakc768
13.8913.9013.94sha3384
15.6915.6915.69blake256
15.7915.8015.80T:bblake256
19.0319.0319.03T:keccakc1024
19.3119.3319.37sha3512
29.15?31.41?34.84?T:groestl256
35.9235.9235.93T:jh384
35.9235.9235.93T:jh224
35.9235.9236.01T:jh256
35.9235.9235.92T:jh512
42.1142.1242.15T:round3jh256
42.1242.1242.17T:round3jh512
46.28?49.78?56.25?T:groestl512
Cycles/byte for 4096 bytes
25%50%75%hash
4.864.864.86T:k12
5.195.195.19T:skein512256
5.195.195.19T:skein512512
5.515.515.51T:blake2b
6.506.526.52T:skein10241024
7.857.857.87T:skein256256
8.118.148.19sha384
8.408.408.42sha512
8.778.778.78shake128
9.089.089.08T:blake2s
9.399.399.40T:blake64
9.749.749.74blake512
10.0310.0310.04T:keccakc448
10.1010.1010.10sha3224
10.6910.6910.69T:keccakc512
10.7910.7910.82sha3256
10.8010.8210.85shake256
11.1811.2611.27sha224
11.4011.4011.41T:keccak
11.6011.6011.61sha256
12.4912.4912.49T:blake32
13.7213.7213.72T:keccakc768
13.9113.9113.93sha3384
15.9715.9715.97blake256
17.3817.3917.39T:bblake256
19.4319.4319.43T:keccakc1024
19.6919.7019.71sha3512
32.0432.2533.91T:groestl256
36.4936.4936.49T:jh224
36.4936.4936.49T:jh384
36.4936.4936.53T:jh256
36.4936.4936.49T:jh512
42.7942.7942.80T:round3jh256
42.7942.7942.81T:round3jh512
51.9752.1155.30T:groestl512
Cycles/byte for 1536 bytes
25%50%75%hash
5.335.345.35T:k12
5.375.375.37T:skein512256
5.375.375.37T:skein512512
5.545.545.54T:blake2b
6.956.976.97T:skein10241024
8.038.038.03T:skein256256
8.958.968.97sha512
9.109.109.10T:blake2s
9.369.379.37shake128
9.609.699.80sha384
9.979.979.97T:blake64
10.2410.2410.26sha3224
10.2510.2610.26T:keccakc448
10.2910.2910.31blake512
11.1411.1511.15T:keccakc512
11.1411.1511.15sha3256
11.1711.1811.19shake256
11.9311.9311.93sha256
12.0712.0712.08T:keccak
12.4812.5212.54sha224
12.8912.8912.90T:blake32
13.8313.8313.83T:keccakc768
13.9013.9113.92sha3384
16.4516.4516.45blake256
20.0320.0320.03T:bblake256
20.0920.0920.09T:keccakc1024
20.2420.2420.29sha3512
33.3433.6435.38T:groestl256
37.4437.4437.44T:jh224
37.4437.4437.44T:jh256
37.4437.4437.44T:jh512
37.4437.4437.45T:jh384
43.9043.9043.92T:round3jh256
43.9043.9043.91T:round3jh512
55.7855.9759.46T:groestl512
Cycles/byte for 576 bytes
25%50%75%hash
5.865.875.87T:skein512256
5.875.875.87T:skein512512
6.076.096.12T:k12
6.226.226.22T:blake2b
8.468.468.49T:skein256256
8.878.878.89T:skein10241024
9.169.169.17T:blake2s
9.499.499.51sha512
10.0410.0410.07shake128
10.4810.4810.49T:blake64
10.7210.7210.72blake512
12.3812.3812.38sha3224
12.4112.4312.44sha3256
12.4312.4412.46shake256
12.6012.6012.66T:keccakc448
12.6212.6612.67T:keccak
12.6612.6712.67T:keccakc512
12.6412.7012.77sha384
12.8112.8112.81sha256
13.9313.9313.94T:blake32
14.8414.8514.86sha3384
14.9614.9615.02T:keccakc768
15.8415.8515.91sha224
17.6617.6617.66blake256
22.1022.1122.11sha3512
22.1422.1522.17T:keccakc1024
27.0327.0327.06T:bblake256
37.1137.2539.36T:groestl256
40.0040.0040.00T:jh224
40.0040.0040.00T:jh256
40.0040.0040.01T:jh512
40.0140.0140.01T:jh384
46.8946.8946.89T:round3jh256
46.9046.9046.90T:round3jh512
61.1261.5565.17T:groestl512
Cycles/byte for 64 bytes
25%50%75%hash
9.789.789.78T:blake2s
11.8111.8111.83T:skein512256
11.8811.8811.88T:skein512512
11.9411.9411.95T:blake2b
14.1614.1614.19T:skein256256
17.6917.7317.91T:k12
20.6420.7020.70sha512
21.2521.2521.25T:blake64
21.4121.4121.41blake512
22.7022.7022.78sha3256
22.7822.7822.78sha3512
22.7822.8022.80sha3384
22.8022.8022.80sha3224
22.8922.9122.91shake256
22.9522.9522.95shake128
23.7823.7823.78sha256
25.0325.0325.52T:keccakc1024
25.2325.2725.72T:keccakc768
25.4825.5225.98T:keccakc448
25.4425.8825.91T:keccak
25.8925.8925.91T:keccakc512
27.3927.4127.52T:blake32
28.9428.9728.97T:skein10241024
33.4433.4433.44blake256
55.4156.2056.73sha384
59.1159.4459.73sha224
72.4572.4572.45T:jh256
72.4572.4572.47T:jh224
72.5072.5072.50T:jh512
72.5372.5372.56T:jh384
84.8984.8984.89T:round3jh256
84.9484.9484.94T:round3jh512
83.9785.2388.66T:groestl256
116.86116.86116.86T:bblake256
151.66153.72161.06T:groestl512
Cycles/byte for 8 bytes
25%50%75%hash
77.8877.8877.88T:blake2s
80.1280.1280.12T:skein256256
93.6293.7593.75T:skein512256
94.1294.1294.12T:skein512512
95.1295.1295.25T:blake2b
100.38100.38100.38sha256
118.50118.50118.50T:blake32
137.88138.38140.00T:k12
142.75142.75142.75blake256
166.12166.38166.38sha512
172.12172.12172.12T:blake64
172.25172.25172.62blake512
179.75179.75179.88sha3224
180.00180.12180.12sha3256
180.00180.12180.25sha3384
180.62180.75180.75sha3512
181.62181.62181.75shake256
182.12182.12182.12shake128
200.38200.50204.00T:keccakc1024
205.00205.12209.12T:keccakc448
202.12205.75211.38T:keccakc768
205.88207.38208.00T:keccak
208.00208.12208.38T:keccakc512
232.25232.25232.25T:skein10241024
386.75391.00394.38sha224
423.12430.00454.75T:groestl256
442.50449.62455.38sha384
581.00581.00581.00T:jh224
581.00581.00581.00T:jh256
581.50581.50581.50T:jh512
581.50581.62584.12T:jh384
680.38680.50683.12T:round3jh256
681.00683.25683.75T:round3jh512
810.75810.75813.12T:bblake256
1210.251230.881310.62T:groestl512