m-序列简述及其相关性质

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

线性移位寄存器的一元多项式表示

设n级线性移位寄存器的输出序列满足递推关系
在这里插入图片描述
用延迟算子D(Dak=ak-1)作为未定元,给出的反馈多项式为:
在这里插入图片描述
这种递推关系可用一个一元高次多项式
在这里插入图片描述
表示,称这个多项式为LFSR的特征多项式
根据初始状态的不同,由递推关系生成的非恒零的序列有2n-1个,记这2n-1个非零序列的全体为G(p(x))。
给定序列{ai},幂级数
m-序列简述及其相关性质_第1张图片
称为该序列的生成函数。生成函数满足:
m-序列简述及其相关性质_第2张图片

不可约多项式

设p(x)是n次不可约多项式,周期为m,序列{ai}属于G(p(x)),则{ai}的周期为m。

m-序列产生的必要条件

n级LFSR产生的序列有最大周期2n-1的必要条件是其特征多项式为不可约的。
m序列满足Golomb的3个随机性公设,所以m序列有伪随机性。

m序列的安全性

寻找m序列的递推关系式
已知一段序列,如果知道其反馈多项式,就可以将其后的序列依次求出。
已知序列获得相应的反馈多项式有两种方法:

  • 解方程法——已知序列{a}是由n级线性移位寄存器产生的,并且知道{a}的连续2n位,可用解线性方程组的方法得到反馈多项式
  • 线性反馈移位寄存器综合解——Berlekamp-Massey算法

根据密码学的需要,对线性反馈移位寄存器(LFSR)主要考虑下面两个问题:
(1)如何利用级数尽可能短的LFSR产生周期大、随即性能良好的序列。
(2)已知一个长为N的序列a时,如何构造一个级数尽可能小的LFSR来产生它。
如果f(x)是一个能产生a并且级数最小的线性移位寄存器的特征多项式,l是该移位寄存器的级数,则称为序列a的线性综合解。
给定一个N长二元序列a,求能产生a并且级数最小的线性移位寄存器,就是求a的线性综合解,我们可以利用B-M算法有效的求出。
在实际生活中,单一的使用线性反馈移位寄存器作为密钥流生成器很容易通过方法分析出来,所以在实际应用当中是使用多个线性反馈移位寄存器作为密钥流的驱动部分。

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