一、承上启下
承接上篇文章,m序列虽然周期足够长可以产生足够优秀的密钥流,但是在已知明文攻击下是容易被破译的,所以由此需要再加入非线性序列来提高密钥流生成器输出二元序列(驱动序列)的复杂性,从而进一步满足下列三个条件:
- 周期尽可能大
- 线性复杂度高
- 不可预测性高
(Ps:线性复杂度的提高本质来源于其周期,所以要极大化其周期:
使用多个线性移位反馈寄存器(LFSR)构造二元序列,其输出序列的周期不大于各个驱动序列的乘积)
二、极大化周期工具:
1、非线性序列-Geffe序列生成器
(1)本质:多个LFSR构造驱动序列后进入复合器生成复合序列,如图:
- 这个发生器的周期是三个LFSR的周期的最小公倍数。
- 假设三个本源反馈多项式的阶数互素, 那么这个发生器的周期是三个LFSR的周期之积。
2、J-K触发器
Ck不仅依赖于输入,还依赖于前一个输出Ck-1