pub enum CurveWeakness {
Anomalous,
Supersingular,
SmoothOrder {
largest_prime_factor: u64,
},
}Expand description
The known STRUCTURAL weaknesses that make an elliptic curve’s ECDLP breakable — the symmetries a sound curve must avoid.
Variants§
Anomalous
#E(𝔽_p) = p (trace 1): anomalous — Smart’s attack solves the ECDLP in polynomial time.
Supersingular
#E(𝔽_p) = p + 1 (trace 0): supersingular — small embedding degree; MOV maps to a sub-exp DLP.
SmoothOrder
The order’s largest prime factor is small: Pohlig–Hellman shrinks the ECDLP to that subgroup.
Trait Implementations§
Source§impl Clone for CurveWeakness
impl Clone for CurveWeakness
Source§fn clone(&self) -> CurveWeakness
fn clone(&self) -> CurveWeakness
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CurveWeakness
impl Debug for CurveWeakness
Source§impl PartialEq for CurveWeakness
impl PartialEq for CurveWeakness
Source§fn eq(&self, other: &CurveWeakness) -> bool
fn eq(&self, other: &CurveWeakness) -> bool
Tests for
self and other values to be equal, and is used by ==.impl Eq for CurveWeakness
impl StructuralPartialEq for CurveWeakness
Auto Trait Implementations§
impl Freeze for CurveWeakness
impl RefUnwindSafe for CurveWeakness
impl Send for CurveWeakness
impl Sync for CurveWeakness
impl Unpin for CurveWeakness
impl UnsafeUnpin for CurveWeakness
impl UnwindSafe for CurveWeakness
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more