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]

[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.

[src]

Compress this point to CompressedEdwardsY format.

impl ExtendedPoint
[src]

[src]

Multiply by the cofactor: compute 8 * self.

[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]

[src]

Returns a copy of the value. Read more

1.0.0
[src]

Performs copy-assignment from source. Read more

impl Identity for ExtendedPoint
[src]

[src]

Returns the identity element of the curve. Can be used as a constructor. Read more

impl ConditionallyAssignable for ExtendedPoint
[src]

[src]

Conditionally assign other to self in constant time. Read more

impl Equal for ExtendedPoint
[src]

[src]

Determine if two items are equal in constant time. Read more

impl<'a, 'b> Add<&'b ExtendedPoint> for &'a ExtendedPoint
[src]

The resulting type after applying the + operator.

[src]

Performs the + operation.

impl<'b> Add<&'b ExtendedPoint> for ExtendedPoint
[src]

The resulting type after applying the + operator.

[src]

Performs the + operation.

impl<'a> Add<ExtendedPoint> for &'a ExtendedPoint
[src]

The resulting type after applying the + operator.

[src]

Performs the + operation.

impl Add<ExtendedPoint> for ExtendedPoint
[src]

The resulting type after applying the + operator.

[src]

Performs the + operation.

impl<'b> AddAssign<&'b ExtendedPoint> for ExtendedPoint
[src]

[src]

Performs the += operation.

impl AddAssign<ExtendedPoint> for ExtendedPoint
[src]

[src]

Performs the += operation.

impl<'a, 'b> Sub<&'b ExtendedPoint> for &'a ExtendedPoint
[src]

The resulting type after applying the - operator.

[src]

Performs the - operation.

impl<'b> Sub<&'b ExtendedPoint> for ExtendedPoint
[src]

The resulting type after applying the - operator.

[src]

Performs the - operation.

impl<'a> Sub<ExtendedPoint> for &'a ExtendedPoint
[src]

The resulting type after applying the - operator.

[src]

Performs the - operation.

impl Sub<ExtendedPoint> for ExtendedPoint
[src]

The resulting type after applying the - operator.

[src]

Performs the - operation.

impl<'b> SubAssign<&'b ExtendedPoint> for ExtendedPoint
[src]

[src]

Performs the -= operation.

impl SubAssign<ExtendedPoint> for ExtendedPoint
[src]

[src]

Performs the -= operation.

impl<'a> Neg for &'a ExtendedPoint
[src]

The resulting type after applying the - operator.

[src]

Performs the unary - operation.

impl Neg for ExtendedPoint
[src]

The resulting type after applying the - operator.

[src]

Performs the unary - operation.

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

[src]

Performs the *= operation.

impl MulAssign<Scalar> for ExtendedPoint
[src]

[src]

Performs the *= operation.

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

The resulting type after applying the * operator.

[src]

Performs the * operation.

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

The resulting type after applying the * operator.

[src]

Performs the * operation.

impl Mul<Scalar> for ExtendedPoint
[src]

The resulting type after applying the * operator.

[src]

Performs the * operation.

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

The resulting type after applying the * operator.

[src]

Scalar multiplication: compute scalar * self.

For scalar multiplication of a basepoint, EdwardsBasepointTable is approximately 4x faster.

impl Debug for ExtendedPoint
[src]

[src]

Formats the value using the given formatter.

impl<'a, 'b> Add<&'b ProjectiveNielsPoint> for &'a ExtendedPoint
[src]

The resulting type after applying the + operator.

[src]

Performs the + operation.

impl<'a, 'b> Sub<&'b ProjectiveNielsPoint> for &'a ExtendedPoint
[src]

The resulting type after applying the - operator.

[src]

Performs the - operation.

impl<'a, 'b> Add<&'b AffineNielsPoint> for &'a ExtendedPoint
[src]

The resulting type after applying the + operator.

[src]

Performs the + operation.

impl<'a, 'b> Sub<&'b AffineNielsPoint> for &'a ExtendedPoint
[src]

The resulting type after applying the - operator.

[src]

Performs the - operation.