Secure Hash Algorithms

Last updated

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:

Contents

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 variantOutput size
(bits)
Internal
state size
(bits)
Block size
(bits)
RoundsOperationsSecurity
(bits)
Performance on Skylake (median cpb) [1] First published
Long messages8 bytes
MD5 (as reference)128128
(4 × 32)
5124
(16 operations in each round)
And, Xor, Or, Rot, Add (mod 232)≤ 18
(collisions found) [2]
4.9955.001992
SHA-0 160160
(5 × 32)
51280And, Xor, Or, Rot, Add (mod 232)< 34
(collisions found)
≈ SHA-1≈ SHA-11993
SHA-1 < 63
(collisions found) [3]
3.4752.001995
SHA-2 SHA-224
SHA-256
224
256
256
(8 × 32)
51264And, Xor, Or,
Rot, Shr, Add (mod 232)
112
128
7.62
7.63
84.50
85.25
2004
2001
SHA-384384512
(8 × 64)
102480And, Xor, Or,
Rot, Shr, Add (mod 264)
1925.12135.752001
SHA-5125122565.06135.502001
SHA-512/224
SHA-512/256
224
256
112
128
≈ SHA-384≈ SHA-3842012
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, Not112
128
192
256
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)
7.08
8.59
155.25
155.50

Validation

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

References

  1. "Measurements table". bench.cr.yp.to.
  2. Tao, Xie; Liu, Fanbao; Feng, Dengguo (2013). Fast Collision Attack on MD5 (PDF). Cryptology ePrint Archive (Technical report). IACR.
  3. Stevens, Marc; Bursztein, Elie; Karpman, Pierre; Albertini, Ange; Markov, Yarik. The first collision for full SHA-1 (PDF) (Technical report). Google Research.
    • Marc Stevens; Elie Bursztein; Pierre Karpman; Ange Albertini; Yarik Markov; Alex Petit Bianco; Clement Baisse (February 23, 2017). "Announcing the first SHA1 collision". Google Security Blog.
  4. "The Keccak sponge function family" . Retrieved 2016-01-27.