In a sponge construction, the rate is the selected portion of a permutation’s state that absorbs input and later supplies output. The remaining portion is the capacity. section 2.5.2
A sponge uses the rate in two phases:
- Absorption: XOR input blocks with the rate, then apply the permutation; repeat when input exceeds the rate size. section 2.5.2
- Extraction: repeatedly apply the permutation and retrieve successive rate portions until enough digest output is available. section 2.5.2
A five-bit rate
With a five-bit rate initialized to zero, absorbing input 00101 XORs those five bits into the rate before the permutation randomizes the state. section 2.5.2
Figure 2.13 The permutation f randomizes an input of size 8 bits into an output of the same size. In a sponge construction, this permutation’s input and output are divided into two parts: the rate (of size r and the capacity (of size c).
A state diagram shows how the permutation’s equal-sized input and output are divided into rate and capacity. section 2.5.2
