Secure Hash Algorithms

Secure Hash Algorithm
Concepts
hash functions · SHA · DSA
Main standards

SHA-0 · SHA-1 · SHA-2 · SHA-3


The Secure Hash Algorithms are 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.

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)
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 Unlimited[2] 64 And, Xor, Rot, Add (mod 232), Or <64
(collisions found)
0 4.99 55.00 1992
SHA-0 160 160
(5 × 32)
512 264 − 1 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 264 − 1 64 And, Xor, Rot, Add (mod 232), Or, Shr 112
128
32
0
7.62
7.63
84.50
85.25
2001
SHA-384
SHA-512
384
512
512
(8 × 64)
1024 2128 − 1 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
Unlimited[4] 24[5] 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

Validation

All SHA-family algorithms, the FIPS-approved security functions, are subject to official validation at the CMVP, a joint program (Cryptographic Module Validation Program) run by the American's National Institute of Standards and Technology (NIST) and the Canadian's Communications Security Establishment (CSE).

References

  1. http://bench.cr.yp.to/results-hash.html#amd64-skylake
  2. "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.
  3. "Announcing the first SHA1 collision". Retrieved 2017-02-23.
  4. "The Sponge Functions Corner". Retrieved 2016-01-27.
  5. "The Keccak sponge function family". Retrieved 2016-01-27.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.