nimue_poseidon::bls12_381

Type Alias PoseidonPermx5_255_5

Source
pub type PoseidonPermx5_255_5 = PoseidonSponge<255, Fr, { x5_255_5::R }, { x5_255_5::N }>;

Aliased Type§

struct PoseidonPermx5_255_5 {
    pub full_rounds: usize,
    pub partial_rounds: usize,
    pub alpha: u64,
    pub ark: &'static [[Fp<MontBackend<FrConfig, 4>, 4>; 5]],
    pub mds: &'static [[Fp<MontBackend<FrConfig, 4>, 4>; 5]],
    pub state: [Fp<MontBackend<FrConfig, 4>, 4>; 5],
}

Fields§

§full_rounds: usize

Number of rounds in a full-round operation.

§partial_rounds: usize

Number of rounds in a partial-round operation.

§alpha: u64

Exponent used in S-boxes.

§ark: &'static [[Fp<MontBackend<FrConfig, 4>, 4>; 5]]

Additive Round keys. These are added before each MDS matrix application to make it an affine shift. They are indexed by ark[round_num][state_element_index]

§mds: &'static [[Fp<MontBackend<FrConfig, 4>, 4>; 5]]

Maximally Distance Separating (MDS) Matrix.

§state: [Fp<MontBackend<FrConfig, 4>, 4>; 5]

Sponge state

Trait Implementations§

Source§

impl Default for PoseidonPermx5_255_5

Source§

fn default() -> Self

Returns the “default value” for a type. Read more