group::prime

Trait PrimeCurveAffine

Source
pub trait PrimeCurveAffine:
    GroupEncoding
    + Copy
    + Clone
    + Sized
    + Send
    + Sync
    + Debug
    + PartialEq
    + Eq
    + 'static
    + Neg<Output = Self>
    + Mul<Self::Scalar, Output = Self::Curve>
    + for<'r> Mul<&'r Self::Scalar, Output = Self::Curve> {
    type Scalar: PrimeField;
    type Curve: PrimeCurve<Affine = Self, Scalar = Self::Scalar>;

    // Required methods
    fn identity() -> Self;
    fn generator() -> Self;
    fn is_identity(&self) -> Choice;
    fn to_curve(&self) -> Self::Curve;
}
Expand description

Affine representation of an elliptic curve point guaranteed to be in the correct prime order subgroup.

Required Associated Types§

Source

type Scalar: PrimeField

Source

type Curve: PrimeCurve<Affine = Self, Scalar = Self::Scalar>

Required Methods§

Source

fn identity() -> Self

Returns the additive identity.

Source

fn generator() -> Self

Returns a fixed generator of unknown exponent.

Source

fn is_identity(&self) -> Choice

Determines if this point represents the point at infinity; the additive identity.

Source

fn to_curve(&self) -> Self::Curve

Converts this element to its curve representation.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§