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; Ivy Bridge+AES (306a9); 2012 Intel Xeon E3-1275 V2; 4 x 3500MHz; hydra8, supercop-20240716

[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: old (bytes,cycles)
Cycles/byte for long messages
25%50%75%hash
3.393.403.42T:blake2b
4.514.534.57T:k12
5.265.285.31T:keccakc256treed2
5.285.325.34T:bblake256
5.345.355.35T:blake2s
5.655.685.73T:blake32
6.096.126.15blake512
6.146.176.21T:skein512256
6.146.176.20T:skein512512
6.206.256.29T:blake64
6.997.017.08T:keccakc512treed2
7.027.157.30sha384
7.377.417.43sha512
7.567.587.59blake256
8.278.348.42T:skein10241024
8.548.588.61shake128
8.698.718.76T:skein256256
9.409.449.47T:groestl256
9.459.469.47T:keccakc448
9.959.9710.01sha3224
10.1010.1310.15T:keccakc512
10.1110.1310.17sha256
10.0910.1310.17sha224
10.5710.6310.65shake256
10.6210.6510.67sha3256
10.7510.7810.80T:keccak
12.9012.9312.97T:groestl512
12.9612.9913.03T:jh224
12.9512.9913.04T:jh384
12.9313.0013.05T:jh512
12.9813.0013.05T:jh256
13.4813.5013.52T:keccakc768
14.1414.1614.17sha3384
15.2815.3715.44T:round3jh256
15.3215.3815.43T:round3jh512
18.8318.8518.88T:keccakc1024
19.6719.7119.76sha3512
Cycles/byte for 4096 bytes
25%50%75%hash
3.443.443.45T:blake2b
4.784.794.80T:k12
5.365.365.36T:blake2s
5.815.825.84T:blake32
5.915.925.92T:bblake256
6.246.256.25T:keccakc256treed2
6.286.296.30T:skein512256
6.326.336.35T:skein512512
6.366.366.38blake512
6.496.516.52T:blake64
7.547.557.57T:keccakc512treed2
7.737.737.73blake256
7.857.867.92sha384
8.108.118.12sha512
8.658.678.69T:skein10241024
8.848.858.86T:skein256256
8.958.958.96shake128
9.839.859.85T:groestl256
9.869.869.87T:keccakc448
10.3310.3410.36sha3224
10.5310.5410.54T:keccakc512
10.7210.7310.75sha224
10.7410.7410.76sha256
11.0111.0111.02shake256
11.0211.0211.03sha3256
11.1611.1611.17T:keccak
13.2113.2213.23T:jh224
13.2213.2313.25T:jh384
13.2213.2313.25T:jh512
13.2313.2413.25T:jh256
13.5713.5713.58T:keccakc768
13.7013.7013.71T:groestl512
14.1814.1814.19sha3384
15.6115.6415.65T:round3jh256
15.6215.6415.66T:round3jh512
19.2419.2419.25T:keccakc1024
20.0820.0920.10sha3512
Cycles/byte for 1536 bytes
25%50%75%hash
3.503.513.52T:blake2b
5.175.185.19T:k12
5.385.385.39T:blake2s
6.016.036.05T:blake32
6.486.506.51T:skein512256
6.606.616.62T:skein512512
6.766.776.78blake512
6.906.916.92T:bblake256
6.936.946.96T:blake64
7.277.297.29T:keccakc256treed2
7.977.977.98blake256
8.418.438.45T:keccakc512treed2
9.009.049.13sha384
9.059.059.08T:skein256256
9.189.219.26T:skein10241024
9.219.279.30sha512
9.549.559.56shake128
10.0810.0910.09T:keccakc448
10.4910.4910.52sha3224
10.4810.5010.54T:groestl256
10.9810.9911.00T:keccakc512
11.4011.4111.44sha3256
11.4111.4211.44shake256
11.6811.7011.71sha224
11.7311.7411.76sha256
11.8011.8111.82T:keccak
13.5913.6013.61T:jh224
13.6013.6013.64T:jh512
13.6113.6213.65T:jh256
13.6013.6313.64T:jh384
13.6713.6913.70T:keccakc768
14.2114.2214.24sha3384
14.9814.9915.01T:groestl512
16.0116.0716.11T:round3jh256
16.0616.0916.10T:round3jh512
19.8919.9019.92T:keccakc1024
20.7020.7120.74sha3512
Cycles/byte for 576 bytes
25%50%75%hash
4.064.094.13T:blake2b
5.435.455.45T:blake2s
5.775.785.80T:k12
6.596.616.67T:blake32
7.027.047.09T:skein512256
7.207.237.25blake512
7.347.357.37T:skein512512
7.437.457.47T:blake64
8.648.658.67blake256
9.569.589.62T:skein256256
9.789.799.81T:bblake256
10.0210.0310.04T:keccakc256treed2
10.2510.2610.28shake128
11.4111.4311.79sha384
11.5711.5911.61T:skein10241024
11.6411.6911.76sha512
12.1912.2112.24T:groestl256
12.3712.3812.39T:keccak
12.4412.4512.52T:keccakc448
12.4612.4712.49T:keccakc512
12.7012.7012.74sha3224
12.7012.7112.74sha3256
12.7712.7912.89shake256
13.0413.0713.08T:keccakc512treed2
14.2514.2714.29sha224
14.3514.3714.40sha256
14.4914.5814.65T:jh224
14.5514.5814.61T:jh512
14.5714.5914.62T:jh256
14.5814.6114.65T:jh384
14.8814.9014.91T:keccakc768
15.2115.2115.26sha3384
17.1917.2317.28T:round3jh256
17.2017.2417.27T:round3jh512
17.2317.2417.27T:groestl512
21.9521.9621.98T:keccakc1024
22.6022.6322.73sha3512
Cycles/byte for 64 bytes
25%50%75%hash
6.176.286.33T:blake2s
9.259.389.44T:blake2b
13.9414.0214.27T:blake32
14.0814.1714.34T:skein512256
15.7015.7315.78T:k12
15.9816.2216.36blake512
16.7316.7716.83T:skein256256
16.7816.8817.08T:blake64
16.8016.9217.12T:skein512512
17.2017.2317.30blake256
23.5523.5923.73sha3224
23.6223.6623.94sha3384
23.6423.6923.88sha3256
23.7223.7223.94shake128
23.6623.7323.81sha3512
24.3924.4424.50shake256
24.5324.6224.84T:keccak
25.1125.2025.28T:keccakc1024
25.2725.3325.47T:keccakc768
25.4525.5025.59T:keccakc512
25.4725.5025.56T:keccakc448
26.9427.1127.36T:jh224
27.1127.1727.33T:jh256
27.1227.2527.47T:jh512
27.1627.3027.50T:jh384
31.9232.0832.20T:round3jh512
32.0632.1632.34T:round3jh256
34.2834.3634.47T:groestl256
37.5637.7737.91T:skein10241024
44.5644.7548.33sha384
45.1445.2245.41T:bblake256
45.1245.3446.17sha512
47.3147.4747.62sha224
48.0348.2048.39sha256
51.4451.5351.61T:groestl512
61.4861.5561.67T:keccakc512treed2
61.7761.9862.00T:keccakc256treed2
Cycles/byte for 8 bytes
25%50%75%hash
53.2553.3853.62T:blake2s
70.6271.6273.38T:blake32
73.3874.5074.75T:blake2b
80.7581.2581.75blake256
101.38101.62103.25T:skein256256
112.50113.12114.38T:skein512256
124.50124.88125.50T:k12
128.62130.00131.50blake512
134.25135.00137.12T:blake64
134.62135.25136.62T:skein512512
187.62187.75188.38sha3384
187.38188.00190.25sha3224
188.00188.25189.00sha3256
188.00188.25190.12sha3512
188.50188.62189.75shake128
193.00193.75194.12shake256
196.38196.88197.88T:keccak
199.75200.12201.50T:groestl256
201.50202.12202.88T:keccakc1024
202.38203.75207.00T:keccakc768
203.62204.00205.38T:keccakc512
203.75204.25204.75T:keccakc448
218.00219.75222.00T:jh256
219.25220.38222.62T:jh224
218.88221.00222.12T:jh512
219.88221.25221.88T:jh384
256.50257.62258.50T:round3jh256
257.62258.75259.75T:round3jh512
296.88297.75298.88sha224
300.62301.38302.38T:skein10241024
301.50301.75302.75T:bblake256
302.50303.50304.75sha256
354.62356.62382.12sha384
361.00363.62370.00sha512
392.12392.75393.75T:groestl512
491.62493.12494.25T:keccakc512treed2
494.00495.25496.12T:keccakc256treed2