我知道如果你对由线性反馈移位寄存器生成的系列进行抽取,你会得到一个新的系列和一个新的多项式。例如,如果您使用多项式x 4 + x + 1对LFSR生成的序列中的每个第五个元素进行采样,则会得到x 2 + x +生成的序列1。我可以通过强力找到第二个多项式(x 2 + x + 1),这对于低阶多项式是很好的。但是,对于高阶多项式,暴力破坏它所需的时间是不合理的。
所以问题是:是否有可能通过分析方法找到抽取的多项式?
答案 0 :(得分:1)
最近看了这篇文章并在看到你的问题时想到了它,希望它有所帮助..:oÞ
给定GF(q)上的原始多项式,可以通过抽取从初始多项式获得的LFSR序列来获得另一个本原多项式。这在以下代码中进行了演示。
K:= GF(7); C:= PrimitivePolynomial(K,2); C; D ^ 2 + 6 * D + 3 为了生成LFSR序列,我们必须首先将该多项式乘以适当的常数,以使尾随系数变为1.
C:= C *系数(C,0)^ - 1; C; 5 * D ^ 2 + 2 * D + 1 我们现在能够生成长度为72-1的LFSR序列。初始状态可以是[0,0]以外的任何值。
t:= LFSRSequence(C,[K | 1,1],48); 吨; [1,1,0,2,3,5,3,4,5,5,3,3,1,4,1,6,4,4,0,1,5,6,5,2,6] ,6, 0,5,4,2,4,3,2,2,0,4,6,3,6,1,3,3,0,6,2,1,2,5] 我们用具有属性gcd(d,48)= 1的值d对序列进行抽取。
t:=抽取(t,1,5); 吨; [1,5,0,6,5,6,4,4,3,1,0,4,1,4,5,5,2,3,0,5,3,5,1,1,6] ,2, 0,1,2,1,3,3,4,6,0,3,6,3,2,2,5,4,0,2,4,2,6,6] B:= BerlekampMassey(t); B; 3 * D ^ 2 + 5 * D + 1 为了得到相应的本原多项式,我们乘以一个常数使其成为monic。
B:= B *系数(B,2)^ - 1; B; D ^ 2 + 4 * D + 5 IsPrimitive(B); 真
答案 1 :(得分:0)
来自these notes:“m序列c的n> 0的抽取,表示为c [n], 如果不是全零,则周期等于N / gcd(N,n) 序列,它的生成多项式g(x)具有第n个根 g(x)“
的根源