elliptic_curve

Trait Curve

Source
pub trait Curve:
    'static
    + Copy
    + Clone
    + Debug
    + Default
    + Eq
    + Ord
    + Send
    + Sync {
    type UInt: AddMod<Output = Self::UInt> + ArrayEncoding + Encoding + Integer + NegMod<Output = Self::UInt> + Random + RandomMod + SubMod<Output = Self::UInt> + Zeroize;

    const ORDER: Self::UInt;
}
Expand description

Elliptic curve.

This trait is intended to be impl’d by a ZST which represents a concrete elliptic curve.

Other traits in this crate which are bounded by Curve are intended to be impl’d by these ZSTs, facilitating types which are generic over elliptic curves (e.g. SecretKey).

Required Associated Constants§

Source

const ORDER: Self::UInt

Order constant.

Subdivided into either 32-bit or 64-bit “limbs” (depending on the target CPU’s word size), specified from least to most significant.

Required Associated Types§

Source

type UInt: AddMod<Output = Self::UInt> + ArrayEncoding + Encoding + Integer + NegMod<Output = Self::UInt> + Random + RandomMod + SubMod<Output = Self::UInt> + Zeroize

Integer type used to represent field elements of this elliptic curve.

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§