Jump to content

Template:Comparison of SHA functions

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Suffusion of Yellow (talk | contribs) at 23:46, 19 July 2018 (boldly removing "max message size" column as irrelevant. None of these functions are parallelizable, and it would take 50 years to reach the 2^64 limit on a 5ghz CPU at the cited 3.47 cpb. Anyone hashing 2000000 terabytes of data is going to be using a tree hash of some sort.). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
Comparison of SHA functions
Algorithm and variant Output size
(bits)
Internal state size
(bits)
Block size
(bits)
Rounds Operations Security (in bits) against collision attacks Capacity
against length extension attacks
Performance on Skylake (median cpb)[1] First Published
long messages 8 bytes
MD5 (as reference) 128 128
(4 × 32)
512 64 And, Xor, Rot, Add (mod 232), Or ≤18
(collisions found)[2]
0 4.99 55.00 1992
SHA-0 160 160
(5 × 32)
512 80 And, Xor, Rot, Add (mod 232), Or <34
(collisions found)
0 ≈ SHA-1 ≈ SHA-1 1993
SHA-1 <63
(collisions found[3])
3.47 52.00 1995
SHA-2 SHA-224
SHA-256
224
256
256
(8 × 32)
512 64 And, Xor, Rot, Add (mod 232), Or, Shr 112
128
32
0
7.62
7.63
84.50
85.25
2004
2001
SHA-384
SHA-512
384
512
512
(8 × 64)
1024 80 And, Xor, Rot, Add (mod 264), Or, Shr 192
256
128 (≤ 384)
0
5.12
5.06
135.75
135.50
SHA-512/224
SHA-512/256
224
256
112
128
288
256
≈ SHA-384 ≈ SHA-384
SHA-3 SHA3-224
SHA3-256
SHA3-384
SHA3-512
224
256
384
512
1600
(5 × 5 × 64)
1152
1088
832
576
24[4] And, Xor, Rot, Not 112
128
192
256
448
512
768
1024
8.12
8.59
11.06
15.88
154.25
155.50
164.00
164.00
2015
SHAKE128
SHAKE256
d (arbitrary)
d (arbitrary)
1344
1088
min(d/2, 128)
min(d/2, 256)
256
512
7.08
8.59
155.25
155.50

References

  1. ^ "Measurments table". bench.cr.yp.to.
  2. ^ Xie Tao; Fanbao Liu; Dengguo Feng (2013). "Fast Collision Attack on MD5" (PDF). {{cite journal}}: Cite journal requires |journal= (help); Unknown parameter |last-author-amp= ignored (|name-list-style= suggested) (help)
  3. ^ "Announcing the first SHA1 collision". Retrieved 2017-02-23.
  4. ^ "The Keccak sponge function family". Retrieved 2016-01-27.