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; Raptor Cove (b06a2); 2023 Intel Core i7-13700H, P cores; 6 x 4800MHz; raptor, supercop-20231107

[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.052.10sha224
2.042.052.05sha256
2.512.542.57T:k12
3.283.313.36T:blake2b
4.034.084.12T:blake64
4.364.424.48blake512
4.484.524.55T:skein512512
4.504.534.58T:skein512256
4.574.594.61T:keccakc256treed2
4.604.664.71sha384
4.674.724.74shake128
4.804.844.87T:skein10241024
4.884.944.98T:bblake256
5.015.045.07sha512
5.235.245.25T:blake2s
5.285.335.38T:keccakc448
5.435.485.52sha3224
5.605.645.67T:blake32
5.715.755.79T:keccakc512
5.765.805.84sha3256
5.815.845.89shake256
6.096.126.15T:keccakc512treed2
6.166.226.37T:keccak
6.196.246.27T:skein256256
7.317.347.37blake256
7.667.727.77T:keccakc768
7.717.807.85sha3384
8.108.168.20T:groestl256
10.4510.5110.56T:groestl512
10.6510.7210.82T:keccakc1024
10.7410.7910.83sha3512
12.5112.5412.59T:jh384
12.5112.5512.59T:jh256
12.5012.5512.60T:jh224
12.5112.5612.59T:jh512
14.7614.8114.88T:round3jh256
14.7814.8414.90T:round3jh512
Cycles/byte for 4096 bytes
25%50%75%hash
2.092.092.09sha256
2.322.332.35sha224
2.662.662.67T:k12
3.313.313.33T:blake2b
4.224.244.25T:blake64
4.564.584.59blake512
4.614.624.63T:skein512512
4.634.644.65T:skein512256
4.904.914.91shake128
4.995.005.01T:skein10241024
5.085.095.11sha384
5.215.225.23sha512
5.235.235.24T:blake2s
5.365.365.37T:keccakc256treed2
5.455.475.48T:bblake256
5.585.595.61T:keccakc448
5.675.675.68sha3224
5.745.755.76T:blake32
5.985.996.00T:keccakc512
6.036.056.06sha3256
6.056.066.08shake256
6.296.316.32T:skein256256
6.406.426.48T:keccak
6.506.506.52T:keccakc512treed2
7.457.467.47blake256
7.717.737.74T:keccakc768
7.807.827.84sha3384
8.428.438.44T:groestl256
10.9310.9510.99T:keccakc1024
11.0111.0311.04sha3512
11.2311.2411.25T:groestl512
12.7512.7612.77T:jh224
12.7512.7612.77T:jh384
12.7512.7612.77T:jh512
12.7512.7612.78T:jh256
15.0515.0615.08T:round3jh256
15.0515.0715.09T:round3jh512
Cycles/byte for 1536 bytes
25%50%75%hash
2.152.162.16sha256
2.782.802.83sha224
2.852.872.92T:k12
3.313.333.36T:blake2b
4.464.504.53T:blake64
4.784.804.82T:skein512256
4.784.804.82T:skein512512
4.804.824.87blake512
5.225.225.23T:blake2s
5.225.245.28shake128
5.265.285.30T:skein10241024
5.515.525.53sha512
5.705.725.74T:keccakc448
5.745.765.79sha3224
5.805.835.86sha384
5.925.935.94T:blake32
6.146.156.16T:keccakc256treed2
6.236.256.28shake256
6.236.256.27T:keccakc512
6.246.266.28sha3256
6.336.356.37T:bblake256
6.416.426.43T:skein256256
6.706.756.81T:keccak
7.157.157.16T:keccakc512treed2
7.657.657.67blake256
7.737.777.80T:keccakc768
7.757.797.81sha3384
8.878.888.90T:groestl256
11.3111.3411.38T:keccakc1024
11.4011.4311.47sha3512
12.4212.4312.48T:groestl512
13.0613.0913.12T:jh512
13.0813.1013.14T:jh384
13.0913.1113.13T:jh224
13.0913.1113.15T:jh256
15.4015.4415.47T:round3jh256
15.4215.4515.48T:round3jh512
Cycles/byte for 576 bytes
25%50%75%hash
2.332.342.35sha256
3.163.193.28T:k12
3.693.723.81T:blake2b
4.024.064.17sha224
4.714.764.82T:blake64
5.025.055.16blake512
5.185.195.20T:blake2s
5.235.255.28T:skein512512
5.245.265.29T:skein512256
5.575.605.71shake128
5.715.725.74sha512
6.406.426.45T:blake32
6.576.596.67T:skein10241024
6.656.686.71T:skein256256
6.926.967.05sha3256
6.926.966.98sha3224
6.936.977.04shake256
6.967.027.07T:keccak
6.977.077.12T:keccakc512
7.007.087.12T:keccakc448
7.287.317.36sha384
8.188.198.21blake256
8.268.288.31T:keccakc256treed2
8.328.398.44T:keccakc768
8.378.418.56sha3384
9.029.059.08T:bblake256
10.1210.1410.17T:groestl256
10.9310.9510.98T:keccakc512treed2
12.3612.4312.53sha3512
12.4512.5412.62T:keccakc1024
13.9714.0014.10T:jh224
13.9814.0114.07T:jh512
13.9814.0214.07T:jh384
13.9814.0214.06T:jh256
14.7014.7414.80T:groestl512
16.4416.5016.58T:round3jh512
16.4616.5216.55T:round3jh256
Cycles/byte for 64 bytes
25%50%75%hash
4.624.694.73sha256
4.784.864.91T:blake2s
6.886.987.09T:blake2b
8.488.979.42T:k12
9.539.8610.42T:blake64
9.8910.0010.14T:skein256256
10.6610.7210.89sha512
10.4510.7811.20blake512
10.6910.8310.97T:skein512256
10.8410.9811.14T:skein512512
12.6212.7512.86T:blake32
12.9513.0913.48sha3384
12.9713.1213.50shake256
12.9513.1713.91sha3512
12.9413.1913.48shake128
12.9213.2013.55sha3256
12.9413.2213.56sha3224
13.4813.7314.30T:keccakc1024
13.7013.8614.38T:keccakc768
13.7513.9214.27T:keccakc512
13.7213.9514.16T:keccakc448
13.89?14.41?18.38?T:keccak
15.0515.1115.22blake256
19.6619.9421.05sha224
20.5320.8421.38T:skein10241024
25.5025.6426.22T:jh384
25.4825.6625.94T:jh512
25.5225.7526.00T:jh224
25.5525.8025.98T:jh256
26.0026.1626.25T:groestl256
27.9128.2329.03sha384
29.6629.8130.14T:round3jh256
29.7229.9430.09T:round3jh512
42.5942.7743.00T:bblake256
48.6248.7048.91T:groestl512
49.9250.0250.16T:keccakc512treed2
50.0550.1650.28T:keccakc256treed2
Cycles/byte for 8 bytes
25%50%75%hash
26.7527.2527.62sha256
46.0046.3846.88T:blake2s
54.7555.6256.25T:blake2b
55.2556.0059.25T:skein256256
56.2556.8857.75T:blake32
65.7566.3867.50blake256
66.8870.7574.12T:k12
76.1277.8880.62T:blake64
83.2586.6289.00blake512
86.8888.1290.00T:skein512256
87.5088.6290.25T:skein512512
90.3891.0092.38sha512
103.12103.75106.38sha3512
102.88103.88106.25sha3256
102.88104.00105.75shake128
102.75104.12106.75shake256
103.12104.12106.38sha3384
102.62104.62106.75sha3224
109.25111.00114.25T:keccakc1024
109.88111.88115.38T:keccak
110.25112.12116.88T:keccakc768
110.62113.12116.50T:keccakc512
111.88113.25118.12T:keccakc448
147.38148.38150.00T:groestl256
144.75?150.75?164.25?sha224
164.88167.25172.12T:skein10241024
207.75209.25211.62T:jh256
209.50210.62212.12T:jh384
209.50211.12213.12T:jh512
210.25211.75214.12T:jh224
228.12231.75241.62sha384
245.12245.88247.62T:round3jh256
244.88247.00248.38T:round3jh512
277.88279.12280.38T:bblake256
375.50377.00380.00T:groestl512
399.88400.62402.00T:keccakc512treed2
400.12400.75403.25T:keccakc256treed2