Struct generic_ec_curves::ed25519::Scalar

source ·
pub struct Scalar(pub Scalar);
Available on crate feature ed25519 only.
Expand description

Ed25519 scalar

Tuple Fields§

§0: Scalar

Implementations§

source§

impl Scalar

source

pub const ONE: Self = _

Scalar equal to 1

source

pub const ZERO: Self = _

Scalar equal to 0

Trait Implementations§

source§

impl Additive for Scalar

source§

fn add(a: &Self, b: &Self) -> Self

Computes a + b
source§

fn sub(a: &Self, b: &Self) -> Self

Computes a - b
source§

fn negate(x: &Self) -> Self

Computes -a
source§

fn double(x: &Self) -> Self
where Self: Sized,

Takes x, returns x + x Read more
source§

impl Clone for Scalar

source§

fn clone(&self) -> Scalar

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl ConditionallySelectable for Scalar

source§

fn conditional_select(a: &Self, b: &Self, choice: Choice) -> Self

Select a or b according to choice. Read more
source§

fn conditional_assign(&mut self, other: &Self, choice: Choice)

Conditionally assign other to self, according to choice. Read more
source§

fn conditional_swap(a: &mut Self, b: &mut Self, choice: Choice)

Conditionally swap self and other if choice == 1; otherwise, reassign both unto themselves. Read more
source§

impl ConstantTimeEq for Scalar

source§

fn ct_eq(&self, other: &Self) -> Choice

Determine if two items are equal. Read more
source§

fn ct_ne(&self, other: &Self) -> Choice

Determine if two items are NOT equal. Read more
source§

impl Default for Scalar

source§

fn default() -> Scalar

Returns the “default value” for a type. Read more
source§

impl IntegerEncoding for Scalar

§

type Bytes = [u8; 32]

Byte array that fits the whole encoded integer
source§

fn to_be_bytes(&self) -> Self::Bytes

Encodes integer as bytes in big-endian byte order
source§

fn to_le_bytes(&self) -> Self::Bytes

Encodes integer as bytes in little-endian byte order
source§

fn from_be_bytes_exact(bytes: &Self::Bytes) -> Option<Self>

Decodes integer encoded as bytes in big-endian bytes order Read more
source§

fn from_le_bytes_exact(bytes: &Self::Bytes) -> Option<Self>

Decodes integer encoded as bytes in little-endian bytes order Read more
source§

fn from_be_bytes_mod_order(bytes: &[u8]) -> Self

Interprets bytes as big-endian encoding of an integer. Returns integer mod curve (prime) order.
source§

fn from_le_bytes_mod_order(bytes: &[u8]) -> Self

Interprets bytes as little-endian encoding of an integer. Returns integer mod curve (prime) order.
source§

impl Invertible for Scalar

source§

fn invert(x: &Self) -> CtOption<Self>

Inverts $x$, returns $x^{-1}$ such that $x \cdot x^{-1} = 1$
source§

impl Multiplicative<CurveGenerator> for Scalar

§

type Output = Point

Type of multiplication output
source§

fn mul(a: &Self, _: &CurveGenerator) -> Self::Output

Computes a * b
source§

impl Multiplicative<Point> for Scalar

§

type Output = Point

Type of multiplication output
source§

fn mul(a: &Self, b: &Point) -> Self::Output

Computes a * b
source§

impl Multiplicative<Scalar> for Scalar

§

type Output = Scalar

Type of multiplication output
source§

fn mul(a: &Self, b: &Scalar) -> Self::Output

Computes a * b
source§

impl One for Scalar

source§

fn one() -> Self

Constructs one value of Self
source§

fn is_one(x: &Self) -> Choice

Checks (in constant-time) if x is one
source§

impl Ord for Scalar

source§

fn cmp(&self, other: &Self) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for Scalar

source§

fn eq(&self, other: &Scalar) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd for Scalar

source§

fn partial_cmp(&self, other: &Self) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Reduce<32> for Scalar

source§

fn from_be_array_mod_order(bytes: &[u8; 32]) -> Self

Interprets bytes as big-endian encoding of an integer, returns this integer modulo curve (prime) order
source§

fn from_le_array_mod_order(bytes: &[u8; 32]) -> Self

Interprets bytes as little-endian encoding of an integer, returns this integer modulo curve (prime) order
source§

impl Reduce<64> for Scalar

source§

fn from_be_array_mod_order(bytes: &[u8; 64]) -> Self

Interprets bytes as big-endian encoding of an integer, returns this integer modulo curve (prime) order
source§

fn from_le_array_mod_order(bytes: &[u8; 64]) -> Self

Interprets bytes as little-endian encoding of an integer, returns this integer modulo curve (prime) order
source§

impl Samplable for Scalar

source§

fn random<R: RngCore>(rng: &mut R) -> Self

Uniformely samples a random value of Self
source§

impl Zero for Scalar

source§

fn zero() -> Self

Constructs zero value of Self
source§

fn is_zero(x: &Self) -> Choice

Checks (in constant-time) if x is zero
source§

impl Zeroize for Scalar

source§

fn zeroize(&mut self)

Zero out this object from memory using Rust intrinsics which ensure the zeroization operation is not “optimized away” by the compiler.
source§

impl Copy for Scalar

source§

impl Eq for Scalar

source§

impl StructuralPartialEq for Scalar

Auto Trait Implementations§

§

impl Freeze for Scalar

§

impl RefUnwindSafe for Scalar

§

impl Send for Scalar

§

impl Sync for Scalar

§

impl Unpin for Scalar

§

impl UnwindSafe for Scalar

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.