Geffe序列生成器及安全性

Geffe序列生成器

Geffe序列生成器由三个长度为L1,L2,L3的最长LFSR定义组成,其中L1,L2,L3两两互素其中LFSR2作为控制生成器使用。其非线性组合函数为:
f x 1 , x 2 , x 3 ) = x 1 x 2 x 2 x 3 x 3 f(x_1,x_2,x_3)=x_1x_2\oplus x_2x_3\oplus x_3
其密钥流周期为 (2L1-1) (2L2-1) (2L3-1)

线性复杂度为 L=L1L2+L2L3+L3

结构图为

在这里插入图片描述

+++

当LFSR2输出为1时,LFSR2与LFSR1相连接;当LFSR2输出0时,LFSR2与LFSR3相连接。若设LFSRi的输出序列为(a(i) k}(i=1,2,3),则输出序列(bk)可以表示为
b k = a k 1 a k 2 + a k 3 a k 1 = a k 1 a k 2 + a k 3 a k 2 + a k 3 b_k=a_k^1a_k^2+a_k^3\overline{a_k^1}=a_k^1a_k^2+a_k^3a_k^2+a_k^3

Geffe生成器是否能够抵御相关攻击?为什么?

Geffe生成器实际上认为是不够安全的。

虽然这个发生器从理论上来看似乎很好,但是实质上你是一个很弱的密码,不能够抵御相关的攻击。

这是因为发射器的输出有75%与LFSR1的时间系数相同。因此若已知LFSR的级数n1和各级的系数c1,c2,…,cn1,便能猜出LFSR1的初始值和寄存器所输出的序列,就可猜出LFSR2 的输出中与这个发射器的相同的次数。如果猜对了,这两个序列相同的概论就是75%,若猜错了,两个序列相同的概率为50%。

类似的 ,发射器输出与LFSR3的输出相等的概论为75%,有了这种相关性,密钥序列发生器很容易被破译。

例如,如果三个本原多项式都是三项,其中最大长度为n,那么仅需要37n的一段输出序列就能够重构这三个LFSR的内部状态。

发布了38 篇原创文章 · 获赞 11 · 访问量 3837

猜你喜欢

转载自blog.csdn.net/qq_43721475/article/details/104804496