Skip to main content

MERSENNE31_POSEIDON1_PARTIAL_ROUNDS_16

Constant MERSENNE31_POSEIDON1_PARTIAL_ROUNDS_16 

Source
pub const MERSENNE31_POSEIDON1_PARTIAL_ROUNDS_16: usize = 14;
Expand description

Number of partial rounds for Mersenne31 Poseidon1 (width 16).

Derived from the interpolation bound in the Poseidon1 paper (Eq. 3):

R_interp >= ceil(min{kappa, n} / log_2(alpha)) + ceil(log_alpha(t)) - 5 = ceil(31 / log_2(5)) + ceil(log_5(16)) - 5 = 14 + 2 - 5 = 11

With the +7.5% security margin: ceil(1.075 * 11) = 12. After brute-force optimization over all security constraints: R_P = 14.