Skip to main content

DecompactPoint

Trait DecompactPoint 

pub trait DecompactPoint<C>: Sized
where C: Curve,
{ // Required method fn decompact( x: &GenericArray<u8, <C as Curve>::FieldBytesSize>, ) -> CtOption<Self>; }
Expand description

Decompact an elliptic curve point from an x-coordinate.

Decompaction relies on properties of specially-generated keys but provides a more compact representation than standard point compression.

Required Methods§

fn decompact( x: &GenericArray<u8, <C as Curve>::FieldBytesSize>, ) -> CtOption<Self>

Attempt to decompact an elliptic curve point

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.

Implementations on Foreign Types§

§

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

§

fn decompact( x_bytes: &GenericArray<u8, <C as Curve>::FieldBytesSize>, ) -> CtOption<AffinePoint<C>>

Implementors§

§

impl DecompactPoint<Secp256k1> for airbender_crypto::k256::AffinePoint

Decompaction using Taproot conventions as described in BIP 340.