m序列中的线性无关组
1、简介
在流密码的基础学习中,最重要的是理解线性反馈移位寄存器和二元序列的相关性质。这类知识与代数基础联系紧密,通常需要花大的精力认真理解线性序列的各种定理推论。这里讨论m序列的一个问题:设
a
1
,
a
2
,
⋯
,
a
n
a_{1},a_{2},\cdots,a_{n}
a1,a2,⋯,an是
N
N
N级
m
m
m序列的一个连续子列,则矩阵
A
=
[
a
1
a
2
⋯
a
n
a
2
a
3
⋯
a
n
+
1
⋮
⋮
⋮
⋮
a
n
a
n
+
1
⋯
a
2
n
−
1
]
A= \begin{bmatrix} a_{1} & a_{2} & \cdots & a_{n} \\ a_{2} & a_{3} & \cdots & a_{n+1}\\ \vdots & \vdots & \vdots & \vdots\\ a_{n} & a_{n+1} & \cdots & a_{2n-1} \end{bmatrix}
A=⎣⎢⎢⎢⎡a1a2⋮ana2a3⋮an+1⋯⋯⋮⋯anan+1⋮a2n−1⎦⎥⎥⎥⎤
的秩
R
(
A
)
R(A)
R(A)是多少?
这个问题比较复杂,是我在一次复习中偶然想到的问题,做了一些推导和证明。主体的思路是分类讨论,考虑 n > N 、 n = N n>N、n=N n>N、n=N和 n < N n<N n<N的情况。其中 n ≥ N n\ge N n≥N的情况讨论的比较清晰。
1.1 n = N n=N n=N–这是最简单的情况
由于
a
1
,
a
2
,
⋯
,
a
n
a_{1},a_{2},\cdots,a_{n}
a1,a2,⋯,an来自n级
m
m
m序列,我们知道
e
j
=
(
0
,
0
,
⋯
,
1
,
⋯
,
0
)
e_{j}=(0,0,\cdots,1,\cdots,0)
ej=(0,0,⋯,1,⋯,0)(第
j
j
j位是1)是
m
m
m序列的一个状态。则矩阵
M
=
[
1
1
∗
⋮
∗
∗
1
∗
∗
∗
]
n
×
n
M= \begin{bmatrix} & & & 1\\ & & 1& *\\ & \vdots &* &*\\ 1&* &* &* \end{bmatrix}_{n\times n}
M=⎣⎢⎢⎢⎡1⋮∗1∗∗1∗∗∗⎦⎥⎥⎥⎤n×n
是m序列一个周期中某
n
n
n个连续状态组成的矩阵,且
R
(
M
)
=
n
R(M)=n
R(M)=n。注意到,任意状态都可以由
e
n
e_{n}
en产生,即对于生成多项式
f
(
x
)
=
∑
i
=
1
n
c
i
x
n
−
i
f(x)=\sum_{i=1}^{n}c_{i}x^{n-i}
f(x)=∑i=1ncixn−i,后一状态
s
i
+
1
s_{i+1}
si+1与前一状态
s
i
s_{i}
si的关系是
s
i
+
1
=
s
i
[
0
0
⋯
0
c
n
1
0
⋯
0
c
n
−
1
0
1
⋯
0
c
n
−
2
⋮
⋮
⋮
⋮
⋮
0
0
⋯
1
c
1
]
s_{i+1}=s_{i}\begin{bmatrix} 0& 0&\cdots &0 &c_{n}\\ 1& 0&\cdots &0 &c_{n-1}\\ 0& 1&\cdots &0 &c_{n-2}\\ \vdots & \vdots&\vdots &\vdots &\vdots\\ 0& 0&\cdots &1 &c_{1} \end{bmatrix}
si+1=si⎣⎢⎢⎢⎢⎢⎡010⋮0001⋮0⋯⋯⋯⋮⋯000⋮1cncn−1cn−2⋮c1⎦⎥⎥⎥⎥⎥⎤
令系数矩阵是
K
K
K,则任意状态可以表示为
e
n
K
t
e_{n}K^{t}
enKt。那么对于任意连续状态组成的矩阵
A
A
A,有
M
K
t
=
A
MK^{t}=A
MKt=A
由于
R
(
M
)
=
n
,
R
(
K
)
=
n
R(M)=n,R(K)=n
R(M)=n,R(K)=n,所以
R
(
A
)
=
n
=
N
R(A)=n=N
R(A)=n=N.
1.2 n > N n>N n>N–这是最容易讨论的情况
由于是N级的 m m m序列,所以生成多项式是 N N N次多项式,当 n > N n>N n>N,看矩阵A的列秩,显然列之间存在线性关系,但是这 n n n列中任意连续N列是线性无关的(因为只看其中 N N N列时,就是1.1中的情况)。所以此时的秩为 R ( A ) = N R(A)=N R(A)=N
1.3 n < N n<N n<N
当 n < N n<N n<N时,矩阵A的秩不能确定,可能是满秩,也可能是不满秩。当 n ≤ N + 1 2 n\le \frac{N+1}{2} n≤2N+1即 2 n − 1 ≤ N 2n-1\le N 2n−1≤N时,构成这个矩阵的 2 n − 1 2n-1 2n−1个数可以任意选;当 N ≤ 2 n − 1 N\le2n-1 N≤2n−1时,矩阵A的后若干行与生成多项式有一定的关系,但是还没有证明此时矩阵A的秩有什么结论。
2、思考
1、抛开LFSR相关理论和m序列相关知识,是不是任意形如A的(有点像循环矩阵)矩阵都有类似结论。
2、m序列的任意左移仍然是m序列,但是其一个周期打乱后重排仍然是m序列吗?此时应该有什么样子的结论。