ff

Trait WithSmallOrderMulGroup

Source
pub trait WithSmallOrderMulGroup<const N: u8>: PrimeField {
    const ZETA: Self;
}
Expand description

The subset of prime-order fields such that (modulus - 1) is divisible by N.

If N is prime, there will be N - 1 valid choices of Self::ZETA. Similarly to PrimeField::MULTIPLICATIVE_GENERATOR, the specific choice does not matter, as long as the choice is consistent across all uses of the field.

Required Associated Constants§

Source

const ZETA: Self

A field element of small multiplicative order $N$.

The presense of this element allows you to perform (certain types of) endomorphisms on some elliptic curves.

It can be calculated using SageMath as GF(modulus).primitive_element() ^ ((modulus - 1) // N). Choosing the element of order $N$ that is smallest, when considered as an integer, may help to ensure consistency.

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§