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: amd64; Zen 3 (a50f00); 2021 AMD Ryzen 5 5560U; 6 x 4062MHz; beelink, supercop-20221122

[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
2.022.022.02sha256
2.012.022.03sha224
2.922.943.00T:k12
3.393.423.45T:blake2b
3.833.853.86T:keccakc256treed2
4.234.254.26sha384
4.204.254.27sha512
4.424.434.43T:skein512256
4.444.444.44T:skein512512
4.544.564.58T:bblake256
4.35?4.61?4.84?T:blake64
4.815.125.18blake512
5.165.175.19T:keccakc512treed2
5.255.265.27T:blake2s
5.505.515.52T:skein10241024
5.665.665.67T:skein256256
5.745.745.75shake128
6.356.376.38T:keccakc448
6.416.446.60T:blake32
6.686.696.72sha3224
6.676.696.72T:groestl256
6.796.826.90T:keccakc512
7.147.157.16shake256
7.147.157.15sha3256
7.217.277.33T:keccak
7.497.507.52blake256
9.049.069.10T:keccakc768
9.239.289.32T:groestl512
9.509.519.52sha3384
10.4810.5210.55T:jh384
10.4910.5210.56T:jh224
10.5010.5310.56T:jh256
10.4310.5310.68T:jh512
12.4512.4712.51T:round3jh256
12.4612.4912.52T:round3jh512
12.5812.6712.74T:keccakc1024
13.2713.2813.28sha3512
Cycles/byte for 4096 bytes
25%50%75%hash
2.062.062.06sha256
2.282.282.28sha224
3.193.203.21T:k12
3.423.433.43T:blake2b
4.524.524.52T:skein512256
4.524.534.53T:keccakc256treed2
4.544.544.54T:skein512512
4.644.644.65sha384
4.644.664.66sha512
4.714.784.89T:blake64
5.145.155.15T:bblake256
5.255.265.26T:blake2s
5.185.265.28blake512
5.535.545.54T:keccakc512treed2
5.745.745.74T:skein10241024
5.745.745.75T:skein256256
6.006.006.00shake128
6.616.616.64T:blake32
6.656.666.66T:keccakc448
6.946.946.96sha3224
6.996.997.00T:groestl256
7.097.107.12T:keccakc512
7.407.407.40sha3256
7.407.407.41shake256
7.517.537.54T:keccak
7.637.637.64blake256
9.089.089.10T:keccakc768
9.539.539.53sha3384
9.789.809.82T:groestl512
10.6910.7010.71T:jh384
10.7010.7110.72T:jh224
10.7010.7110.72T:jh256
10.7110.7210.78T:jh512
12.6712.6812.69T:round3jh256
12.6812.6912.70T:round3jh512
12.9112.9512.96T:keccakc1024
13.5313.5313.53sha3512
Cycles/byte for 1536 bytes
25%50%75%hash
2.142.142.14sha256
2.712.722.72sha224
3.423.433.44T:blake2b
3.543.553.58T:k12
4.684.684.68T:skein512256
4.704.704.70T:skein512512
5.055.105.21T:blake64
5.235.235.25T:keccakc256treed2
5.255.255.25T:blake2s
5.325.325.34sha384
5.335.345.38sha512
5.545.555.70blake512
5.885.885.88T:skein256256
6.096.096.09T:skein10241024
6.126.136.13T:bblake256
6.136.146.14T:keccakc512treed2
6.406.416.41shake128
6.776.866.89T:blake32
6.916.926.94T:keccakc448
7.057.057.06sha3224
7.357.367.36T:keccakc512
7.487.497.50T:groestl256
7.667.667.67sha3256
7.667.677.68shake256
7.847.847.85blake256
7.927.977.98T:keccak
9.119.149.16T:keccakc768
9.569.569.56sha3384
10.6510.6610.69T:groestl512
10.9911.0011.02T:jh256
10.9911.0111.02T:jh224
10.9911.0111.02T:jh384
11.0111.0311.09T:jh512
13.0213.0313.05T:round3jh512
13.0313.0313.04T:round3jh256
13.3813.3813.41T:keccakc1024
13.9513.9513.96sha3512
Cycles/byte for 576 bytes
25%50%75%hash
2.342.342.35sha256
3.753.803.84T:blake2b
3.893.903.90sha224
4.174.194.26T:k12
5.115.115.11T:skein512256
5.145.145.15T:skein512512
5.225.235.25T:blake2s
5.335.355.51T:blake64
6.046.066.39blake512
6.266.266.26T:skein256256
6.766.776.79sha384
6.876.876.88shake128
6.806.886.95sha512
7.107.127.14T:keccakc256treed2
7.397.457.47T:blake32
7.747.777.77T:skein10241024
8.308.338.37T:keccakc512
8.298.408.41T:keccak
8.398.418.42blake256
8.408.448.46T:keccakc448
8.538.538.55sha3256
8.548.548.54shake256
8.548.548.54sha3224
8.808.818.83T:groestl256
9.109.129.14T:bblake256
9.449.459.47T:keccakc512treed2
10.0510.0710.09T:keccakc768
10.2310.2310.24sha3384
11.7911.8111.84T:jh224
11.7811.8111.84T:jh256
11.7911.8111.85T:jh384
11.8111.8511.87T:jh512
12.3612.3812.40T:groestl512
13.9213.9513.97T:round3jh256
13.9313.9613.99T:round3jh512
14.7514.8014.82T:keccakc1024
15.2415.2415.24sha3512
Cycles/byte for 64 bytes
25%50%75%hash
4.954.975.00sha256
5.005.035.06T:blake2s
7.167.227.39T:blake2b
10.3010.3010.36T:skein512256
10.4510.5010.55T:skein512512
11.0511.0811.09T:skein256256
10.80?11.91?12.03?T:blake64
12.7012.7312.88T:k12
13.8113.8913.89blake512
14.9114.9415.47T:blake32
15.5015.5315.61blake256
15.9815.9816.09sha3256
16.0016.0316.09shake256
16.0016.0316.12sha3224
16.0216.0316.06sha3512
16.0616.0816.09sha3384
16.0616.0816.11shake128
16.5316.5917.25T:keccakc512
17.3017.4717.62T:keccakc768
17.4417.5217.59T:keccakc1024
17.7018.0318.11T:keccak
17.6918.8018.97T:keccakc448
18.8118.8818.97sha224
21.8922.0622.20T:jh256
21.9822.0622.17T:jh384
21.9422.0822.12T:jh512
22.0522.1722.25T:jh224
25.1125.2525.34T:skein10241024
25.6225.7025.83T:round3jh256
25.6125.7225.84T:round3jh512
26.0026.0826.14T:groestl256
26.5826.7226.95sha384
27.1227.6228.33sha512
36.9837.0637.20T:groestl512
43.2743.4543.77T:keccakc256treed2
43.4143.5543.64T:keccakc512treed2
43.5843.7243.88T:bblake256
Cycles/byte for 8 bytes
25%50%75%hash
25.3825.5025.62sha256
46.0046.2546.50T:blake2s
57.7558.5060.25T:blake2b
64.8865.1265.50T:blake32
66.3866.3867.50T:skein256256
68.7569.0069.25blake256
82.2582.3882.38T:skein512256
84.0084.1284.62T:skein512512
87.50?93.12?97.38?T:blake64
101.12101.25101.50T:k12
108.12111.50111.75blake512
126.12126.25126.38sha3256
127.25127.38127.50shake128
127.38127.38127.50sha3512
127.25127.50127.50sha3384
127.00127.75127.88sha3224
135.25136.25139.00sha224
140.12140.38141.00T:keccakc1024
140.50141.25143.00T:keccakc768
143.50144.62145.12T:keccak
146.88147.50148.62T:keccakc512
149.50150.38151.00T:keccakc448
151.25151.50151.88T:groestl256
126.88?161.50?161.50?shake256
177.62178.12180.38T:jh384
178.50178.75180.12T:jh256
177.75178.88179.75T:jh512
179.00179.88180.62T:jh224
202.38203.00203.88T:skein10241024
208.12208.88210.25T:round3jh512
208.25209.12210.00T:round3jh256
212.75?215.38?244.25?sha384
227.50246.12250.50sha512
266.88268.12268.88T:groestl512
288.75290.00291.25T:bblake256
346.25347.75350.75T:keccakc256treed2
347.62348.50350.25T:keccakc512treed2