[−][src]Trait ff::Field
This trait represents an element of a field.
Required methods
pub fn random(rng: impl RngCore) -> Self[src]
Returns an element chosen uniformly at random using a user-provided RNG.
pub fn zero() -> Self[src]
Returns the zero element of the field, the additive identity.
pub fn one() -> Self[src]
Returns the one element of the field, the multiplicative identity.
pub fn is_zero(&self) -> bool[src]
Returns true iff this element is zero.
#[must_use]pub fn square(&self) -> Self[src]
Squares this element.
#[must_use]pub fn double(&self) -> Self[src]
Doubles this element.
pub fn invert(&self) -> CtOption<Self>[src]
Computes the multiplicative inverse of this element, failing if the element is zero.
pub fn sqrt(&self) -> CtOption<Self>[src]
Returns the square root of the field element, if it is quadratic residue.
Provided methods
#[must_use]pub fn cube(&self) -> Self[src]
Cubes this element.
pub fn pow_vartime<S: AsRef<[u64]>>(&self, exp: S) -> Self[src]
Exponentiates self by exp, where exp is a little-endian order
integer exponent.
This operation is variable time with respect to the exponent. If the exponent is fixed, this operation is effectively constant time.