Secure Hash Algorithm

The Secure Hash Algorithm is a family of cryptographic hash functions published by the National Institute of Standards and Technology (NIST) as a U.S. Federal Information Processing Standard (FIPS), including:

The corresponding standards are FIPS PUB 180 (original SHA), FIPS PUB 180-1 (SHA-1), FIPS PUB 180-2 (SHA-1, SHA-256, SHA-384, and SHA-512). NIST has updated Draft FIPS Publication 202, SHA-3 Standard separate from the Secure Hash Standard (SHS).

Comparison of SHA functions

In the table below, internal state means the "internal hash sum" after each compression of a data block.

Further information: Merkle–Damgård construction
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)
Example performance[1]
(MiB/s)
MD5 (as reference) 128 128
(4 × 32)
512 Unlimited[3] 64 And, Xor, Rot, Add (mod 232), Or <64
(collisions found)
335
SHA-0 160 160
(5 × 32)
512 264 − 1 80 And, Xor, Rot, Add (mod 232), Or <80
(collisions found)
-
SHA-1 160 160
(5 × 32)
512 264 − 1 80 <80
(theoretical attack[4])
192
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
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
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
-
SHAKE128
SHAKE256
d (arbitrary)
d (arbitrary)
1344
1088
min(d/2, 128)
min(d/2, 256)
-

References

  1. Found on an AMD Opteron 8354 2.2 GHz processor running 64-bit Linux[2]
  2. "Crypto++ 5.6.0 Benchmarks". Retrieved 2013-06-13.
  3. "The MD5 Message-Digest Algorithm". Retrieved 2016-04-18.
  4. "The SHAppening: freestart collisions for SHA-1". Retrieved 2015-11-05.
  5. "The Sponge Functions Corner". Retrieved 2016-01-27.
  6. "The Keccak sponge function family". Retrieved 2016-01-27.
This article is issued from Wikipedia - version of the 10/25/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.