Keccak
Keccak is a sponge function designed by Bertoni et al.; the basis of the SHA-3 standard, using a 1600-bit state and a 24-round permutation.
Purpose
Provides a sponge structure distinct from Merkle-Damgård, resisting length-extension attacks; the winner of the SHA-3 competition.
Mechanism
Sponge construction: in the absorbing phase, message blocks are XORed into the r-bit rate part of the 1600-bit state, then the Keccak-f[1600] permutation is applied; in the squeezing phase, the digest is read from the rate part. Keccak-f consists of 24 rounds of θ, ρ, π, χ, ι sub-transformations.
Use cases
- Basis of the SHA-3 standard
- Variable-length digests
- Sponge construction applications