nimue_poseidon::f64

Type Alias PoseidonPermx3_64_24

Source
pub type PoseidonPermx3_64_24 = PoseidonSponge<64, Field64, { x3_64_24::R }, { x3_64_24::N }>;

Aliased Type§

struct PoseidonPermx3_64_24 {
    pub full_rounds: usize,
    pub partial_rounds: usize,
    pub alpha: u64,
    pub ark: &'static [[Fp<MontBackend<FConfig64, 1>, 1>; 24]],
    pub mds: &'static [[Fp<MontBackend<FConfig64, 1>, 1>; 24]],
    pub state: [Fp<MontBackend<FConfig64, 1>, 1>; 24],
}

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<FConfig64, 1>, 1>; 24]]

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<FConfig64, 1>, 1>; 24]]

Maximally Distance Separating (MDS) Matrix.

§state: [Fp<MontBackend<FConfig64, 1>, 1>; 24]

Sponge state

Trait Implementations§

Source§

impl Default for PoseidonPermx3_64_24

Source§

fn default() -> Self

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