AskSia
Plus
一个3级的LFSR的初始状态为100,其反馈函数为f( )=b2 xor b3,求其LFSR的输出序列,并判断其输出序列的周期
Dec 19, 2024
一个3级的LFSR的初始状态为100,其反馈函数为f( )=b2 xor b3,求其LFSR的输出序列,并判断其输出序列的周期
Solution by Steps
step 1
设定LFSR的初始状态为100,反馈函数为
f
(
b
2
,
b
3
)
=
b
2
⊕
b
3
f(b_2, b_3) = b_2 \oplus b_3
f
(
b
2
,
b
3
)
=
b
2
⊕
b
3
。
step 2
根据反馈函数,计算下一个输出位:
b
0
=
b
2
⊕
b
3
=
0
⊕
0
=
0
b_0 = b_2 \oplus b_3 = 0 \oplus 0 = 0
b
0
=
b
2
⊕
b
3
=
0
⊕
0
=
0
。
step 3
更新状态为
000
000
000
,计算下一个输出位:
b
0
=
b
2
⊕
b
3
=
0
⊕
0
=
0
b_0 = b_2 \oplus b_3 = 0 \oplus 0 = 0
b
0
=
b
2
⊕
b
3
=
0
⊕
0
=
0
。
step 4
更新状态为
000
000
000
,继续计算,发现输出序列为
100
,
000
100, 000
100
,
000
,并且状态不再变化。
step 5
输出序列为
100
,
000
100, 000
100
,
000
,周期为2。
Answer
输出序列为100, 000,周期为2
Key Concept
LFSR(线性反馈移位寄存器)用于生成伪随机序列,其输出依赖于初始状态和反馈函数。
Explanation
在此例中,初始状态和反馈函数导致输出序列迅速进入循环,形成周期为2的序列。
次数n=6的多项式中,有多少个本原多项式存在?
Solution by Steps
step 1
设定次数为
n
=
6
n=6
n
=
6
的多项式的本原多项式的数量为
2
n
−
1
=
2
6
−
1
=
2
5
2^{n-1} = 2^{6-1} = 2^5
2
n
−
1
=
2
6
−
1
=
2
5
。
step 2
计算
2
5
=
32
2^5 = 32
2
5
=
32
,因此次数为6的本原多项式的数量为32。
Answer
32
Key Concept
本原多项式是指在给定次数下,无法被其他多项式整除的多项式。
Explanation
次数为6的多项式中存在32个本原多项式,这些多项式在代数结构中具有重要的性质。
一个4级的LFSR是以生成多项式G(x)=x^4+x+1来构造反馈函数。请判断G(x)是否是本原多项式,以G(x)构造的LFSR的反馈函数是什么? 若该4级的LFSR的初始状态为1001,求其输出序列,并指出其输出的密钥流是不是m序列。
Solution by Steps
step 1
首先,判断生成多项式
G
(
x
)
=
x
4
+
x
+
1
G(x) = x^4 + x + 1
G
(
x
)
=
x
4
+
x
+
1
是否是本原多项式。对于4级LFSR,本原多项式的条件是其阶数为4且其根在有限域内是不可约的。经过检查,
G
(
x
)
G(x)
G
(
x
)
是不可约的,因此是本原多项式。
step 2
以
G
(
x
)
G(x)
G
(
x
)
构造的LFSR的反馈函数为
f
(
b
4
,
b
3
,
b
2
,
b
1
)
=
b
4
⊕
b
1
f(b_4, b_3, b_2, b_1) = b_4 \oplus b_1
f
(
b
4
,
b
3
,
b
2
,
b
1
)
=
b
4
⊕
b
1
,其中
⊕
\oplus
⊕
表示异或操作。
step 3
初始状态为
1001
1001
1001
,计算输出序列。根据反馈函数,计算下一个输出位:
b
0
=
b
4
⊕
b
1
=
1
⊕
1
=
0
b_0 = b_4 \oplus b_1 = 1 \oplus 1 = 0
b
0
=
b
4
⊕
b
1
=
1
⊕
1
=
0
。更新状态为
0001
0001
0001
。
step 4
继续计算下一个输出位:
b
0
=
b
4
⊕
b
1
=
0
⊕
1
=
1
b_0 = b_4 \oplus b_1 = 0 \oplus 1 = 1
b
0
=
b
4
⊕
b
1
=
0
⊕
1
=
1
,更新状态为
0010
0010
0010
。
step 5
继续计算:
b
0
=
b
4
⊕
b
1
=
0
⊕
0
=
0
b_0 = b_4 \oplus b_1 = 0 \oplus 0 = 0
b
0
=
b
4
⊕
b
1
=
0
⊕
0
=
0
,更新状态为
0100
0100
0100
。
step 6
继续计算:
b
0
=
b
4
⊕
b
1
=
0
⊕
0
=
0
b_0 = b_4 \oplus b_1 = 0 \oplus 0 = 0
b
0
=
b
4
⊕
b
1
=
0
⊕
0
=
0
,更新状态为
1000
1000
1000
。
step 7
继续计算:
b
0
=
b
4
⊕
b
1
=
1
⊕
0
=
1
b_0 = b_4 \oplus b_1 = 1 \oplus 0 = 1
b
0
=
b
4
⊕
b
1
=
1
⊕
0
=
1
,更新状态为
0001
0001
0001
。
step 8
观察到状态
0001
0001
0001
已经出现,输出序列为
1001
,
0110
,
1100
,
1000
,
0001
,
0010
,
0100
,
1000
1001, 0110, 1100, 1000, 0001, 0010, 0100, 1000
1001
,
0110
,
1100
,
1000
,
0001
,
0010
,
0100
,
1000
,周期为8。
step 9
由于输出序列的周期为8,且该序列的长度为
2
4
−
1
=
15
2^4 - 1 = 15
2
4
−
1
=
15
,因此该输出序列不是m序列。
Answer
G
(
x
)
G(x)
G
(
x
)
是本原多项式,反馈函数为
f
(
b
4
,
b
3
,
b
2
,
b
1
)
=
b
4
⊕
b
1
f(b_4, b_3, b_2, b_1) = b_4 \oplus b_1
f
(
b
4
,
b
3
,
b
2
,
b
1
)
=
b
4
⊕
b
1
,输出序列为
1001
,
0110
,
1100
,
1000
,
0001
,
0010
,
0100
,
1000
1001, 0110, 1100, 1000, 0001, 0010, 0100, 1000
1001
,
0110
,
1100
,
1000
,
0001
,
0010
,
0100
,
1000
,周期为8,输出的密钥流不是m序列。
Key Concept
本原多项式和LFSR的反馈函数
Explanation
本原多项式是不可约的多项式,LFSR的反馈函数决定了状态的更新,输出序列的周期性影响其是否为m序列。
Continue to AskSia
© 2023 AskSia.AI all rights reserved
Terms of use
Privacy Policy