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".

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.