Geffe序列生成器
Geffe序列生成器由三个长度为L1,L2,L3的最长LFSR定义组成,其中L1,L2,L3两两互素其中LFSR2作为控制生成器使用。其非线性组合函数为:
其密钥流周期为 (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)可以表示为
Geffe生成器是否能够抵御相关攻击?为什么?
Geffe生成器实际上认为是不够安全的。
虽然这个发生器从理论上来看似乎很好,但是实质上你是一个很弱的密码,不能够抵御相关的攻击。
这是因为发射器的输出有75%与LFSR1的时间系数相同。因此若已知LFSR的级数n1和各级的系数c1,c2,…,cn1,便能猜出LFSR1的初始值和寄存器所输出的序列,就可猜出LFSR2 的输出中与这个发射器的相同的次数。如果猜对了,这两个序列相同的概论就是75%,若猜错了,两个序列相同的概率为50%。
类似的 ,发射器输出与LFSR3的输出相等的概论为75%,有了这种相关性,密钥序列发生器很容易被破译。
例如,如果三个本原多项式都是三项,其中最大长度为n,那么仅需要37n的一段输出序列就能够重构这三个LFSR的内部状态。