Keccak is a hash function based on interesting and novel ideas. Some Keccak sponge-hash-function pointers:
Random sponge = Random permutation
“The sponge construction:
First, the input string is padded with a reversible padding rule and cut into blocks ofbits. Then the bits of the state are initialized to zero and the sponge construction proceeds in two phases:
- In the absorbing phase, the -bit input blocks are XORed into the first bits of the state, interleaved with applications of the function . When all input blocks are processed, the sponge construction switches to the squeezing phase.
- In the squeezing phase, the first bits of the state are returned as output blocks, interleaved with applications of the function . The number of output blocks is chosen at will by the user.
The lastbits of the state are never directly affected by the input blocks and are never output during the squeezing phase.”