Skip to main content

CurveWithScalar

Trait CurveWithScalar 

Source
pub trait CurveWithScalar:
    'static
    + CurveArithmetic
    + Send
    + Sync {
    type ReprSize: ArraySize<ArrayType<u8>: Copy> + Mul<U2, Output: ArraySize<ArrayType<u8>: Copy>>;

    // Required methods
    fn from_bytes_mod_order_wide(
        input: &Array<u8, Prod<<Self as CurveWithScalar>::ReprSize, U2>>,
    ) -> Scalar<Self>;
    fn from_canonical_bytes(
        bytes: &Array<u8, <Self as CurveWithScalar>::ReprSize>,
    ) -> CtOption<Scalar<Self>>;
    fn to_repr(
        scalar: &Scalar<Self>,
    ) -> Array<u8, <Self as CurveWithScalar>::ReprSize>;
}

Required Associated Types§

Source

type ReprSize: ArraySize<ArrayType<u8>: Copy> + Mul<U2, Output: ArraySize<ArrayType<u8>: Copy>>

Required Methods§

Source

fn from_bytes_mod_order_wide( input: &Array<u8, Prod<<Self as CurveWithScalar>::ReprSize, U2>>, ) -> Scalar<Self>

Source

fn from_canonical_bytes( bytes: &Array<u8, <Self as CurveWithScalar>::ReprSize>, ) -> CtOption<Scalar<Self>>

Source

fn to_repr( scalar: &Scalar<Self>, ) -> Array<u8, <Self as CurveWithScalar>::ReprSize>

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§