Trait fff::PrimeField[][src]

pub trait PrimeField: Field {
    type Repr: PrimeFieldRepr + From<Self>;

    const NUM_BITS: u32;
    const CAPACITY: u32;
    const S: u32;

    fn from_repr(_: Self::Repr) -> Result<Self, PrimeFieldDecodingError>;
fn into_repr(&self) -> Self::Repr;
fn char() -> Self::Repr;
fn multiplicative_generator() -> Self;
fn root_of_unity() -> Self;
fn from_random_bytes(bytes: &[u8]) -> Option<Self>; fn from_str(s: &str) -> Option<Self> { ... } }
Expand description

This represents an element of a prime field.

Associated Types

type Repr: PrimeFieldRepr + From<Self>[src]

The prime field can be converted back and forth into this biginteger representation.

Associated Constants

const NUM_BITS: u32[src]

How many bits are needed to represent an element of this field.

const CAPACITY: u32[src]

How many bits of information can be reliably stored in the field element.

const S: u32[src]

2^s * t = char() - 1 with t odd.

Required methods

fn from_repr(_: Self::Repr) -> Result<Self, PrimeFieldDecodingError>[src]

Convert this prime field element into a biginteger representation.

fn into_repr(&self) -> Self::Repr[src]

Convert a biginteger representation into a prime field element, if the number is an element of the field.

fn char() -> Self::Repr[src]

Returns the field characteristic; the modulus.

fn multiplicative_generator() -> Self[src]

Returns the multiplicative generator of char() - 1 order. This element must also be quadratic nonresidue.

fn root_of_unity() -> Self[src]

Returns the 2^s root of unity computed by exponentiating the multiplicative_generator() by t.

fn from_random_bytes(bytes: &[u8]) -> Option<Self>[src]

Provided methods

fn from_str(s: &str) -> Option<Self>[src]

Interpret a string of numbers as a (congruent) prime field element. Does not accept unnecessary leading zeroes or a blank string.

Implementors