full_round

Function full_round 

Source
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.