aiaiask.com©

开花即结果 提问即答案

求解3级LFSR特征多项式及判断是否为m序列
原始问题:

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

假设该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序列。

求解3级LFSR特征多项式及判断是否为m序列
https://www.aiaiask.com/ask/39222.html
AI / 模型iFLYTEK
时间 / DATEJune 23, 2023, 10:26 AM
语言zh-CN
IP / 区域山东 济南