qcode
  • 创作工场专业版,一问多答!更智能、更完整、更原创
  • 这是一个超强内容创作平台,它会写文章、做设计、绘图、敲代码,有问必答!
🔥点击使用-免登录深度版🔥

求解3级LFSR特征多项式及判断是否为m序列

时间2023-06-23 10:26:18 提问来自 山东省济南市 的网友 分类创作 浏览425
假设该3级线性反馈移位寄存器的状态为$(s_1, s_2, s_3)$,则其输出的密钥流为$s_1 \oplus s_2 \oplus s_3$。根据已知的明文流和密文流,可以列出以下方程组: $$ \begin{cases} s_1 \oplus s_2 = 1 \\ s_2 \oplus s_3 = 1 \\ s_1 \oplus s_3 = 0 \\ \end{cases} $$ 通过解方程组,可以得到$s_1=1, s_2=0, s_3=1$。因此,该线性反馈移位寄存器的初始状态为$(1,0,1)$。 接下来,可以通过反推特征多项式来判断该线性反馈移位寄存器是否为m序列。假设特征多项式为$f(x)=x^3+a_2x^2+a_1x+a_0$,则其对应的状态转移方程为: $$ s_i = s_{i-3} \oplus a_0s_{i-1} \oplus a_1s_{i-2} \oplus a_2s_{i-3} $$ 将初始状态代入状态转移方程,可以得到该线性反馈移位寄存器的输出序列为: $$ 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, \dots $$ 通过观察输出序列,可以发现其周期为7,而不是$2^3-1=7$,因此该线性反馈移位寄存器不是m序列。 最后,可以通过已知的初始状态和状态转移方程,求解特征多项式。将输出序列转化为二进制数列,可以得到: $$ 10111001011100011011\dots $$ 将其转化为十进制数列,可以得到: $$ \begin{aligned} & 1, 2, 5, 7, 15, 14, 12, 25, 18, 37, 43, 86, 77, 56, 113, 210, \\ & 181, 98, 197, 391, 782, 781, 563, 1127, 2194, 2195, \dots \end{aligned} $$ 根据线性反馈移位寄存器的特性,其输出序列的特征多项式为其输出序列的最小多项式。因此,可以使用Berlekamp-Massey算法求解最小多项式。经过计算,可以得到特征多项式为: $$ f(x) = x^3 + x^2 + 1 $$ 因此,该线性反馈移位寄存器的特征多项式为$x^3+x^2+1$,不是m序列。

不满意?免费深度重写!

免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。

上一篇 有什么二本计算机专业学校 下一篇 发条橙 A Clockwork Orange影评