第十四讲 & 第十五讲 非线性序列(Geffe序列生成器、J-K触发器、Pless生成器、钟控序列生成器)
目录
钥流生成器可分解为驱动子系统和非线性组合子系统, 如图所示
- 驱动子系统常用一个或多个线性反馈移位寄存器来实现
- 非线性组合子系统用非线性组合函数F来实现
- 为了使**流生成器输出的二元序列尽可能复杂,也应保证其周期尽可能大、线性复杂度和不可预测性尽可能高
1 Geffe序列生成器
Geffe序列生成器由3个LFSR组成,其中LFSR2作为控制生成器使用, 如图所示
- 当LFSR2输出1时,LFSR2与LFSR1相连接
- 当LFSR2输出0时,LFSR2与LFSR3相连接
若设LFSRi的输出序列为{ } (i=1,2,3), 则输出序列{
}可以表示为
设的特征多项式分别为
次本 原多项式,且
两两互素
Geffe序列的周期实现了极大化, 且0与1之间的分布大体上是平衡的。
2 J-K触发器
J-K触发器如图所示,它的两个输入端分别用J和K表示,其输出不仅依赖 于输入,还依赖于前一个输出位
,即
其中x1和x2分别是J和K端的输入。由此可得J-K触发器的真值表,如下表所示
利用J-K触发器的非线性序列生成器
利用J-K触发器的非线性序列生成器的实例
弱点
3 Pless生成器
Pless生成器由8个LFSR、4个J-K触发器和1个循环计数器构成,由循环计数器进行选通控制,如图所示。
4 钟控序列生成器
钟控序列最基本的模型是用一个LFSR控制另外一个LFSR的移位时钟脉冲, 如图所示,一个最简单钟控序列生成器
- 假设LFSR1和LFSR2分别输出序列{
}和{
},其周期分别为p1和p2。
- 当LFSR1输出1时,移位时钟脉冲通过与门使LFSR2进行一次移位,从而 生成下一位。
- 当LFSR1输出0时,移位时钟脉冲无法通过与门影响LFSR2。因此LFSR2 重复输出前一位。
钟控序列的周期
钟控序列的线性复杂度
钟控序列的例子