1 / 12
文档名称:

现在密码学讲bm算法(1).ppt

格式:ppt   大小:318KB   页数:12页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

现在密码学讲bm算法(1).ppt

上传人:相惜 2021/4/14 文件大小:318 KB

下载得到文件列表

现在密码学讲bm算法(1).ppt

文档介绍

文档介绍:B-M 算 法
整理ppt
1
线性移存器
(一)解方程法
已知序列a是由n级线性移存器产生的,且知a的连续2n位,可用解线性方程组的方法得到线性递推式。
例:设a=01111000是4级线性移存器产生的序列的8个连续信号,求该移存器的线性递推式。
整理ppt
2
解:产生 a=01111000……的联系 多项式
设其联结多项式f(x)=1+c1x+c2x2+c3x3+x4
线性递推式at=at-4+c3at-3+c2at-2+c1at-1
0+c3+c2+c1=1
1+c3+c2+c1=0
1+c3+c2+0=0
1+c3+0+0=0
解得:c3=1;c2=0;c1=0
故其联结多项式为1+x3+x4
整理ppt
3
(二)、B-M迭代算法
根据密码学的需要,对线性反馈移位寄存器(LFSR)主要考虑下面两个问题:
(1)如何利用级数尽可能短的LFSR产生周期大、随机性能良好的序列,即固定级数时,什么样的移存器序列周期最长。这是从密钥生成角度考虑,用最小的代价产生尽可能好的、参与密码变换的序列。
(2)当已知一个长为N序列a时,如何构造一个级数尽可能小的LFSR来产生它。这是从密码分析角度来考虑,要想用线性方法重构密钥序列所必须付出的最小代价。这个问题可通过B-M算法来解决。
整理ppt
4
1、概念简介
设 是 上的长度为N的序列,而
是 上的多项式,c0=1.
如果f(x)是一个能产生a并且级数最小的线性移位寄存器的联系多项式,l是该移存器的级数,则称 为序列a的线性综合解。
如果序列中的元素满足递推关系:

则称 产生二元序列a。其中 表示以f(x)为联系多项式的l级线性移位寄存器。
整理ppt
5
线性移位寄存器的综合问题可表述为:给定一个N长二元序列a,如何求出产生这一序列的最小级数的线性移位寄存器,即最短的线性移存器?
几点说明:
2、规定:0级线性移位寄存器是以f(x)=1为联系多项式的线性移位寄存器,且n长(n=1, 2, …, N)全零序列,仅由0级线性移位寄存器产生。事实上,以f(x)=1为联系多项式的递归关系式是:ak=0,k=0, 1, …, n-,这一规定是合理的。
1、联系多项式f(x)的次数l。因为产生a且级数最小的线性移位寄存器可能是退化的,在这种情况下 f(x)的次数<l;并且此时 f(x)中的cl=0,因此在联系多项式f(x)中c0=1,但不要求cl=1。
3、给定一个N长二元序列a,求能产生a并且级数最小的线性移位寄存器,就是求a的线性综合解。利用B-M算法可以有效的求出。
整理ppt
6
2、B-M算法要点
用归纳法求出一系列线性移位寄存器:
每一个 都是产生序列a的前n项的最短线性移位寄存器,在 的基础上构造相应的 ,使得 是产生给定序列前n+1项的最短移存器,则最后得到的 就是产生给定N长二元序列a的最短的线性移位寄存器。
整理ppt
7
3、B-M算法
1、取初始值:
2、设
均已求得,且
任意给定一个N长序列 ,按n归纳定义
记: 再计算:
称dn为第n步差值。然后分两种情形讨论:
整理ppt
8
最后得到的 便是产生序列a的最短线性移位寄存器。
整理ppt
9
B-M算法流程
整理ppt
10