pub struct AlgebraicAttack {
pub order: usize,
pub degree: usize,
pub anf_terms: usize,
pub anf: Vec<bool>,
pub truth_table: usize,
}Expand description
The certified result of an algebraic-recurrence attack: a low-degree nonlinear feedback register
that regenerates a byte string, recovered by [describe::detect_algebraic_recurrence]. This is the
OPEN rung — where maximal order complexity can only measure a nonlinear register (its 2^order
truth table), the algebraic attack recovers it as a sparse ANF and thereby compresses it, when
the feedback has low degree. The anf is a re-checkable witness (replay it with the seed).
Fields§
§order: usizeThe register length L — how many past bits the feedback reads.
degree: usizeThe ANF degree bound d the recovery used.
anf_terms: usizeThe number of active ANF coefficients — the description size, O(Lᵈ).
anf: Vec<bool>The recovered ANF over monomials(order, degree) — the witness (algebraic_generate replays it).
truth_table: usize2^order — the truth-table size maximal order complexity would need for the same register.
Trait Implementations§
Source§impl Clone for AlgebraicAttack
impl Clone for AlgebraicAttack
Source§fn clone(&self) -> AlgebraicAttack
fn clone(&self) -> AlgebraicAttack
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for AlgebraicAttack
impl Debug for AlgebraicAttack
Source§impl PartialEq for AlgebraicAttack
impl PartialEq for AlgebraicAttack
Source§fn eq(&self, other: &AlgebraicAttack) -> bool
fn eq(&self, other: &AlgebraicAttack) -> bool
self and other values to be equal, and is used by ==.