背包生成器的密码分析
1. 引言
背包生成器由Rueppel和Massey于1985年提出,是一种基于线性反馈移位寄存器(LFSR)的新型流密码构造。其输出序列接近最大线性复杂度,且与背包问题相关,显示出较强的安全性。
设$w_0, \cdots, w_{n - 1}$为$n$个$k$位整数,$u_0, u_1, \cdots$是由$F_2$上阶为$n$的LFSR生成的比特序列。在第$i$步,背包生成器计算:
$v_i = \sum_{j = 0}^{n - 1} u_{i + j} w_j \mod 2^k$
丢弃$v_i$的$\ell$个最低有效位,输出剩余的$k - \ell$位作为密钥流的一部分。我们称$u_0, u_1, \cdots$为控制位,$v_i$为第$i$个和,$w_0, \cdots, w_{n - 1}$为生成器的权重。整个生成器由$n(2 + k)$位定义:$n$位用于LFSR的连接多项式,$n$位用于初始控制位(对应LFSR的初始状态),$kn$位用于权重。为使控制序列达到最大周期,连接多项式应为本原多项式,通常将其视为公共参数,剩余的$n(1 + k)$位构成生成器的密钥。例如,当$n = k = 64$时,密钥长度为4160位。
该生成器解决了基于LFSR的密码系统设计中的一个主要问题,即打破LFSR的线性性。它通过模$2^k$的整数加法实现,这在$F_2^k$上是高度非线性的操作。与非线性布尔过滤和组合函数相比,它避免了高线性复杂度和高相关性免疫之间的权衡。此外,Rueppel还引入了求和生成器来避免这种权衡,但该生成器易受相关攻击、代数攻击和基于带进位反馈移位寄存器的攻击。相比之下,关于背包生成器的密码分析工作较少,它抵抗了
超级会员免费看
订阅专栏 解锁全文
35

被折叠的 条评论
为什么被折叠?



