[][src]Struct curve25519_dalek::montgomery::MontgomeryPoint

pub struct MontgomeryPoint(pub [u8; 32]);

Holds the \(u\)-coordinate of a point on the Montgomery form of Curve25519 or its twist.

Methods

impl MontgomeryPoint[src]

pub fn as_bytes<'a>(&'a self) -> &'a [u8; 32][src]

View this MontgomeryPoint as an array of bytes.

pub fn to_bytes(&self) -> [u8; 32][src]

Convert this MontgomeryPoint to an array of bytes.

pub fn to_edwards(&self, sign: u8) -> Option<EdwardsPoint>[src]

Attempt to convert to an EdwardsPoint, using the supplied choice of sign for the EdwardsPoint.

Return

  • Some(EdwardsPoint) if self is the \(u\)-coordinate of a point on (the Montgomery form of) Curve25519;

  • None if self is the \(u\)-coordinate of a point on the twist of (the Montgomery form of) Curve25519;

Trait Implementations

impl From<[u8; 32]> for MontgomeryPoint[src]

impl Debug for MontgomeryPoint[src]

impl PartialEq<MontgomeryPoint> for MontgomeryPoint[src]

impl Eq for MontgomeryPoint[src]

impl<'_> TryFrom<&'_ [u8]> for MontgomeryPoint[src]

type Error = CurveError

The type returned in the event of a conversion error.

impl<'b> Mul<&'b Scalar> for MontgomeryPoint[src]

type Output = MontgomeryPoint

The resulting type after applying the * operator.

impl<'a> Mul<Scalar> for &'a MontgomeryPoint[src]

type Output = MontgomeryPoint

The resulting type after applying the * operator.

impl Mul<Scalar> for MontgomeryPoint[src]

type Output = MontgomeryPoint

The resulting type after applying the * operator.

impl<'b> Mul<&'b MontgomeryPoint> for Scalar[src]

type Output = MontgomeryPoint

The resulting type after applying the * operator.

impl<'a> Mul<MontgomeryPoint> for &'a Scalar[src]

type Output = MontgomeryPoint

The resulting type after applying the * operator.

impl Mul<MontgomeryPoint> for Scalar[src]

type Output = MontgomeryPoint

The resulting type after applying the * operator.

impl<'a, 'b> Mul<&'b Scalar> for &'a MontgomeryPoint[src]

Multiply this MontgomeryPoint by a Scalar.

type Output = MontgomeryPoint

The resulting type after applying the * operator.

fn mul(self, scalar: &'b Scalar) -> MontgomeryPoint[src]

Given self \( = u_0(P) \), and a Scalar \(n\), return \( u_0([n]P) \).

impl<'a, 'b> Mul<&'b MontgomeryPoint> for &'a Scalar[src]

type Output = MontgomeryPoint

The resulting type after applying the * operator.

impl MulAssign<Scalar> for MontgomeryPoint[src]

impl<'b> MulAssign<&'b Scalar> for MontgomeryPoint[src]

impl Copy for MontgomeryPoint[src]

impl Clone for MontgomeryPoint[src]

impl Default for MontgomeryPoint[src]

impl ConstantTimeEq for MontgomeryPoint[src]

Equality of MontgomeryPoints is defined mod p.

Auto Trait Implementations

impl Unpin for MontgomeryPoint

impl Send for MontgomeryPoint

impl Sync for MontgomeryPoint

impl UnwindSafe for MontgomeryPoint

impl RefUnwindSafe for MontgomeryPoint

Blanket Implementations

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> Clear for T where
    T: InitializableFromZeroed + ?Sized
[src]

impl<T> InitializableFromZeroed for T where
    T: Default
[src]

impl<T> Same<T> for T[src]

type Output = T

Should always be Self