Absorbing is the sponge-construction phase that ingests input. Each input block is XORed with the state’s rate portion, then the complete state is permuted before the next block. section 2.5.2
The phase proceeds in a short loop:
- Split input longer than the rate into blocks. section 2.5.2
- XOR each block with the rate, leaving the capacity untouched during that combination. section 2.5.2
- Permute the resulting state after every block; padding distinguishes inputs such as 0 and 00. section 2.5.2
A five-bit input
With a five-bit rate and an initially zero rate, absorbing 00101 XORs those five bits into the rate and then permutes the state. section 2.5.2
Figure 2.15 In order to absorb inputs larger than the rate size, a sponge construction iteratively XORs input blocks with the rate and permutates the result.
Shows how inputs larger than the rate are absorbed by repeatedly XORing blocks with the rate and permuting the result. section 2.5.2
