假设LFSR**(线性反馈移位寄存器)** ,长度:L=3
由 3个寄存器组成,记为 s₀, s₁, s₂ , 初始密钥 Key:k ₀**, k** ₁**, k**₂,s₂=s₀+s₁

为了防止直接被破解,设计者在 LFSR 后面加了一个2 次非线性函数:
f(s₀, s₁, s₂) = s₀*s₁ (二次)
作为黑客,我们截获了前 3 位密钥流输出: Z = (1, 0, 1)
(1) 寻找零化子:我们要找一个 g,使得 f * g = = 0
g(s)=1+s₀
利用这个**零化子,只要f=1,g一定为0,**s₀一定为1
(2)建立方程组
t = 0:
截获z₀=1,即f=1
利用零化子**,** s₀=1,k₀=1
t = 1:
截获z₁=0,无法利用零化子
此时,k₁k₂=0
t = 2:
截获z₂=1,s₀=1,k₂=1
最后,我们带入k₁k₂=0,k₁=0。所以,K = (1, 0, 1)
代数攻击的巧妙之处在于,它并不直接求解原始的高次方程组f,而是寻找一个次数更低的方程组g来替代