Template:Comparison of SHA functions

From blackwiki
Revision as of 15:50, 14 July 2017 by 104.153.72.218 (talk) (Add quote to citation supporting unlimited MD5 length. The actual padding is identical to SHA-0/1. Maybe just delete "max message size" column? It's never a practical limitation.)
Jump to navigation Jump to search

Comparison of SHA functions

Algorithm and variant Output size
(bits)
Internal state size
(bits)
Block size
(bits)
Max message size
(bits)
Rounds Operations Security bits
(Info)
Example performance[2]
(MiB/s)
First Published
MD5 (as reference) 128 128
(4 × 32)
512 Unlimited[3] 64 And, Xor, Rot, Add (mod 232), Or <64
(collisions found)
335 1992
SHA-0 160 160
(5 × 32)
512 264 − 1 80 And, Xor, Rot, Add (mod 232), Or <34
(collisions found)
- 1993
SHA-1 160 160
(5 × 32)
512 264 − 1 80 <63
(collisions found[4])
192 1995
SHA-2 SHA-224
SHA-256
224
256
256
(8 × 32)
512 264 − 1 64 And, Xor, Rot, Add (mod 232), Or, Shr 112
128
139 2001
SHA-384
SHA-512
SHA-512/224
SHA-512/256
384
512
224
256
512
(8 × 64)
1024 2128 − 1 80 And, Xor, Rot, Add (mod 264), Or, Shr 192
256
112
128
154 2001
SHA-3 SHA3-224
SHA3-256
SHA3-384
SHA3-512
224
256
384
512
1600
(5 × 5 × 64)
1152
1088
832
576
Unlimited[5] 24[6] And, Xor, Rot, Not 112
128
192
256
- 2015
SHAKE128
SHAKE256
d (arbitrary)
d (arbitrary)
1344
1088
min(d/2, 128)
min(d/2, 256)
- 2015

References

  1. "Crypto++ 5.6.0 Benchmarks". Retrieved 2013-06-13.
  2. Found on an AMD Opteron 8354 2.2 GHz processor running 64-bit Linux[1]
  3. "The MD5 Message-Digest Algorithm". Retrieved 2016-04-18. In the unlikely event that b is greater than 2^64, then only the low-order 64 bits of b are used.
  4. "Announcing the first SHA1 collision". Retrieved 2017-02-23.
  5. "The Sponge Functions Corner". Retrieved 2016-01-27.
  6. "The Keccak sponge function family". Retrieved 2016-01-27.