diff --git a/crypto-primitives/src/sponge/poseidon/constraints.rs b/crypto-primitives/src/sponge/poseidon/constraints.rs index fc0409a..746eae6 100644 --- a/crypto-primitives/src/sponge/poseidon/constraints.rs +++ b/crypto-primitives/src/sponge/poseidon/constraints.rs @@ -223,7 +223,6 @@ impl CryptographicSpongeVar> for PoseidonSpo DuplexSpongeMode::Squeezing { next_squeeze_index: _, } => { - self.permute()?; self.absorb_internal(0, input.as_slice())?; } }; @@ -279,8 +278,8 @@ impl CryptographicSpongeVar> for PoseidonSpo } DuplexSpongeMode::Squeezing { next_squeeze_index } => { let mut squeeze_index = next_squeeze_index; + self.permute()?; if squeeze_index == self.parameters.rate { - self.permute()?; squeeze_index = 0; } self.squeeze_internal(squeeze_index, &mut squeezed_elems)?;