pub trait FpParameters: FftParameters {
    const MODULUS: Self::BigInt;
    const MODULUS_BITS: u32;
    const REPR_SHAVE_BITS: u32;
    const R: Self::BigInt;
    const R2: Self::BigInt;
    const INV: u64;
    const GENERATOR: Self::BigInt;
    const CAPACITY: u32;
    const T: Self::BigInt;
    const T_MINUS_ONE_DIV_TWO: Self::BigInt;
    const MODULUS_MINUS_ONE_DIV_TWO: Self::BigInt;
}
Expand description

A trait that defines parameters for a prime field.

Required Associated Constants§

source

const MODULUS: Self::BigInt

The modulus of the field.

source

const MODULUS_BITS: u32

The number of bits needed to represent the Self::MODULUS.

source

const REPR_SHAVE_BITS: u32

The number of bits that must be shaved from the beginning of the representation when randomly sampling.

source

const R: Self::BigInt

Let M be the power of 2^64 nearest to Self::MODULUS_BITS. Then R = M % Self::MODULUS.

source

const R2: Self::BigInt

R2 = R^2 % Self::MODULUS

source

const INV: u64

INV = -MODULUS^{-1} mod 2^64

source

const GENERATOR: Self::BigInt

A multiplicative generator of the field. Self::GENERATOR is an element having multiplicative order Self::MODULUS - 1.

source

const CAPACITY: u32

The number of bits that can be reliably stored. (Should equal SELF::MODULUS_BITS - 1)

source

const T: Self::BigInt

t for 2^s * t = MODULUS - 1, and t coprime to 2.

source

const T_MINUS_ONE_DIV_TWO: Self::BigInt

(t - 1) / 2

source

const MODULUS_MINUS_ONE_DIV_TWO: Self::BigInt

(Self::MODULUS - 1) / 2

Implementors§

source§

impl FpParameters for FpParameters

source§

const MODULUS: BigInteger = _

source§

const R: BigInteger = _

source§

const R2: BigInteger = _

source§

const MODULUS_MINUS_ONE_DIV_TWO: BigInteger = _

source§

const T: BigInteger = _

source§

const T_MINUS_ONE_DIV_TWO: BigInteger = _

source§

const GENERATOR: BigInteger = _

source§

const MODULUS_BITS: u32 = 255u32

source§

const CAPACITY: u32 = 254u32

source§

const REPR_SHAVE_BITS: u32 = 1u32

source§

const INV: u64 = 11_037_532_056_220_336_127u64

source§

impl FpParameters for FqParameters

source§

const MODULUS: BigInteger = _

source§

const R: BigInteger = _

source§

const R2: BigInteger = _

source§

const MODULUS_MINUS_ONE_DIV_TWO: BigInteger = _

source§

const T: BigInteger = _

source§

const T_MINUS_ONE_DIV_TWO: BigInteger = _

source§

const GENERATOR: BigInteger = _

source§

const MODULUS_BITS: u32 = 255u32

source§

const CAPACITY: u32 = 254u32

source§

const REPR_SHAVE_BITS: u32 = 1u32

source§

const INV: u64 = 10_108_024_940_646_105_087u64