Skip to main content

TrinomialQuinticData

Trait TrinomialQuinticData 

Source
pub trait TrinomialQuinticData: MontyParameters + Sized {
    type ArrayLike: AsRef<[[MontyField31<Self>; 5]]> + Sized;

    const EXT_GENERATOR: [MontyField31<Self>; 5];
    const EXT_TWO_ADICITY: usize;
    const FROBENIUS_COEFFS: [[MontyField31<Self>; 5]; 4];
    const TWO_ADIC_EXTENSION_GENERATORS: Self::ArrayLike;
}
Expand description

Data for a quintic extension using the trinomial polynomial X^5 + X^2 - 1.

This is required for fields where 5 does not divide (P - 1), making simple binomial extensions X^5 - W impossible.

Required Associated Constants§

Source

const EXT_GENERATOR: [MontyField31<Self>; 5]

Multiplicative generator of the extension field F_{p^5}*.

Source

const EXT_TWO_ADICITY: usize

Two-adicity of the extension field order p^5 - 1.

Source

const FROBENIUS_COEFFS: [[MontyField31<Self>; 5]; 4]

Frobenius coefficients: FROBENIUS_COEFFS[k] = X^{(k+1)*p} mod (X^5 + X^2 - 1).

Source

const TWO_ADIC_EXTENSION_GENERATORS: Self::ArrayLike

Generators of 2-adic subgroups not in the base field.

Required Associated Types§

Source

type ArrayLike: AsRef<[[MontyField31<Self>; 5]]> + Sized

Type for storing two-adic extension generators.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§