线性反馈移位寄存器

反馈移位寄存器

移位寄存器是流密码产生密钥流的一个主要组成部分。
GF(2)上一个n级反馈移位寄存器由n个二元寄存器与一个反馈函数f(a1,…,an)组成
在这里插入图片描述

  • a1到an占一个bit,都是一个寄存器
  • 工作方式:首先计算反馈函数,然后把a1输出,a2移到a1,an移到an-1,接着把反馈函数计算的值移到an,依次循环下去
  • 这些级的内容构成该反馈移位寄存器的状态,每一状态对应GF(2)上的一个n维向量,共有2n种,因为每个寄存器的内容只能是0或1
  • a1到an的初始状态由用户确定
  • 反馈函数f(a1,…,an)是布尔函数,自变量和因变量只取0和1

如图是一个3级反馈移位寄存器,其初始状态是(a1,a2,a3)=(1,0,1)
在这里插入图片描述
输出为:
在这里插入图片描述

线性反馈移位寄存器LFSR

线性反馈移位寄存器的反馈函数是一个线性函数

在这里插入图片描述
在这里插入图片描述

  • an和cn只能取0或者1
    输出序列满足:
    在这里插入图片描述
    下图是一个5级线性反馈移位寄存器,其初始状态为(a1,a2,a3,a4,a5)=(1,0,0,1,1)
    在这里插入图片描述
    我们可以计算出反馈函数:a5+t=a3+t+at,t=1,2,…
    a6=0

LFSR性质

  • c1,…,cn中至少有一个不为0,总是假定cn=1
  • 输出序列的周期=状态周期
  • 选择合适的反馈函数可使序列的周期达到最大值2n-1,周期达到最大值的序列称为m序列
发布了168 篇原创文章 · 获赞 14 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_41683305/article/details/104767548