管理信息-第5章_第1页
管理信息-第5章_第2页
管理信息-第5章_第3页
管理信息-第5章_第4页
管理信息-第5章_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

5.4私钥密码算法流密码分组密码DES加密算法(1)将明文m

写成连续的符号m=m1m2…;(2)利用密钥流k=k1k2…中的第i个元素ki对明文中的第i个元素mi进行加密;若加密变换为E,则加密后的密文c=Ek(m)=Ek1(m1)Ek2(m2)…Eki(mi)…设对应的解密变换为D,则通过解密运算可得明文为m=Dk(c)=Dk1(Ek1(m1))Dk2(Ek2(m2))…=m1m2…从而完成一次密码通信。流密码:密码通信过程流密码:密码通信过程加密算法E解密算法D明文mi密文ci=Eki(mi)明文mi=Dki(ci)密钥ki密钥ki流密码通信模式框图例:设明文、密钥、密文都是F2上的二元数字序列,明文m=m1m2…,密钥为k=k1k2…,若加密变换与解密变换都是F2中的加法运算,试写出加密过程与解密过程。解:经加密变换得密文C=Ek(m)=Ek1(m1)Ek2(m2)…=(k1+m1)

(k2+m2)…经解密变换得:Dk(c)=Dk

((k1+c1)(k2+c2)…)=(k1+k1+m1)(k2+k2+m2)…流密码:举例由于密钥k可由明文m与密文c进行模2加获得,易受到已知明文的攻击。用该密码系统通信就要求每发送一条消息都要产生一个新的密钥,即“一次一密”。一次一密系统是无条件安全保密系统,但很不实用(要有一个安全通信系统同步传递密钥)。在实际中,人们设计一个密码系统的目标是一个密钥能用来加密很多消息,或一个密钥能用来加密一条更长的明文。流密码:一次一密密钥流生成器:由一个短的随机密钥k(种子密钥)生成一个长的密钥流,再对明文加密或对密文解密。基本思想:密钥流元素kj的产生由第j

时刻流密码的内部状态

sj和实际密钥k

决定,记为kj=f(k,sj)。由于加密器中寄存器的状态s

随时间变化而变化,因而kj在一定周期内是时变的,从而形成一个密钥流,该密钥流与生成器的结构有关。流密码:密钥流生成器如果密钥序列产生算法与输入的明文无关,则产生的密钥流与明文无关,称此种流密码为同步流密码。在同步流密码中,只要发送端和接收端有相同的实际密钥k和内部状态变迁(即有相同结构的密钥流生成器),就能产生相同的密钥流,此时发送端和接收端的密钥生成器是同步的,加、解密工作正常。一旦不同步,解密工作立即失败。如果密钥序列产生算法与输入的明文符号有关,则称该流密码为自同步流密码。流密码:密钥流生成器对密钥流生成器的要求:密钥流不可测性,即要求生成的密钥流具有随机性。密钥流生成器常用构造方法有四类:信息论方法、系统论方法、复杂度理论方法和随机化方法。密钥流生成器:使用线性变换。流密码:密钥流生成器123f(x0,x1,,xn-1)n┅移位寄存器:n个小方框是n个寄存器,从左到右依序为第1、2、…、n级寄存器。开始时,若第i级寄存器的内容是an-i,则此寄存器的初始状态是(a0,a1,…,an-1)。当加上一个脉冲时同时完成三项工作:(1)各级内容送给运算器f(x0,x1,…,xn-1);(2)每个寄存器的内容移给下一级,第n级内容输出;(3)运算器结果an=f(a0,a1,…,an-1)反馈到第一级。流密码:一种线性密钥流生成器……在运算器中若f(x0,x1,…,xn-1)给定,则输出序列完全由初始状态(a0,a1,…,an-1)确定。当f(x0,x1,…,xn-1)

为线性函数时,称该移位寄存器为n级线性移位寄存器。代数编码中已证明移位寄存器产生的序列都是周期序列,周期d都≤2n。这时密钥流经过d个符号之后重复,并称该密钥流是周期性的。这样就由一个长为n的随机密钥k,生成了一个周期为d的密钥流。流密码:一种线性密钥流生成器例:

给定一个4级线性移位寄存器如图。给定初状态(0001),求该移位寄存器产生的周期序列。解:易见f(x0,x1,x2,x3)=x0+x1,因此对k≥4有

ak=ak-3+ak-4从而该4级移位寄存器产生的序列是周期15的序列:000100110101111…0001流密码:举例

移位寄存器(SR)可由短的(长度为n)随机密钥k生成具有一定规律(周期为d>n)的密钥流。这种序列便可以作为密钥流序列,但抗攻击能力较差。通常的密钥流生成器都是由若干个移位寄存器并联,并且与特殊的电子电路组合而成。可通过SR1的输出选择SR2的输出来生成密钥流。收缩密钥流生成器SR1yi(1)yi(2)输出kiSR2流密码:收缩密钥流生成器收缩密钥流生成器的工作模式输入:参数:两个移位寄存器的级数及反馈函数密钥:两个移位寄存器的初始状态

(1)移位SR1并产生yi(1);同时移位SR2并产生yi(2);

(2)如果yi(1)=1,则输出密钥元素ki=yi(2);如果yi(1)=0,则删去yi(2),i=1,2,…。由此收缩生成器产生的密钥流为{ki|i≥1}。流密码:收缩密钥流生成器分组密码是将明文消息编码表示后的数字序列划分成长为m的组x=(x1,x2

,…,xm),各组分别在密钥k=(k1

,k2

,…,kt)的控制下变换成长为n(一般n=m)的密文y=(y1,y2

,…,yn)。分组密码通信模式框图加密算法解密算法明文x=(x1,x2,…,xm)密文y=(y1,y2,…,yn)密钥k=(k1,k2,…,kt)明文x=(x1,x2,…,xm)密钥k=(k1,k2,…,kt)分组密码分组密码与流密码区别:输出的每一位密文不是与相应时刻输入的明文有关,而是与一组长为m的明文有关。好的分组密码应该难破译、易实现,即E(x,k)和D(y,k)都必须很容易计算,但要从方程y=E(x,k)和x=D(y,k)中求出k应该是一个很困难的问题。分组密码:优缺点分析DES算法使用长度为64比特的密钥(实际只用其中的56位,被8整除的未被使用)加密长度为64比特的明文,获得长度为64比特的密文,工作程序:(1)给定明文x,通过一个固定的初始变换IP将x

变换为x0,记x0=IP(x)=L0R0,这里L0是x0的前32比特,R0是x0的后32比特。(2)接着进行16轮完全相同的运算,在这里数据与密钥相结合。根据下列规则计算LiRi,i=1,2,…,16:Li=Ri-1Ri=Li-1f(Ri-1,ki)

DES算法函数f(Ri-1,ki)中Ri-1是一个长度为32的比特串,ki(i=1,…,16)是一个长度为48的子密钥,是密钥k的函数;f函数值是一个长度为32的比特串;表示两个比特串的异

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论