CurveAffine

Trait CurveAffine 

Source
pub trait CurveAffine:
    Copy
    + Clone
    + Sized
    + Send
    + Sync
    + Debug
    + Display
    + PartialEq
    + Eq
    + 'static
    + Serialize
    + Deserialize<'static> {
    type Engine: ScalarEngine<Fr = Self::Scalar>;
    type Scalar: PrimeField + SqrtField;
    type Base: SqrtField;
    type Projective: CurveProjective<Affine = Self, Scalar = Self::Scalar>;
    type Uncompressed: EncodedPoint<Affine = Self>;
    type Compressed: EncodedPoint<Affine = Self>;

    // Required methods
    fn zero() -> Self;
    fn one() -> Self;
    fn is_zero(&self) -> bool;
    fn negate(&mut self);
    fn mul<S: Into<<Self::Scalar as PrimeField>::Repr>>(
        &self,
        other: S,
    ) -> Self::Projective;
    fn into_projective(&self) -> Self::Projective;

    // Provided methods
    fn into_compressed(&self) -> Self::Compressed { ... }
    fn into_uncompressed(&self) -> Self::Uncompressed { ... }
}
Expand description

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

Required Associated Types§

Source

type Engine: ScalarEngine<Fr = Self::Scalar>

Source

type Scalar: PrimeField + SqrtField

Source

type Base: SqrtField

Source

type Projective: CurveProjective<Affine = Self, Scalar = Self::Scalar>

Source

type Uncompressed: EncodedPoint<Affine = Self>

Source

type Compressed: EncodedPoint<Affine = Self>

Required Methods§

Source

fn zero() -> Self

Returns the additive identity.

Source

fn one() -> Self

Returns a fixed generator of unknown exponent.

Source

fn is_zero(&self) -> bool

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

Source

fn negate(&mut self)

Negates this element.

Source

fn mul<S: Into<<Self::Scalar as PrimeField>::Repr>>( &self, other: S, ) -> Self::Projective

Performs scalar multiplication of this element with mixed addition.

Source

fn into_projective(&self) -> Self::Projective

Converts this element into its affine representation.

Provided Methods§

Source

fn into_compressed(&self) -> Self::Compressed

Converts this element into its compressed encoding, so long as it’s not the point at infinity.

Source

fn into_uncompressed(&self) -> Self::Uncompressed

Converts this element into its uncompressed encoding, so long as it’s not the point at infinity.

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§