预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共96页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第2章流密码流密码的基本思想是利用密钥k产生一个密钥流z=z0z1…,并使用如下规则对明文串x=x0x1x2…加密:y=y0y1y2…=Ez0(x0)Ez1(x1)Ez2(x2)…。密钥流由密钥流发生器f产生:zi=f(k,σi),这里σi是加密器中的记忆元件(存储器)在时刻i的状态,f是由密钥k和σi产生的函数。分组密码与流密码的区别就在于有无记忆性(如图2.1)。流密码的滚动密钥z0=f(k,σ0)由函数f、密钥k和指定的初态σ0完全确定。此后,由于输入加密器的明文可能影响加密器中内部记忆元件的存储状态,因而σi(i>0)可能依赖于k,σ0,x0,x1,…,xi-1等参数。 图2.1分组密码和流密码的比较根据加密器中记忆元件的存储状态σi是否依赖于输入的明文字符,流密码可进一步分成同步和自同步两种。σi独立于明文字符的叫做同步流密码,否则叫做自同步流密码。由于自同步流密码的密钥流的产生与明文有关,因而较难从理论上进行分析。目前大多数研究成果都是关于同步流密码的。在同步流密码中,由于zi=f(k,σi)与明文字符无关,因而此时密文字符yi=Ezi(xi)也不依赖于此前的明文字符。因此,可将同步流密码的加密器分成密钥流产生器和加密变换器两个部分。如果与上述加密变换对应的解密变换为xi=Dzi(yi),则可给出同步流密码体制的模型如图2.2所示。 图2.2同步流密码体制模型同步流密码的加密变换Ezi可以有多种选择,只要保证变换是可逆的即可。实际使用的数字保密通信系统一般都是二元系统,因而在有限域CF(2)上讨论的二元加法流密码(如图2.3)是目前最为常用的流密码体制,其加密变换可表示为yi=zixi。 图2.3加法流密码体制模型一次一密密码是加法流密码的原型。事实上,如果(即密钥用作滚动密钥流),则加法流密码就退化成一次一密密码。实际使用中,密码设计者的最大愿望是设计出一个滚动密钥生成器,使得密钥经其扩展成的密钥流序列具有如下性质:极大的周期、良好的统计特性、抗线性分析、抗统计分析。有限状态自动机是具有离散输入和输出(输入集和输出集均有限)的一种数学模型,由以下3部分组成: ①有限状态集S={si|i=1,2,…,l}。 ②有限输入字符集A1={A(1)j|j=1,2,…,m}和有限输出字符集A2={A(2)k|k=1,2,…,n}。 ③转移函数A(2)k=f1(si,A(1)j),sh=f2(si,A(1)j)即在状态为si,输入为A(1)j时,输出为A(2)k,而状态转移为sh。例2.1S={s1,s2,s3},A1={A(1)1,A(1)2,A(1)3},A2={A(2)1,A(2)2,A(2)3},转移函数由表2.1给出。(见12页表2.1) 有限状态自动机可用有向图表示,称为转移图。转移图的顶点对应于自动机的状态,若状态si在输入A(1)i时转为状态sj,且输出一字符A(2)j,则在转移图中,从状态si到状态sj有一条标有(A(1)i,A(2)j)的弧线,见图2.4。 图2.4有限状态自动机的转移图例2.1中,若输入序列为A(1)1A(1)2A(1)1A(1)3A(1)3A(1)1,初始状态为s1,则得到状态序列 s1s2s2s3s2s1s2 输出字符序列 A(2)1A(2)1A(2)2A(2)1A(2)3A(2)1同步流密码的关键是密钥流产生器。一般可将其看成一个参数为k的有限状态自动机,由一个输出符号集Z、一个状态集∑、两个函数φ和ψ以及一个初始状态σ0组成(如图2.5)。状态转移函数φ:σi→σi+1,将当前状态σi变为一个新状态σi+1,输出函数ψ:σi→zi,当前状态σi变为输出符号集中的一个元素zi。这种密钥流生成器设计的关键在于找出适当的状态转移函数φ和输出函数ψ,使得输出序列z满足密钥流序列z应满足的几个条件,并且要求在设备上是节省的和容易实现的。为了实现这一目标,必须采用非线性函数。 图2.5作为有限状态自动机的密钥流生成器由于具有非线性的φ的有限状态自动机理论很不完善,相应的密钥流产生器的分析工作受到极大的限制。相反地,当采用线性的φ和非线性的ψ时,将能够进行深入的分析并可以得到好的生成器。为方便讨论,可将这类生成器分成驱动部分和非线性组合部分(如图2.6)。驱动部分控制生成器的状态转移,并为非线性组合部分提供统计性能好的序列;而非线性组合部分要利用这些序列组合出满足要求的密钥流序列。 图2.6密钥流生成器的分解目前最为流行和实用的密钥流产生器如图2.7所示,其驱动部分是一个或多个线性反馈移位寄存器。 图2.7常见的两种密钥流产生器移位寄存器是流密码产生密钥流的一个主要组成部分。G