1、2018/11/3,1,第三章 流密码,一、流密码的基本概念 二、线性反馈移位寄存器序列 三、B-M综合算法 四、非线性序列,2018/11/3,2,二、 线性反馈移位寄存器序列,2018/11/3,3,m序列的性质,定理3-5 以f(x)为特征多项式的LFSR的输出序列是m序列的充要条件为f(x)是本原的。系 n级LFSR生成的不等价m序列共有(2n1)/n个。定理 3-6 m序列满足Golomb的三条伪随机假设。,2018/11/3,4,m序列的性质,m序列否满足密码要求? m-C1:n级m序列的周期为2n1,n大,周期指数地加大,例如n=166时,p=1050(9.353610465 1
2、049)。 m-C2:只要知道n次本原多项式,m序列极易生成。 m-C3:m序列极不安全,只要泄露2n位连续数字,就可完全确定出反馈多项式系数。,2018/11/3,5,m序列的破译,已知ki, ki+1, ki+2n,由递推关系式可得出下式式中有n个线性方程和n个未知量,故可惟一解出ci,0in-1。,2018/11/3,6,三、B-M综合算法,2018/11/3,7,根据密码学的需要,对于LFSR主要考虑下面两问题: (1)如何利用级数尽可能小的LFSR产生周期长、统计特性好的序列; (2)已知一个序列a,如何构造一个尽可能短的LFSR来产生a。,2018/11/3,8,B-M综合算法,2
3、018/11/3,9,2018/11/3,10,BM综合算法的描述,2018/11/3,11,2018/11/3,12,四、 非线性序列,2018/11/3,13,非线性序列,线性复杂度: 能产生周期序列 kii 0的LFSR的最小级数n。显然,n级m序列的线性复杂度为n。 线性复杂度是研究和设计密码的重要指标和工具。 一个伪随机序列若其线性复杂度低,就易于由部分序列综合出生成它的LFSR。一般移存器序列的线性复杂度nL2n。L大不一定就安全;但L小肯定是不安全的!,2018/11/3,14,非线性前馈序列,LFSR虽然不能直接作为密钥流用,但可作为驱动源以其输出推动一个非线性组合函数所决定的
4、电路来产生非线性序列。这就是所谓非线性前馈序列生成器。 LFSR用来保证密钥流的周期长度、平衡性等 非线性组合函数用来保证密钥流的各种密码性质,以抗击各种可能的攻击。,2018/11/3,15,非线性前馈序列, LFSR Fki 研究的中心问题:前馈函数F与输出序列的周期性、随机性、线性复杂度以及相关免疫性之间的关系。,2018/11/3,16,多路选择(Multiplexing)序列,有n种输入序列b0(t), bn-1(t) ,在地址序列a1(t),am -1 (t)的控制下决定输出取自某个输入比特。例如取m级LFSR生成m序列作地址控制,取n级LFSR生成的m序列作为输入序列。,2018
5、/11/3,17,多路选择(Multiplexing)序列,可供选择的输入 多路选择器 多路选择密码,2018/11/3,18,J-K触发器,J-K触发器是一个非线性器件,有两个输入端j,k和一个内部状态,即输出为qi,,其逻辑真值如表3-3-2所示。一般令q-1=0。表3-3-2J K qi Geffe1973采用三个LFSR,其中两个的输 0 0 qi-1 出通过一个J-K触发器进行复合。如图3-3- 90 1 0 所示。还可进一步推广由s1个LFSR1 0 1 进行复合。LFSR-1的时钟必须较其它s1 1 个LFSR的时钟快log2(s)倍,其中s为2的幂次。,2018/11/3,19,Geffe生成器,2中择1多路选择器LFSR-2 选择 b(t)LFSR-3 LFSR-1 图3-3-9 Geffe生成器多路复合器输入两两成对,并以J-K触发器进行复合后送入多路复用器。这类生成器的安全性不高,易受相关攻击。,2018/11/3,20,钟控序列生成器,钟控序列10多年前提出的一种新的密钥流生成法,这种方法所生序列的线性复杂度与生成器输入参数间具有指数的关系。这类序列易于由硬件实现。钟控移位寄存器的级连是一种重要的序列的流密码备选体制。,2018/11/3,21,第三章到此结束。谢谢大家!,