简述线性反馈移位寄存器

反馈移位寄存器

移位寄存器是流密码产生密钥流的一个主要组成部分。GF(2)上一个n级反馈移位寄存器由n个二元存储器与一个反馈函数f(a1,a2,…,an)组成,如下图所示:
简述线性反馈移位寄存器_第1张图片
在任意时刻,这些级的内容构成该反馈移位寄存器的状态,每一状态对应于GF(2)上的一个n维向量,共有2的n次方种可能的状态。每一时刻的状态可用n维向量(a1,a2,…,an)表示,其中ai是第i级存储器的内容。
反馈函数初始状态由用户确定。反馈函数f(a1,a2,…,an)是n元布尔函数,即函数的自变量和因变量只取0和1这两个可能的值。函数中的运算有逻辑与、逻辑或、逻辑补等运算。

线性反馈移位寄存器LFSR(linear feedback shift register)

简述线性反馈移位寄存器_第2张图片
LFSR的反馈函数的一般形式为:在这里插入图片描述
线性反馈移位寄存器实现起来简单,速度快,而且有较为成功的理论,成为构造密钥流生成器的最重要的部件之一。
我们总是假定c1,c2,…,cn中至少有一个不为0,否则f(a1,a2,…,an)=0,总是假定cn=1。
LFSR的性质:

  • LFSR输出序列的性质:完全由其反馈函数确定
  • n级LFSR状态数:最多有(2^n)个
  • n级LFSR的状态周期:<=(2^n)-1
  • 输出序列的周期=状态周期,<=(2^n)-1

选择合适的反馈函数可使序列的周期达到最大值(2^n)-1,周期达到最大值的序列称为m序列

你可能感兴趣的:(密码学)