现代密码学第五讲(一):流密码 下载本文

基于移位寄存器的流密码算法

1969年B-M算法的出现,从此m-序列只能作为密钥生成器的一部分,而不能直接作为密钥流使用

?

?

给定长为N的序列a= (a0,a1,…,aN?1),用B-M算法可以得到( f N(x),lN),则以f N(x)为生成多项式,长为lN的LFSR是生成序列a的最短LFSR。

一旦给定了序列a,那么生成它的最短LFSR的长度lN就确定了。我们只需要捕获序列a连续的2lN个比特,就能得到它的唯一解( f N(x),lN),以f N(x)为特征多项式的lN级LFSR就可以生成整个序列a。

基于移位寄存器的流密码算法

为了提高密钥流序列的线性复杂度,密钥生成器重中必须使用非线性函数. 为了便于分析,Ruppe将密钥流生成器分成…………两部分:驱动部分和非线性组合部分.一般来说,驱动部分可由m-序列或其他长周期的LFSR序列组成,用于控制密钥流生成器的状态序列,并为非线性组合……部分提供伪随机性质良好的序列;非线性组合部分利用驱动部分生成的状态序列生成满足要求的密码特性好的密钥流序列.非线性┇┇?密钥流生成器机理符合Shannon的“扩散”和“混淆”两驱动部分组合部分条密码学的基本原则. 驱动部分利用LFSR将密钥k扩散成周期很大的状态序列,而状态序列与密钥k间的关系经非线性组合混淆后被隐蔽.?滤波生成器?钟控生成器

基于移位寄存器的流密码算法

滤波生成器又叫前馈生成器,一般由LFSR和滤波(前馈)函数两部分组成. LFSR可以是一个,也可以是几个,它们输出的序列共同作为滤波函数的输入.

LFSR…g(x)滤波函数要求具有很好的非线性性质,以增强生成器的抗攻击能力.

基于移位寄存器的流密码算法

Geffe序列发生器两个LFSR作为复合器的输人,第三个LFSR控制复合器的输出

?

LFSR-2复合器b(t)LFSR-3LFSR-1选择如果a1, a2, 和a3是三个LFSR的输出,则Geffe发生器的输出表示为:

b = (a1∧a2) ⊕(? a1∧a3)= (a1∧a2) ⊕( a1∧a3) ⊕a3