LFSR代数攻击

假设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来替代

相关推荐
gfdhy3 天前
【c++】哈希算法深度解析:实现、核心作用与工业级应用
c语言·开发语言·c++·算法·密码学·哈希算法·哈希
Tony Bai3 天前
Go 2025 密码学年度报告:后量子时代的防御与 FIPS 的“纯 Go”革命
开发语言·后端·golang·密码学
搬砖魁首10 天前
密码学系列 - 介绍几种不同的签名方案
密码学·签名·schnorr·ecdsa·eddsa
帅次14 天前
信息安全的容灾与业务持续&安全管理的措施
安全·网络安全·系统安全·密码学·网络攻击模型·安全威胁分析·安全架构
奔跑吧邓邓子18 天前
【C语言实战(78)】C语言进阶:筑牢数据安全防线,密码学实战探秘
c语言·密码学·数据安全·开发实战
passxgx18 天前
10.7 密码学中的线性代数
线性代数·密码学
麦烤楽鸡翅20 天前
幂数加密(攻防世界)
网络安全·密码学·ctf·crypto·解密·攻防世界·幂数加密
CyberSecurity_zhang20 天前
汽车信息安全--关于安全强度的误区
信息安全·汽车·密码学·安全强度
国服第二切图仔21 天前
Rust开发实战之密码学基础——哈希计算与对称加密实战
rust·密码学·哈希算法