pub trait FromEncodedPoint<C>: Sizedwhere
    C: Curve,
    <C as Curve>::FieldBytesSize: ModulusSize,{
    // Required method
    fn from_encoded_point(
        point: &EncodedPoint<<C as Curve>::FieldBytesSize>
    ) -> CtOption<Self>;
}
Available on crate feature sec1 only.
Expand description

Trait for deserializing a value from a SEC1 encoded curve point.

This is intended for use with the AffinePoint type for a given elliptic curve.

Required Methods§

fn from_encoded_point( point: &EncodedPoint<<C as Curve>::FieldBytesSize> ) -> CtOption<Self>

Deserialize the type this trait is impl’d on from an EncodedPoint.

Implementations on Foreign Types§

§

impl<C> FromEncodedPoint<C> for ProjectivePoint<C>where C: PrimeCurveParams, GenericArray<u8, <C as Curve>::FieldBytesSize>: Copy, <C as Curve>::FieldBytesSize: ModulusSize, GenericArray<u8, <<C as Curve>::FieldBytesSize as ModulusSize>::CompressedPointSize>: Copy,

§

fn from_encoded_point( p: &EncodedPoint<<C as Curve>::FieldBytesSize> ) -> CtOption<ProjectivePoint<C>>

§

impl<C> FromEncodedPoint<C> for AffinePoint<C>where C: PrimeCurveParams, GenericArray<u8, <C as Curve>::FieldBytesSize>: Copy, <C as Curve>::FieldBytesSize: ModulusSize, GenericArray<u8, <<C as Curve>::FieldBytesSize as ModulusSize>::CompressedPointSize>: Copy,

§

fn from_encoded_point( encoded_point: &EncodedPoint<<C as Curve>::FieldBytesSize> ) -> CtOption<AffinePoint<C>>

Attempts to parse the given EncodedPoint as an SEC1-encoded [AffinePoint].

Returns

None value if encoded_point is not on the secp384r1 curve.

source§

impl FromEncodedPoint<Secp256k1> for ProjectivePoint

source§

fn from_encoded_point( p: &EncodedPoint<<Secp256k1 as Curve>::FieldBytesSize> ) -> CtOption<ProjectivePoint>

source§

impl FromEncodedPoint<Secp256k1> for AffinePoint

source§

fn from_encoded_point( encoded_point: &EncodedPoint<<Secp256k1 as Curve>::FieldBytesSize> ) -> CtOption<AffinePoint>

Attempts to parse the given EncodedPoint as an SEC1-encoded AffinePoint.

Returns

None value if encoded_point is not on the secp256k1 curve.

Implementors§

§

impl<C> FromEncodedPoint<C> for PublicKey<C>where C: CurveArithmetic, <C as CurveArithmetic>::AffinePoint: FromEncodedPoint<C> + ToEncodedPoint<C>, <C as Curve>::FieldBytesSize: ModulusSize,