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-A7 (410fc075); 2016 Broadcom BCM2836; 4 x 900MHz; berry2, supercop-20240909

[Page version: 20241120 00:41:20]

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).


Test results

Graphs: (bytes,cycles)
Cycles/byte for long messages
25%50%75%hash
18.9120.6820.73T:blake2s
27.7028.1828.24T!!!sha224
27.5828.2028.28T!!!sha256
27.8028.3528.36T:blake32
31.0131.5431.77T!!!sha512
30.8831.5432.08T!!!sha384
33.7334.4534.77blake256
34.5935.0835.14T:bblake256
39.7840.5340.93T:blake2b
42.0942.8843.20T:k12
48.1748.2748.47T:skein256256
63.8964.2064.96shake128
64.4865.0265.58T:skein512512
64.1165.0265.39T:skein512256
72.9873.4974.35sha3224
74.8974.9375.06T:blake64
77.4178.2279.18sha3256
77.7378.2478.87shake256
82.0182.4982.97T:keccakc448
81.74?86.52?99.93?blake512
87.6688.0188.52T:keccakc512
93.3793.6994.21T:keccak
101.11101.79102.45sha3384
102.52102.85103.38T:skein10241024
115.20115.53115.90T:keccakc768
128.93129.83130.69T:groestl256
137.93138.69139.49sha3512
158.21159.16159.43T:keccakc1024
175.14177.05178.90T:groestl512
224.02224.80225.35T:jh224
224.06224.83225.35T:jh384
224.06224.86225.30T:jh512
223.94224.87225.39T:jh256
315.09316.36317.53T:round3jh256
315.46316.68317.62T:round3jh512
Cycles/byte for 4096 bytes
25%50%75%hash
20.8320.8320.84T:blake2s
28.9328.9328.95T!!!sha224
28.9428.9528.99T!!!sha256
29.0529.0629.07T:blake32
32.7932.8033.06T!!!sha384
32.8032.8132.91T!!!sha512
35.1635.1835.34blake256
38.8738.8838.90T:bblake256
41.0041.0641.20T:blake2b
44.9344.9345.09T:k12
48.8748.8848.98T:skein256256
66.2466.2566.43T:skein512256
66.2666.2766.54T:skein512512
68.1468.1868.54shake128
77.2277.2677.65sha3224
77.5977.5977.65T:blake64
81.9181.9582.39sha3256
82.1282.1482.43shake256
86.0386.0486.27T:keccakc448
87.3189.2295.79blake512
91.5191.5391.77T:keccakc512
96.9797.0797.28T:keccak
102.86102.93103.24sha3384
106.43106.47106.72T:skein10241024
115.98116.03116.19T:keccakc768
133.12133.21133.59T:groestl256
142.13142.26142.61sha3512
162.14162.27162.40T:keccakc1024
185.42185.69186.58T:groestl512
228.22228.37228.60T:jh224
228.24228.38228.60T:jh384
228.24228.39228.62T:jh256
228.28228.43228.59T:jh512
321.30321.45321.91T:round3jh256
321.31321.59321.95T:round3jh512
Cycles/byte for 1536 bytes
25%50%75%hash
21.0221.1021.84T:blake2s
30.1730.1931.05T!!!sha256
30.1430.2331.14T!!!sha224
30.2330.2430.89T:blake32
34.8834.8935.78T!!!sha384
34.9334.9635.71T!!!sha512
36.4236.4237.26blake256
41.6942.0143.50T:blake2b
45.1945.2046.09T:bblake256
48.3348.3449.21T:k12
49.9049.9350.83T:skein256256
68.2868.3068.47T:skein512256
68.3668.4268.60T:skein512512
74.8174.8576.10shake128
79.9780.0981.29sha3224
82.0382.0582.14T:blake64
86.3686.4387.51sha3256
86.8986.9687.43shake256
88.0488.0688.73T:keccakc448
93.7494.1596.21blake512
95.4095.4495.94T:keccakc512
102.74103.05103.33T:keccak
104.79104.84105.30sha3384
112.49112.55113.35T:skein10241024
116.81116.88117.33T:keccakc768
138.78138.97139.57T:groestl256
148.13148.30149.07sha3512
167.58167.64168.22T:keccakc1024
200.30200.82202.44T:groestl512
234.28234.29234.68T:jh256
234.27234.29234.84T:jh224
234.32234.38235.07T:jh512
234.29234.44235.43T:jh384
329.69329.83330.89T:round3jh512
329.66329.95330.83T:round3jh256
Cycles/byte for 576 bytes
25%50%75%hash
21.5321.6522.89T:blake2s
33.3833.4333.65T!!!sha256
33.3833.6635.39T:blake32
33.5033.9535.80T!!!sha224
37.3637.6840.00T!!!sha512
37.20?37.81?42.60?T!!!sha384
39.86?40.40?44.88?blake256
48.77?50.90?66.58?T:blake2b
53.5153.9358.59T:k12
52.8154.3157.69T:skein256256
62.05?62.51?70.34?T:bblake256
73.81?74.27?84.78?T:skein512512
73.84?75.02?83.82?T:skein512256
85.6186.0591.21shake128
85.7086.6991.21T:blake64
100.52101.18105.47sha3256
99.97?101.49?112.06?blake512
101.06101.58104.34sha3224
102.12102.63106.50shake256
107.83108.12111.32T:keccak
108.29108.45112.27T:keccakc512
108.77109.19112.37T:keccakc448
116.69116.96120.59sha3384
126.70127.14129.94T:keccakc768
140.12140.32143.78T:skein10241024
153.93154.45157.01T:groestl256
166.07166.50168.88sha3512
184.33184.34186.19T:keccakc1024
220.31220.72229.51T:groestl512
250.49250.49252.55T:jh256
250.52250.53252.34T:jh384
250.53250.55253.06T:jh512
250.45250.70253.07T:jh224
352.26352.26352.94T:round3jh256
352.32352.57354.22T:round3jh512
Cycles/byte for 64 bytes
25%50%75%hash
27.8127.8129.78T:blake2s
72.6272.6676.53T:blake32
74.4474.6777.20T!!!sha224
74.6975.3477.55T!!!sha256
80.9881.0583.17T!!!sha384
82.6982.7391.69blake256
82.2882.8083.02T!!!sha512
87.7287.9790.48T:skein256256
103.83?119.34?139.72?T:blake2b
137.12137.44146.17T:k12
141.53141.55142.55T:skein512256
142.31?143.34?161.28?T:skein512512
168.91169.66179.70T:blake64
205.92206.27215.69T:keccakc1024
214.27?217.09?243.19?T:keccakc768
219.08?222.38?248.61?T:keccak
222.50?224.48?248.38?T:keccakc448
221.33?226.28?249.22?T:keccakc512
227.22?235.06?263.95?sha3512
232.34?237.62?283.89?sha3384
233.45?245.75?282.14?sha3256
236.61?247.16?293.53?sha3224
246.38?251.42?283.06?shake256
253.25258.84276.12shake128
277.88?282.53?313.95?T:bblake256
222.16?288.92?356.44?blake512
348.94?355.12?415.08?T:groestl256
438.62457.05485.17T:skein10241024
457.73460.25490.92T:jh224
459.00466.02490.97T:jh256
459.36466.39489.83T:jh384
460.12?476.03?521.75?T:jh512
565.73?597.61?683.08?T:groestl512
643.03?655.73?721.52?T:round3jh256
643.56?656.58?724.98?T:round3jh512
Cycles/byte for 8 bytes
25%50%75%hash
217.75217.75218.62T:blake2s
352.50352.50362.12T:blake32
380.25381.75385.12T!!!sha256
379.25381.88383.25T!!!sha224
398.75399.00408.00blake256
501.38502.25511.62T:skein256256
650.12650.62651.38T!!!sha384
656.00663.12693.88T!!!sha512
840.25861.50918.88T:blake2b
1041.62?1052.38?1237.00?T:k12
1145.75?1162.50?1310.75?T:skein512256
1148.751163.881241.00T:skein512512
1345.251348.251358.75T:blake64
1646.12?1670.12?1857.50?T:keccakc1024
1704.501712.381735.62T:keccakc768
1745.251758.751903.62T:keccak
1777.751786.381872.38T:keccakc448
1771.50?1798.12?1968.62?T:keccakc512
1853.121860.121877.12sha3256
1852.001865.122002.12sha3384
1749.25?1866.88?2065.25?T:groestl256
1834.88?1878.00?2082.88?sha3512
1892.25?1945.88?2193.50?sha3224
1945.001951.882105.12T:bblake256
1954.621971.882095.25shake256
2029.25?2155.12?2361.50?shake128
1808.75?2494.12?3518.62?blake512
3523.883701.253907.12T:skein10241024
3693.003822.753977.62T:jh256
3674.253835.753943.88T:jh224
3693.883879.624048.25T:jh384
3707.12?3882.75?4128.00?T:jh512
4530.62?4683.38?5542.00?T:groestl512
5144.385204.505713.00T:round3jh256
5156.00?5248.38?5750.00?T:round3jh512