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: armeabi; Cortex-A9+NEON (412fc09a); 2011 Freescale i.MX6 Quad; 4 x 1200MHz; unstable; novena, supercop-20220506

[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
10.5510.5510.55T:blake2b
12.8912.8913.28T:blake2s
15.2315.2416.02sha256
15.04?15.82?22.07?sha224
23.0523.0523.24T:blake32
19.14?24.61?24.81?sha512
24.6124.8124.81sha384
19.01?27.54?34.06?T:skein256256
28.7129.1029.10T:k12
29.3029.6930.08blake256
29.6929.6929.69T:bblake256
30.47?30.67?43.56?shake256
24.81?31.84?32.81?T:skein512256
31.0632.0332.82T:skein512512
32.42?41.21?41.21?T:round3jh512
32.42?41.21?41.21?T:round3jh256
41.2141.4141.41blake512
26.50?41.60?41.80?shake128
47.2747.6648.05sha3224
50.4050.7950.98sha3256
52.3552.5452.74T:blake64
54.3054.5054.69T:keccakc512
57.6257.8257.82T:keccak
61.3361.7261.92T:keccakc448
52.15?66.02?92.98?sha3384
66.2266.2266.22T:skein10241024
70.7170.9070.90T:keccakc768
75.0175.4075.98T:groestl256
70.90?90.44?128.14?sha3512
97.2797.2797.47T:keccakc1024
104.31105.09106.26T:groestl512
154.70155.09156.46T:jh256
154.70155.29155.48T:jh224
155.09155.48156.46T:jh512
155.09155.68157.24T:jh384
Cycles/byte for 4096 bytes
25%50%75%hash
10.9410.9410.94T:blake2b
13.2813.2813.38T:blake2s
16.2116.2116.51sha256
16.11?16.51?19.53?sha224
23.8323.8323.83T:blake32
25.9825.9825.98sha384
25.9825.9825.98sha512
24.64?28.23?29.59?T:skein256256
30.3730.4730.67blake256
30.7630.7630.76T:k12
31.94?32.03?38.48?shake256
32.4232.9133.11T:skein512256
32.4232.9133.11T:skein512512
33.0133.0133.01T:bblake256
42.1942.1942.19T:round3jh512
42.1942.1942.19T:round3jh256
43.5643.6643.66blake512
36.88?44.34?44.44?shake128
50.2050.3050.39sha3224
53.3253.4253.42sha3256
54.6954.6954.79T:blake64
56.4556.5556.55T:keccakc512
59.7759.8759.87T:keccak
64.4664.6564.65T:keccakc448
67.09?67.19?80.57?sha3384
68.7668.7668.76T:skein10241024
71.2971.2971.29T:keccakc768
77.5577.6477.94T:groestl256
92.78?92.98?111.73?sha3512
99.4299.4299.42T:keccakc1024
110.65110.75111.24T:groestl512
157.63157.83158.41T:jh256
157.63157.83157.92T:jh224
157.83158.12158.80T:jh384
158.12158.22158.70T:jh512
Cycles/byte for 1536 bytes
25%50%75%hash
11.4611.7211.72T:blake2b
13.8013.8013.80T:blake2s
17.4517.4517.45sha224
17.45?17.71?20.84?sha256
25.0025.0025.26T:blake32
27.8728.1328.13sha384
28.13?28.13?33.60?sha512
25.51?29.43?30.47?T:skein256256
31.7731.7732.03blake256
33.3433.6033.60T:k12
33.6033.6033.60shake256
33.8634.1234.64T:skein512256
33.8634.3834.38T:skein512512
38.5438.5438.55T:bblake256
43.7543.7544.01T:round3jh256
43.7543.7544.01T:round3jh512
47.4047.4047.66blake512
48.8548.9649.07shake128
52.3552.3552.61sha3224
56.5156.5256.78sha3256
58.0858.3458.34T:blake64
58.6058.8658.86T:keccakc512
63.2963.2963.55T:keccak
66.4166.4166.67T:keccakc448
68.7668.7668.76sha3384
71.8871.8872.14T:keccakc768
72.9272.9273.18T:skein10241024
81.2681.5281.52T:groestl256
96.8897.1497.14sha3512
102.87102.87102.87T:keccakc1024
120.06120.06120.58T:groestl512
162.25162.25162.51T:jh256
162.25162.25162.51T:jh384
162.25162.25162.51T:jh224
162.77163.03163.29T:jh512
Cycles/byte for 576 bytes
25%50%75%hash
14.5814.5914.59T:blake2b
15.2815.2815.28T:blake2s
20.1420.8320.84sha256
20.1420.8420.84sha224
28.4728.4728.48T:blake32
30.5630.5631.25sha384
30.5630.5631.25sha512
32.8533.3433.34T:skein256256
35.4235.4236.11blake256
38.2038.2038.20T:k12
38.2038.2038.20T:skein512256
38.2038.2038.20T:skein512512
38.8938.8938.89shake256
47.9247.9248.61T:round3jh512
47.92?48.61?57.64?T:round3jh256
52.0952.7852.78blake512
53.4853.4853.48T:bblake256
56.9556.9557.07shake128
62.5062.5162.51T:blake64
65.9866.6766.67T:keccakc512
66.6766.6767.37sha3256
66.6767.3767.37T:keccak
66.6767.3767.37sha3224
77.0977.0977.78sha3384
77.7878.4878.48T:keccakc768
82.6583.3484.04T:keccakc448
90.9891.6791.68T:groestl256
91.6791.6891.68T:skein10241024
109.73109.73110.43sha3512
113.20113.20113.90T:keccakc1024
133.34133.35134.04T:groestl512
174.32174.32175.01T:jh256
174.32174.32175.01T:jh224
175.01175.01175.02T:jh512
174.32175.02175.71T:jh384
Cycles/byte for 64 bytes
25%50%75%hash
31.25?31.27?37.50?T:blake2s
43.75?43.77?49.98?T:blake2b
56.25?62.50?62.52?sha224
56.25?62.50?62.52?sha256
67.4468.7568.75T:skein256256
68.7568.7775.00T:blake32
75.0081.2381.27sha384
75.0081.2581.27sha512
81.2581.2781.27blake256
87.5087.5087.52shake256
87.5087.5293.73T:skein512512
87.5087.5293.75T:skein512256
100.02106.25106.27T:round3jh256
100.02106.25106.27T:round3jh512
106.27112.50112.52T:k12
125.00125.02131.25blake512
131.25131.27137.50T:blake64
131.27131.28137.50T:keccakc512
131.27137.50137.52T:keccakc1024
131.27137.50137.52T:keccakc768
137.52137.52143.77T:keccak
162.52162.53168.77sha3512
162.52162.53168.78sha3384
168.75168.77168.77sha3224
168.75168.77168.77sha3256
175.02176.39181.27shake128
181.25181.28181.28T:keccakc448
212.52218.77218.78T:groestl256
243.77243.77243.77T:bblake256
293.77293.78293.78T:skein10241024
331.27331.28331.28T:jh224
331.27331.28331.28T:jh256
331.27331.28331.28T:jh384
331.28331.28337.52T:jh512
350.03350.03356.28T:groestl512
Cycles/byte for 8 bytes
25%50%75%hash
250.00?250.12?300.00?T:blake2s
350.00350.00350.12sha224
350.00350.00350.12sha256
350.00350.12350.12T:blake2b
350.12?400.00?400.12?T:blake32
400.12?415.12?450.00?T:skein256256
400.00?450.00?450.00?blake256
600.12649.88650.12sha512
600.00650.12650.12sha384
650.12700.00700.12shake256
700.00700.12750.00T:skein512256
700.00700.12750.00T:skein512512
850.00850.00850.12T:k12
850.00850.00850.12T:round3jh256
850.00850.00850.12T:round3jh512
1000.001000.121050.25blake512
1050.001050.001050.12T:keccakc512
1050.001050.121050.12T:keccakc1024
1050.001050.121050.12T:keccakc768
1100.001100.121100.12T:keccak
1100.121100.121100.12T:blake64
1100.121150.001150.12T:groestl256
1300.001300.121350.00sha3512
1300.121300.251350.00sha3384
1300.121350.121350.12sha3224
1300.251350.121350.12sha3256
1400.121400.121411.12shake128
1450.121450.251500.12T:keccakc448
1700.121700.121700.25T:bblake256
2350.122350.252350.25T:skein10241024
2650.122650.252650.25T:jh224
2650.122650.252700.12T:jh256
2650.252650.252700.12T:jh384
2650.252650.252700.12T:jh512
2800.122800.252850.38T:groestl512