1. 反馈移位寄存器(Feedback shift register,FSR)
GF(2)上一个 n 级反馈移位寄存器由 n 个二元存储器与一个反馈函数 组成,如下图所示。
反馈移位寄存器的例子
如图是一个 3 级反馈移位寄存器,其初始状态为,输入可由右表给出。
a3=a1&a2⊕a3 | a2 | a1 | 输入 |
---|---|---|---|
1 | 0 | 1 | 1 |
1&0⊕1=1 | 1 | 0 | 0 |
0&1⊕1=1 | 1 | 1 | 1 |
1&1⊕1=0 | 1 | 1 | 1 |
1&1⊕0=1 | 0 | 1 | 1 |
1&0⊕1=1 | 1 | 0 | 0 |
2. 线性反馈移位寄存器 LFSR(linear feedback shift register)
LFSR 的反馈函数
LFSR 的实例
反馈函数为:将 a1 的输入和 a4 的输入进行异或运算,值作为 a5 的填充。
a5=a1⊕a4 | a4 | a3 | a2 | a1 | 输入 |
---|---|---|---|---|---|
1 | 1 | 0 | 0 | 1 | 1 |
1⊕1=0 | 1 | 1 | 0 | 0 | 0 |
0⊕1=1 | 0 | 1 | 1 | 0 | 0 |
0⊕0=0 | 1 | 0 | 1 | 1 | 1 |
1⊕1=0 | 0 | 1 | 0 | 1 | 1 |
1⊕0=1 | 0 | 0 | 1 | 0 | 0 |
0⊕0=0 | 1 | 0 | 0 | 1 | 1 |
秘钥流的周期
LFSR 的性质