1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
//! Traits for Weierstrass elliptic curve points use super::Curve; use crate::FieldBytes; use subtle::{Choice, CtOption}; /// Point compression settings pub trait Compression { /// Should point compression be applied by default? const COMPRESS_POINTS: bool; } /// Attempt to decompress an elliptic curve point from its x-coordinate and /// a boolean flag indicating whether or not the y-coordinate is odd. pub trait Decompress<C: Curve>: Sized { /// Attempt to decompress an elliptic curve point fn decompress(x: &FieldBytes<C>, y_is_odd: Choice) -> CtOption<Self>; }