反馈移位寄存器
移位寄存器是流密码产生密钥流的一个主要组成部分。
GF(2)上一个n级反馈移位寄存器由n个二元存储器与一个反馈函数 f(a1,a2,…,an)组成,如下图所示。
- 反馈移位寄存器的状态
在任一时刻,这些级的内容构成该反馈移位寄存器的状态,每一状态对应于GF(2)上的一个n维向量,共有2n种可能的状态。
每一时刻的状态可用n维向量 (a1,a2,…,an) 表示,其中ai是第i级存储器的内容。
- 反馈函数
初始状态由用户确定。 反馈函数f(a1,a2,…,an)是n元布尔函数,即函数的自变量和因变量只取0和1这两个可能的值。
函数中的运算有逻辑与、逻辑或、逻辑补等运算。
- 反馈移位寄存器的例子
线性反馈移位寄存器LFSR(linear feedback shift register)
线性反馈移位寄存器(linear feedback shift register, LFSR)是指,给定前一状态的输出,将该输出的线性函数再用作输入的移位寄存器。异或运算是最常见的单比特线性函数:对寄存器的某些位进行异或操作后作为输入,再对寄存器中的各比特进行整体移位。
线性反馈移位寄存器:实现简单、速度快、有较为成熟的理论,成为构造密钥流生成器的最重要的部件之一。
- LFSR的性质