pub trait PrimeCurveAffine: GroupEncoding + Copy + Clone + Sized + Send + Sync + Debug + PartialEq<Self> + Eq + 'static + Neg<Output = Self> + for<'r> Mul<Self::Scalar, Output = Self::Curve, Output = Self::Curve> + for<'r> Mul<&'r Self::Scalar> {
    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§

type Scalar: PrimeField

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

Required Methods§

fn identity() -> Self

Returns the additive identity.

fn generator() -> Self

Returns a fixed generator of unknown exponent.

fn is_identity(&self) -> Choice

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

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

Converts this element to its curve representation.

Implementors§