Trait elliptic_curve::ops::Reduce
source · pub trait Reduce<UInt: Integer + ArrayEncoding>: Sized {
// Required method
fn from_uint_reduced(n: UInt) -> Self;
// Provided methods
fn from_be_bytes_reduced(bytes: ByteArray<UInt>) -> Self { ... }
fn from_le_bytes_reduced(bytes: ByteArray<UInt>) -> Self { ... }
fn from_be_digest_reduced<D>(digest: D) -> Self
where D: FixedOutput<OutputSize = UInt::ByteSize> { ... }
fn from_le_digest_reduced<D>(digest: D) -> Self
where D: FixedOutput<OutputSize = UInt::ByteSize> { ... }
}
Expand description
Modular reduction.
Required Methods§
sourcefn from_uint_reduced(n: UInt) -> Self
fn from_uint_reduced(n: UInt) -> Self
Perform a modular reduction, returning a field element.
Provided Methods§
sourcefn from_be_bytes_reduced(bytes: ByteArray<UInt>) -> Self
fn from_be_bytes_reduced(bytes: ByteArray<UInt>) -> Self
Interpret the given byte array as a big endian integer and perform a modular reduction.
sourcefn from_le_bytes_reduced(bytes: ByteArray<UInt>) -> Self
fn from_le_bytes_reduced(bytes: ByteArray<UInt>) -> Self
Interpret the given byte array as a little endian integer and perform a modular reduction.
sourcefn from_be_digest_reduced<D>(digest: D) -> Selfwhere
D: FixedOutput<OutputSize = UInt::ByteSize>,
fn from_be_digest_reduced<D>(digest: D) -> Selfwhere D: FixedOutput<OutputSize = UInt::ByteSize>,
Interpret a digest as a big endian integer and perform a modular reduction.
sourcefn from_le_digest_reduced<D>(digest: D) -> Selfwhere
D: FixedOutput<OutputSize = UInt::ByteSize>,
fn from_le_digest_reduced<D>(digest: D) -> Selfwhere D: FixedOutput<OutputSize = UInt::ByteSize>,
Interpret a digest as a little endian integer and perform a modular reduction.
Implementors§
impl<C, I> Reduce<I> for NonZeroScalar<C>where C: Curve + ScalarArithmetic, I: Integer + ArrayEncoding, Scalar<C>: ReduceNonZero<I>,
Note: implementation is the same as ReduceNonZero