Trait DecompactPoint
pub trait DecompactPoint<C>: Sizedwhere
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>
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>
impl<C> DecompactPoint<C> for AffinePoint<C>
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.