pub(crate) fn full_round<F: Field, SC: SpongeConstants, const FULL_ROUNDS: usize>(
params: &ArithmeticSpongeParams<F, FULL_ROUNDS>,
state: &mut [F],
r: usize,
)Expand description
Apply a full round of the permutation. A full round is composed of the following steps:
- Apply the S-box to each element of the state.
- Apply the MDS matrix to the state.
- Add the round constants to the state.
The function has side-effect and the parameter state is modified.