线性移位寄存器
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
思路:BCH码的译码中,从校验子求找错位多项 式的迭代算法。运用归纳法求出一系列线性移位 寄存器,使每一个线性移位寄存器都产生该序列 的前n项,从而使最后得到的线性移位寄存器是 产生所给N长的二元序列的最短线性移位寄存器
密码学补充:线性反馈移位寄存器
19
Berlekamp-Massey算法
已知序列a = (a0,a1,a2,…,an-1) a的线性复杂度是最短的能够产生a的LFSR a的连接多项式形如f(x) = c0 + c1x + c2x2 + …
密码学补充:线性反馈移位寄存器
6
密码学补充:线性反馈移位寄存器
7
举例 LFSR
移位寄存器-3
则对于所有的i,xi+4 = xi xi+2 若初态 (x0,x1,x2,x3,x4) = 01110
则 (x0,x1,…,x15,…) = 0111010100001001… 对于这种LFSR,线性反馈函数通常写成多项式形态:
注:如果该算法不是在计算机上进行,则计算起点不必从<f0(x),l0>开始,而从序列中第一个不为零元素an0的标号n0开始 密码学补充:线性反馈移位寄存器 当有m(0 m n)使lm lm+1=lm+2=…=ln,则fn+1(x)=fn(x)+xn-mfm(x), ln+1=max{ln, n+1-ln} 密码学补充:线性反馈移位寄存器 密码学补充:线性反馈移位寄存器 密码学补充:线性反馈移位寄存器 密码学补充:线性反馈移位寄存器 Berlekamp-Massey算法 密码学补充:线性反馈移位寄存器 密码学补充:线性反馈移位寄存器 Berlekamp-Massey算法 思路:BCH码的译码中,从校验子求找错位多项式的迭代算法。 注:如果该算法不是在计算机上进行,则计算起点不必从<f0(x),l0>开始,而从序列中第一个不为零元素an0的标号n0开始 密码学补充:线性反馈移位寄存器 再计算:dn=c0(n)an+c1(n)an-1+cln(n)an-ln,称为第n步的差值。 密码学补充:线性反馈移位寄存器
中的向量
密码学补充:线性反馈移位寄存器
15
作业
写出下列LFSR的所有可能的输出,指出其 周期
密码学补充:线性反馈移位寄存器
16
序列的生成函数
给定序列s0, s1, s2, … 生成函数
G(x) = s0+s1x+s2x2+ s3x3+ …= Σ si xi
密码学补充:线性反馈移位寄存器
17
LFSR 输出序列的特点
LFSR 的输出由特征多项式唯一确定 对于给定的多项式,有2n个不同的寄存器的
初态,包括全零
生成最大长度序列的多项式一定是本原的
本原多项式的输出是遍历的,全零除外
密码学补充:线性反馈移位寄存器
18
LFSR 的综合
问题提出:对于长度为N的二元序列,求出产生 这一序列的技术最小的LFSR ,即最短的线性移 位寄存器的特征多项式
求m:lm<lm+1=…=ln
是
fn+1(x)=1+xn+1
ln+1=n+1
fn+1(x)=fn(x)+xn-mfm(x) ln+1=max{ln,n+1-ln}
算法流程
n<N-1?
是
否
输出 密码学补充:线性反馈移位寄存器
23
N=7,
梅森算法举例
密码学补充:线性反馈移位寄存器
24
序列的线性等价量
x4 + x2 + 1
也称为LFSR的连接多项式 密码学补充:线性反馈移位寄存器
8
移位寄存器-4
可以把密钥作为初态使用,例如
如果初态是1001, 生成的序列就是 1001101011110001001…
15 bits (24-1)之后开始重复
密码学补充:线性反馈移究
注:如果该算法不是在计算机上进行,则计算
起点不必从<f0(x),l0>开始,而从序列中第一个
不为零元素an0的密码标学补充号:线n性0反开馈移始位寄存器
22
读入N;a0,…,aN-1
0n;f0(x)=1;l0=0
计算dn
fn+1(x)=fn(x) ln+1= ln
n+1n
是 dn=0? 否
l0=l1=…=ln=0? 否
密码学补充:线性反馈移位寄存器
10
移位寄存器-6 周期研究
密码学补充:线性反馈移位寄存器
11
举例-1
密码学补充:线性反馈移位寄存器
12
举例-2
密码学补充:线性反馈移位寄存器
13
一般移位寄存器
密码学补充:线性反馈移位寄存器
14
多项式表示
f(x)的集合 记为Ω(f) :
|Ω(f)|=2n Ω(f)是{0,1}
密码学补充:线性反馈移位寄存器
3
实例-1
密码学补充:线性反馈移位寄存器
4
实例-2
密码学补充:线性反馈移位寄存器
5
移位寄存器-2
举例 (非线性) 反馈函数
f(xi, xi+1, xi+2) = 1 xi xi+2 xi+1xi+2
(非线性) 移位寄存器
前3 bits是初态: (x0, x1, x2)
+ cLxL Berlekamp-Massey算法可以求得f(x)
密码学补充:线性反馈移位寄存器
20
Berlekamp-Massey算法
设:0级LFSR 是以f(x)=1的LFSR ,n=1,2,…N的 零级LFSR由且仅由f(x)=1产生,ak=0, k=0,1,2,…n1
对n按归纳法定义序列:<fn(x),ln>, n=1,2,…N
取初值f0(x)=1,l0=0
设<fi(x),li>, i=0,1,2,…n(0 n N)均已求得(l0 l1l2
… ln )。记fn(x)=c0(n)+c1(n)x+…+clnxln, c0(n)=1。再
计算:dn=c0(n)an+c1(n)an-1+cln(n)an-ln,称为第n步的
差值。分两种情况 密码学补充:线性反馈移位寄存器
线性移位寄存器
密码学补充:线性反馈移位寄存器
1
主要内容
移位寄存器 线性移位寄存器的综合 线性等价量的概念
密码学补充:线性反馈移位寄存器
2
移位寄存器-1
传统的,流密码基于移位寄存器,如今也 有更广泛的各类设计方法
移位寄存器包括
级,每级有1个比特 反馈函数
线性反馈移位寄存器(LFSR)的反馈函数是 线性的
定义:能产生该序列的线性移位寄存器的 最小长度
多项式及其解空间的关系
极小特征多项式的唯一性
极小特征多项式的次数称为其线性等价量 或递归长度
线性等价量相同的序列,周期为多少?
密码学补充:线性反馈移位寄存器
25
21
Berlekamp-Massey算法(cntd)
若dn=0,则令:fn+1(x)=fn(x),ln+1=ln
若dn=1,则区分
L0=l1=…=ln=0时,取: fn+1(x)=1+xn+1,ln+1=n+1
当有m(0m n)使lmlm+1=lm+2=…=ln,则 fn+1(x)=fn(x)+xn-mfm(x), ln+1=max{ln, n+1-ln}
密码学补充:线性反馈移位寄存器
19
Berlekamp-Massey算法
已知序列a = (a0,a1,a2,…,an-1) a的线性复杂度是最短的能够产生a的LFSR a的连接多项式形如f(x) = c0 + c1x + c2x2 + …
密码学补充:线性反馈移位寄存器
6
密码学补充:线性反馈移位寄存器
7
举例 LFSR
移位寄存器-3
则对于所有的i,xi+4 = xi xi+2 若初态 (x0,x1,x2,x3,x4) = 01110
则 (x0,x1,…,x15,…) = 0111010100001001… 对于这种LFSR,线性反馈函数通常写成多项式形态:
注:如果该算法不是在计算机上进行,则计算起点不必从<f0(x),l0>开始,而从序列中第一个不为零元素an0的标号n0开始 密码学补充:线性反馈移位寄存器 当有m(0 m n)使lm lm+1=lm+2=…=ln,则fn+1(x)=fn(x)+xn-mfm(x), ln+1=max{ln, n+1-ln} 密码学补充:线性反馈移位寄存器 密码学补充:线性反馈移位寄存器 密码学补充:线性反馈移位寄存器 密码学补充:线性反馈移位寄存器 Berlekamp-Massey算法 密码学补充:线性反馈移位寄存器 密码学补充:线性反馈移位寄存器 Berlekamp-Massey算法 思路:BCH码的译码中,从校验子求找错位多项式的迭代算法。 注:如果该算法不是在计算机上进行,则计算起点不必从<f0(x),l0>开始,而从序列中第一个不为零元素an0的标号n0开始 密码学补充:线性反馈移位寄存器 再计算:dn=c0(n)an+c1(n)an-1+cln(n)an-ln,称为第n步的差值。 密码学补充:线性反馈移位寄存器
中的向量
密码学补充:线性反馈移位寄存器
15
作业
写出下列LFSR的所有可能的输出,指出其 周期
密码学补充:线性反馈移位寄存器
16
序列的生成函数
给定序列s0, s1, s2, … 生成函数
G(x) = s0+s1x+s2x2+ s3x3+ …= Σ si xi
密码学补充:线性反馈移位寄存器
17
LFSR 输出序列的特点
LFSR 的输出由特征多项式唯一确定 对于给定的多项式,有2n个不同的寄存器的
初态,包括全零
生成最大长度序列的多项式一定是本原的
本原多项式的输出是遍历的,全零除外
密码学补充:线性反馈移位寄存器
18
LFSR 的综合
问题提出:对于长度为N的二元序列,求出产生 这一序列的技术最小的LFSR ,即最短的线性移 位寄存器的特征多项式
求m:lm<lm+1=…=ln
是
fn+1(x)=1+xn+1
ln+1=n+1
fn+1(x)=fn(x)+xn-mfm(x) ln+1=max{ln,n+1-ln}
算法流程
n<N-1?
是
否
输出 密码学补充:线性反馈移位寄存器
23
N=7,
梅森算法举例
密码学补充:线性反馈移位寄存器
24
序列的线性等价量
x4 + x2 + 1
也称为LFSR的连接多项式 密码学补充:线性反馈移位寄存器
8
移位寄存器-4
可以把密钥作为初态使用,例如
如果初态是1001, 生成的序列就是 1001101011110001001…
15 bits (24-1)之后开始重复
密码学补充:线性反馈移究
注:如果该算法不是在计算机上进行,则计算
起点不必从<f0(x),l0>开始,而从序列中第一个
不为零元素an0的密码标学补充号:线n性0反开馈移始位寄存器
22
读入N;a0,…,aN-1
0n;f0(x)=1;l0=0
计算dn
fn+1(x)=fn(x) ln+1= ln
n+1n
是 dn=0? 否
l0=l1=…=ln=0? 否
密码学补充:线性反馈移位寄存器
10
移位寄存器-6 周期研究
密码学补充:线性反馈移位寄存器
11
举例-1
密码学补充:线性反馈移位寄存器
12
举例-2
密码学补充:线性反馈移位寄存器
13
一般移位寄存器
密码学补充:线性反馈移位寄存器
14
多项式表示
f(x)的集合 记为Ω(f) :
|Ω(f)|=2n Ω(f)是{0,1}
密码学补充:线性反馈移位寄存器
3
实例-1
密码学补充:线性反馈移位寄存器
4
实例-2
密码学补充:线性反馈移位寄存器
5
移位寄存器-2
举例 (非线性) 反馈函数
f(xi, xi+1, xi+2) = 1 xi xi+2 xi+1xi+2
(非线性) 移位寄存器
前3 bits是初态: (x0, x1, x2)
+ cLxL Berlekamp-Massey算法可以求得f(x)
密码学补充:线性反馈移位寄存器
20
Berlekamp-Massey算法
设:0级LFSR 是以f(x)=1的LFSR ,n=1,2,…N的 零级LFSR由且仅由f(x)=1产生,ak=0, k=0,1,2,…n1
对n按归纳法定义序列:<fn(x),ln>, n=1,2,…N
取初值f0(x)=1,l0=0
设<fi(x),li>, i=0,1,2,…n(0 n N)均已求得(l0 l1l2
… ln )。记fn(x)=c0(n)+c1(n)x+…+clnxln, c0(n)=1。再
计算:dn=c0(n)an+c1(n)an-1+cln(n)an-ln,称为第n步的
差值。分两种情况 密码学补充:线性反馈移位寄存器
线性移位寄存器
密码学补充:线性反馈移位寄存器
1
主要内容
移位寄存器 线性移位寄存器的综合 线性等价量的概念
密码学补充:线性反馈移位寄存器
2
移位寄存器-1
传统的,流密码基于移位寄存器,如今也 有更广泛的各类设计方法
移位寄存器包括
级,每级有1个比特 反馈函数
线性反馈移位寄存器(LFSR)的反馈函数是 线性的
定义:能产生该序列的线性移位寄存器的 最小长度
多项式及其解空间的关系
极小特征多项式的唯一性
极小特征多项式的次数称为其线性等价量 或递归长度
线性等价量相同的序列,周期为多少?
密码学补充:线性反馈移位寄存器
25
21
Berlekamp-Massey算法(cntd)
若dn=0,则令:fn+1(x)=fn(x),ln+1=ln
若dn=1,则区分
L0=l1=…=ln=0时,取: fn+1(x)=1+xn+1,ln+1=n+1
当有m(0m n)使lmlm+1=lm+2=…=ln,则 fn+1(x)=fn(x)+xn-mfm(x), ln+1=max{ln, n+1-ln}