SHACAL
SHACAL is a derived cipher that treats the SHA-1 compression function as a block cipher, with the chaining value as plaintext and the message block as key.
Purpose
It exploits the invertibility of the SHA-1 compression function to build a block cipher, used to analyze SHA-1 security and design hash-based ciphers.
Mechanism
The SHA-1 compression function h′ = f(h, W) is invertible in h (given W), so it can be viewed as the block cipher SHACAL-1 keyed by W — a 160-bit block with a 512-bit key.
Use cases
- SHA-1 security analysis
- Hash-derived block ciphers
- Cryptography teaching