In the table below, internal state means the "internal hash sum" after each compression of a data block.
Further information: Merkle–Damgård construction
Main article: Cryptographic Module Validation Program
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).
"Measurements table". bench.cr.yp.to. http://bench.cr.yp.to/results-hash.html#amd64-skylake ↩
Tao, Xie; Liu, Fanbao; Feng, Dengguo (2013). Fast Collision Attack on MD5 (PDF). Cryptology ePrint Archive (Technical report). IACR. https://eprint.iacr.org/2013/170.pdf ↩
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. /wiki/Marc_Stevens_(cryptology) ↩
Without truncation, the full internal state of the hash function is known, regardless of collision resistance. If the output is truncated, the removed part of the state must be searched for and found before the hash function can be resumed, allowing the attack to proceed. ↩
"The Keccak sponge function family". Retrieved 2016-01-27. http://keccak.noekeon.org/specs_summary.html ↩