NIST have today announced the selection of the new SHA-3 Secure Hash Algorithm: NIST Selects Winner of Secure Hash Algorithm (SHA-3) Competition.
The winning algorithm, Keccak (pronounced “catch-ack”), was created by Guido Bertoni, Joan Daemen and Gilles Van Assche of STMicroelectronics and Michaël Peeters of NXP Semiconductors. The team’s entry beat out 63 other submissions that NIST received after its open call for candidate algorithms in 2007, when it was thought that SHA-2, the standard secure hash algorithm, might be threatened. Keccak will now become NIST’s SHA-3 hash algorithm.
A wealth of information is available at the Keccak home page.
Keccak is a sponge construction function. Sponge functions get their name from their alternating phases of absorbing and squeezing:
The sponge construction then proceeds in two phases: the absorbing phase followed by the squeezing phase.
- In the absorbing phase, the r-bit input message blocks are XORed into the first r bits of the state, interleaved with applications of the function f . When all message blocks are processed, the sponge construction switches to the squeezing phase.
- In the squeezing phase, the first r bits of the state are returned as output blocks, inter- leaved with applications of the function f . The number of output blocks is chosen at will by the user.
The selection of Keccak is the culmination of nearly 5 years of extensive, world-wide competition and coordination; the NIST web site has all the details.
Bruce Schneier, whose Skein function was one of the finalists, pronounced himself quite pleased by the results, even though he also contends that the SHA-2 variants are still quite solid.