Struct curve25519_dalek::edwards::ExtendedPoint
[−]
[src]
pub struct ExtendedPoint { /* fields omitted */ }
An ExtendedPoint
represents a point on the Edwards form of Curve25519.
The name refers to the extended twisted Edwards coordinates of
Hisil, Wong, Carter, and Dawson, and more details on curve models
can be found in the curve25519-dalek
internal documentation.
Methods
impl ExtendedPoint
[src]
fn to_montgomery(&self) -> MontgomeryPoint
[src]
Convert this ExtendedPoint
on the Edwards model to the
corresponding MontgomeryPoint
on the Montgomery model.
Note that this is a one-way conversion, since the Montgomery model does not retain sign information.
fn compress(&self) -> CompressedEdwardsY
[src]
Compress this point to CompressedEdwardsY
format.
impl ExtendedPoint
[src]
fn mult_by_cofactor(&self) -> ExtendedPoint
[src]
Multiply by the cofactor: compute 8 * self
.
fn is_small_order(&self) -> bool
[src]
Determine if this point is of small order.
The order of the group of points on the curve \(\mathcal E\) is \(|\mathcal E| = 8\ell \), so its structure is \( \mathcal E = \mathcal E[8] \times \mathcal E[\ell]\). The torsion subgroup \( \mathcal E[8] \) consists of eight points of small order. (Technically all of \(\mathcal E\) is torsion, but we use the word only to refer to the \(\mathcal E[8]\) part, not the prime-order subgroup \(\mathcal E[\ell]\).
For more information on cofactors and the group structure, see
the internal curve25519-dalek
documentation on Ristretto.
Return
True if self
is of small order; false otherwise.
Trait Implementations
impl Copy for ExtendedPoint
[src]
impl Clone for ExtendedPoint
[src]
fn clone(&self) -> ExtendedPoint
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl Identity for ExtendedPoint
[src]
fn identity() -> ExtendedPoint
[src]
Returns the identity element of the curve. Can be used as a constructor. Read more
impl ConditionallyAssignable for ExtendedPoint
[src]
fn conditional_assign(&mut self, other: &ExtendedPoint, choice: u8)
[src]
Conditionally assign other
to self
in constant time. Read more
impl Equal for ExtendedPoint
[src]
fn ct_eq(&self, other: &ExtendedPoint) -> u8
[src]
Determine if two items are equal in constant time. Read more
impl<'a, 'b> Add<&'b ExtendedPoint> for &'a ExtendedPoint
[src]
type Output = ExtendedPoint
The resulting type after applying the +
operator.
fn add(self, other: &'b ExtendedPoint) -> ExtendedPoint
[src]
Performs the +
operation.
impl<'b> AddAssign<&'b ExtendedPoint> for ExtendedPoint
[src]
fn add_assign(&mut self, _rhs: &'b ExtendedPoint)
[src]
Performs the +=
operation.
impl<'a, 'b> Sub<&'b ExtendedPoint> for &'a ExtendedPoint
[src]
type Output = ExtendedPoint
The resulting type after applying the -
operator.
fn sub(self, other: &'b ExtendedPoint) -> ExtendedPoint
[src]
Performs the -
operation.
impl<'b> SubAssign<&'b ExtendedPoint> for ExtendedPoint
[src]
fn sub_assign(&mut self, _rhs: &'b ExtendedPoint)
[src]
Performs the -=
operation.
impl<'a> Neg for &'a ExtendedPoint
[src]
type Output = ExtendedPoint
The resulting type after applying the -
operator.
fn neg(self) -> ExtendedPoint
[src]
Performs the unary -
operation.
impl<'b> MulAssign<&'b Scalar> for ExtendedPoint
[src]
fn mul_assign(&mut self, scalar: &'b Scalar)
[src]
Performs the *=
operation.
impl<'a, 'b> Mul<&'b Scalar> for &'a ExtendedPoint
[src]
type Output = ExtendedPoint
The resulting type after applying the *
operator.
fn mul(self, scalar: &'b Scalar) -> ExtendedPoint
[src]
Scalar multiplication: compute scalar * self
.
For scalar multiplication of a basepoint,
EdwardsBasepointTable
is approximately 4x faster.
impl Debug for ExtendedPoint
[src]
impl<'a, 'b> Add<&'b ProjectiveNielsPoint> for &'a ExtendedPoint
[src]
type Output = CompletedPoint
The resulting type after applying the +
operator.
fn add(self, other: &'b ProjectiveNielsPoint) -> CompletedPoint
[src]
Performs the +
operation.
impl<'a, 'b> Sub<&'b ProjectiveNielsPoint> for &'a ExtendedPoint
[src]
type Output = CompletedPoint
The resulting type after applying the -
operator.
fn sub(self, other: &'b ProjectiveNielsPoint) -> CompletedPoint
[src]
Performs the -
operation.
impl<'a, 'b> Add<&'b AffineNielsPoint> for &'a ExtendedPoint
[src]
type Output = CompletedPoint
The resulting type after applying the +
operator.
fn add(self, other: &'b AffineNielsPoint) -> CompletedPoint
[src]
Performs the +
operation.