Secure Hash Algorithms

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)
Rounds Operations Security
(bits)
Performance on Skylake (median cpb) First published
Long messages 8 bytes
MD5 (as reference)128128
(4 × 32)
5124
(16 operations in each round)
And, Xor, Or, Rot, Add (mod 232)≤ 18
(collisions found)
4.9955.001992
SHA-0160160
(5 × 32)
51280And, Xor, Or, Rot, Add (mod 232)< 34
(collisions found)
≈ SHA-1≈ SHA-11993
SHA-1< 63
(collisions found)
3.4752.001995
SHA-2SHA-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-3SHA3-224
SHA3-256
SHA3-384
SHA3-512
224
256
384
512
1600
(5 × 5 × 64)
1152
1088
832
576
24And, 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. Archived from the original (PDF) on 7 February 2026.
    • 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.