SHA-256 produces a 256-bit cryptographic digest, but using it as H(secret || message) for authentication exposes a dangerous construction: a known digest can enable message extension without revealing the secret. section 7.3 section 7.3.2
A Merkle–Damgård hash outputs its internal state as the digest. An attacker can therefore resume hashing from H(A), append chosen data B, and calculate H(A || B) when the original message length is known. section 7.3.2
Forging a bank transaction
A request authenticated as amount=10 can be extended with padding and a fresh amount=424242 parameter. The test waits two seconds, creates a new timestamp, computes the extended MAC, and submits the forged request.



