Keccak hash function

Understanding this Keccak hash function and all it variant

1
2
3
4
5

Why is Keccak (SHA-3) a One-Way Hash Function?

A one-way function means that given an output h = H(m), it is computationally infeasible to find the original input m (preimage resistance). Keccak achieves this due to the following technical properties:

1. Keccak’s Sponge Construction Prevents Reversal

Keccak uses a sponge construction, which has two phases:

Absorption: Message blocks are XORed into the state and transformed using Keccak-f permutations.

Squeezing: Output is extracted from the state after several irreversible transformations.

  • Once data is mixed into the internal state, it is non-linearly transformed multiple times, making it impossible to isolate the original input.

  • The state contains more bits (1600 bits) than the output (e.g., 256 bits in SHA3-256), meaning information is lost, making inversion impossible.

2. The Keccak-f Permutation is Cryptographically Strong

The Keccak-f permutation consists of five steps in each round, all contributing to non-invertibility:

1. Theta (Parity Mixing)

  • Each bit is mixed with bits from two other columns.

  • Small changes in input cause widespread diffusion across the state.

2. Rho (Bitwise Rotation)

  • Each word is rotated by a unique offset, breaking alignment with previous transformations.

3. Pi (Lane Permutation)

  • Rearranges the state non-linearly, making it impossible to track input positions.

4. Chi (Nonlinear Layer)

  • Applies an AND-XOR transformation, preventing algebraic attacks (no easy linear equations for solving input).

5. Iota (Round Constant Injection)

  • Ensures each round is unique, preventing cycles and fixed points.

Last updated