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: riscv64; U54 (sifive,u54-mc); 2017 SiFive Freedom U540; 4 x 1000MHz; riscvunleashed000, 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
17.9517.9818.01T:k12
18.8618.8818.90T:blake2b
29.4129.4129.43T:skein512256
29.1929.4329.54T:skein256256
29.4429.5029.61T:skein512512
29.7429.7629.78T:blake64
33.2733.3133.34blake512
33.3733.4033.46shake128
34.9834.9834.99T:skein10241024
35.9436.0236.16T:blake2s
37.6237.6537.68T:keccakc448
38.7038.7538.79sha3224
39.8339.8939.96sha512
40.3340.4540.62T:keccakc512
40.9341.2641.67sha384
41.3641.3941.40sha3256
41.3641.4041.59shake256
41.6241.7742.04T:blake32
43.0243.0443.07T:keccak
53.7553.7753.86T:keccakc768
54.4054.6054.64blake256
55.1955.2155.24sha3384
55.7155.7455.78T:bblake256
61.7161.7661.89sha256
75.0875.1375.41T:keccakc1024
76.5676.6476.74sha3512
76.6876.9878.12sha224
104.96105.02105.33T:jh384
105.19105.22105.26T:jh224
105.19105.29105.36T:jh256
105.07105.32105.35T:jh512
105.31105.35105.69T:round3jh512
105.21105.56105.60T:round3jh256
111.41111.53111.91T:groestl256
174.54175.19181.56T:groestl512
Cycles/byte for 4096 bytes
25%50%75%hash
18.9518.9518.97T:k12
18.9618.9618.97T:blake2b
29.7529.8129.86T:skein256256
30.0630.0630.07T:skein512256
30.1630.1730.18T:skein512512
31.0131.0231.02T:blake64
34.5334.5434.55blake512
34.8434.8434.87shake128
36.0736.0736.14T:blake2s
36.3836.3836.38T:skein10241024
39.2339.2339.24T:keccakc448
40.1740.1740.18sha3224
41.8641.8641.88sha512
42.0042.0142.09T:keccakc512
42.6342.6542.77T:blake32
42.7942.8042.80sha3256
42.8142.8142.91shake256
43.8043.8644.05sha384
44.5844.5944.60T:keccak
54.0054.0154.05T:keccakc768
55.2555.2555.27sha3384
55.4655.5155.52blake256
61.4561.4661.47T:bblake256
63.0763.0863.14sha256
76.6976.6976.83T:keccakc1024
78.0578.0678.11sha3512
79.6279.6680.19sha224
106.80106.82106.94T:jh384
106.92106.93106.94T:jh256
106.81106.93106.94T:jh512
106.94106.95106.96T:jh224
107.31107.32107.49T:round3jh512
107.31107.43107.44T:round3jh256
114.24114.26114.45T:groestl256
183.57183.69186.87T:groestl512
Cycles/byte for 1536 bytes
25%50%75%hash
19.0919.1019.11T:blake2b
20.5720.5720.59T:k12
30.4930.5230.73T:skein256256
31.1231.1431.15T:skein512256
31.3331.3631.36T:skein512512
33.1033.1133.12T:blake64
36.1536.1636.18T:blake2s
36.5836.6036.63blake512
37.2237.2337.24shake128
38.7038.7138.76T:skein10241024
40.1040.1040.12T:keccakc448
40.7240.7340.76sha3224
43.7143.7243.73T:keccakc512
44.1144.2344.28T:blake32
44.2544.2544.29sha3256
44.2844.2944.30shake256
45.1045.1245.21sha512
47.1747.1847.19T:keccak
48.2048.2348.38sha384
54.4054.4054.42T:keccakc768
55.3555.3555.44sha3384
57.1457.3257.34blake256
65.2665.2865.33sha256
70.9770.9871.03T:bblake256
79.2879.2979.31T:keccakc1024
80.4280.4380.47sha3512
83.9984.0584.33sha224
109.66109.77109.80T:jh384
109.67109.78109.79T:jh512
109.78109.79109.81T:jh256
109.79109.81109.83T:jh224
110.60110.61110.67T:round3jh256
110.60110.72110.78T:round3jh512
118.85118.86118.92T:groestl256
197.91197.97198.48T:groestl512
Cycles/byte for 576 bytes
25%50%75%hash
21.5321.5521.58T:blake2b
22.9823.0023.06T:k12
32.5132.7132.72T:skein256256
33.9533.9533.95T:skein512256
34.5334.5534.57T:skein512512
35.4735.4835.52T:blake64
36.3536.3536.36T:blake2s
38.4438.4838.55blake512
39.9139.9239.97shake128
48.1248.2148.30T:blake32
48.8248.8348.88T:skein10241024
49.2249.2649.34T:keccakc448
49.3549.3549.45sha3256
49.3749.4149.53sha3224
49.4349.4449.50shake256
49.4849.4949.53T:keccak
49.4849.5149.57sha512
49.5049.5149.54T:keccakc512
55.5455.7556.33sha384
58.9558.9658.99T:keccakc768
59.2559.2559.29sha3384
62.1462.1662.21blake256
71.1171.1571.19sha256
87.2087.2287.27T:keccakc1024
87.8587.8888.02sha3512
95.6495.8596.15sha224
96.3996.4296.56T:bblake256
117.27117.30117.39T:jh512
117.28117.32117.41T:jh256
117.36117.37117.40T:jh384
117.32117.43117.47T:jh224
119.40119.47119.56T:round3jh512
119.39119.48119.52T:round3jh256
131.14131.20131.29T:groestl256
216.91216.93216.99T:groestl512
Cycles/byte for 64 bytes
25%50%75%hash
38.9138.9138.91T:blake2s
42.4742.5342.58T:blake2b
57.8057.8058.20T:skein256256
61.9762.0862.34T:k12
69.0669.0869.16T:skein512256
73.0673.5073.53T:skein512512
76.8976.9477.20T:blake64
79.4179.8080.31blake512
90.8090.8191.30sha3256
90.8890.9191.67sha3384
90.9490.9792.47sha3224
90.8191.1191.84sha3512
91.4791.4893.17shake256
91.7091.7092.45shake128
98.5898.6998.86T:blake32
99.3699.41100.69T:keccakc1024
99.84100.08100.48T:keccakc512
100.03100.16101.55T:keccakc768
100.19100.33102.19T:keccak
100.50100.66101.78T:keccakc448
114.78114.86115.58sha512
123.78123.78123.84blake256
145.92146.02146.22sha256
157.34157.36157.59T:skein10241024
168.22170.97173.77sha384
214.28214.41214.70T:jh384
214.31214.59214.86T:jh256
214.47214.66214.95T:jh512
214.80215.08215.22T:jh224
231.33231.59231.95T:round3jh512
231.53231.78232.08T:round3jh256
244.50246.19249.11sha224
288.31288.55289.25T:groestl256
420.91421.05421.75T:bblake256
546.53546.91549.36T:groestl512
Cycles/byte for 8 bytes
25%50%75%hash
314.88316.50317.88T:blake2s
339.62342.00342.75T:blake2b
342.38342.62346.62T:skein256256
455.38455.75458.62T:blake32
489.75490.62497.62T:k12
550.88553.25553.75T:skein512256
556.12556.75561.25blake256
591.25592.25596.00T:skein512512
616.38619.25622.62T:blake64
639.25640.75647.25blake512
672.62674.00694.00sha256
721.38721.75743.12sha3256
722.25724.88743.50sha3384
727.25727.38753.38shake256
725.12727.88737.12sha3224
726.00728.88744.38sha3512
729.25729.25750.88shake128
792.25793.38804.88T:keccakc1024
797.50799.88823.75T:keccakc768
799.38800.88827.38T:keccakc448
799.38801.75825.00T:keccakc512
804.62813.12894.00T:keccak
918.75921.50934.75sha512
1260.381261.751264.50T:skein10241024
1328.501337.881358.88sha224
1352.381361.881387.50sha384
1412.881415.001418.88T:groestl256
1713.121714.881717.38T:jh384
1713.881715.001719.25T:jh256
1714.621715.381718.25T:jh512
1715.751718.621722.25T:jh224
1845.751846.881850.00T:round3jh256
1845.751848.501853.38T:round3jh512
2938.622939.002942.50T:bblake256
4375.884379.254385.75T:groestl512