网络安全 课件 第4章 报文摘要算法_第1页
网络安全 课件 第4章 报文摘要算法_第2页
网络安全 课件 第4章 报文摘要算法_第3页
网络安全 课件 第4章 报文摘要算法_第4页
网络安全 课件 第4章 报文摘要算法_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

网络安全第四章第4章报文摘要算法本章主要内容基本概念和特点;MD5;SHA;HMAC;报文摘要应用。

报文摘要算法4.1基本概念和特点本讲主要内容完整性检测;报文摘要算法特点。一、

完整性检测检错码C=f(D);假定接收端接收到Cˊ和Dˊ只有当Cˊ=f(Dˊ)时,接收端确认传输过程正确。1.检错码一、

完整性检测发送端检错码C=EK(f(D));检测出精心篡改的前提是:函数f()有着如下特性:对于任何x,找不出y,x≠y,但f(x)=f(y)。2.报文摘要和完整性检测过程二、报文摘要算法特点假定MD为报文摘要算法,MD(X)是算法对报文X作用后产生的标识信息,MD必须满足如下要求:能够作用于任意长度的报文;产生有限位数的标识信息;易于实现;具有单向性。只能根据报文X求出MD(X),从计算可行性讲,无法根据标识信息h,得出报文X,且使得MD(X)=h;具有抗碰撞性。从计算可行性讲,对于任何报文X,无法找出另一个报文Y,X≠Y,但MD(X)=MD(Y);具有高灵敏性。即使只改变报文X中一位二进制位,也使得重新计算后的MD(X)变化很大。4.2MD5本讲主要内容添加填充位;分组操作;MD5运算过程。一、添加填充位

假定报文的长度为X,首先添加首位为1,其余位为0的填充位,填充位的长度Y由下式确定。(X+Y)mod512=448二、分组操作长度字段为64位,(报文+填充)mod=448,保证总长是512的整数倍;报文以512位为单位分段,前一段MD5的运算结果和当前段数据作为MD5输入,运算结果为128位;初始向量IV和第一段数据作为MD5输入。128位IV和中间结果Ci分为4个32位字:A、B、C和D;512位数据段Yi分为16个32位字;4级运算FF、GG、HH和II中的每一级完成16次运算,分解Yi产生的16个字分别参加16次运算;每一次运算改变其中一个字的值,4个字16次运算中分别改变4次;每一次运算结果和4个字的当前值和分解Yi产生的其中一个字有关;4级运算后的最终结果和上一次中间结果相加,构成本次中间结果。三、MD5运算过程4.3SHA本讲主要内容SHA-1与MD5之间的异同;SHA-1运算过程;SHA-1与MD5安全性和计算复杂性比较。一、SHA-1与MD5之间的异同1.SHA-1与MD5之间的相同点SHA-1有着与MD5相同的填充过程;SHA-1也将报文分成512位长度的数据段;对数据段进行与MD5相同的分组操作。一、SHA-1与MD5之间的异同2.SHA-1与MD5之间的不同点初始向量和每一段数据段的运算结果是5个32位的字,即160位;每一级操作进行20次迭代运算,4级共80次迭代运算;需要将16个32位字的数据段扩展为80个32位字;扩展后的80个32位字分别参加80次迭代运算;每一级操作使用相同的常量,因此,只需要4个不同的常量。二、SHA-1运算过程1.SHA-1数据段扩展过程假定构成数据段的16个32位字是M[k](0≤k≤15),扩展后的80个32位字是W[i](0≤i≤79),扩展过程如下。W[t]=M[t](0≤t≤15)W[t]=W[t-3]

W[t-8]

W[t-14]

W[t-16](16≤t≤79)二、SHA-1运算过程2.每一级运算过程每一级运算使用的函数如下:F1(X,Y,Z)=X·YOR/X·ZF2(X,Y.Z)=X

Y

ZF3(X,Y,Z)=X·YORX·ZORY·ZF4(X,Y,Z)=X

Y

Z二、SHA-1运算过程2.每一级运算过程完成每一级运算过程需要20次迭代运算,第i级运算进行的20次迭代运算如下。FORj=(i-1)×20to(i-1)×20+19{TEMP=S5(A)+Fi(B,C,D)+E+W[j]+Ki;E=D;D=C;C=S30(B);B=A;A=TEMP;}三、SHA-1与MD5安全性和计算复杂性比较1.安全性由于SHA-1的摘要长度是160位,MD5的摘要长度是128位,因此,SHA-1的抗碰撞性更好。2.计算复杂性SHA-1的计算复杂性高于MD5,因此,SHA-1比MD5需要更多的计算时间。4.4HMAC本讲主要内容完整性检测要求;HMAC运算过程和运算思路。一、完整性检测要求

报文摘要的主要用途是对报文进行完整性检测,由于报文摘要算法的公开性,获得报文,便可计算出对应的报文摘要,因此,必须将报文摘要算法和加密算法相结合才能实现报文的完整性检测。二、HMAC运算思路和运算过程1.HMAC运算思路完整性检测要求发送端和接收端完成报文摘要和加密解密运算。为了简化运算过程,发送端将报文和密钥串接后再进行报文摘要运算,即h=MD(P‖K)。2.HMAC运算过程密钥K扩展为b位(报文摘要算法要求的数据段长度);K+⊕ipad作为其中一个数据段进行报文摘要运算;将报文摘要运算结果(n位)扩展为b位,K+⊕opad作为其中一个数据段进行报文摘要运算;报文摘要运算结果作为散列消息认证码(HMAC)。二、HMAC运算思路和运算过程HMAC完成完整性检测过程二、HMAC运算思路和运算过程4.5报文摘要应用本讲主要内容完整性检测;消息鉴别;口令安全存储;数字签名。一、完整性检测f是报文摘要算法,可以是MD5、SHA-1,或其他报文摘要算法。二、消息鉴别为了实现消息鉴别,一是使得接收端和发送端X拥有相同的密钥K,且密钥K只有接收端和发送端X知道。二是对于消息M,使得发送端X生成的附加信息C=EK(MD(M))。三、口令安全存储

为了防止黑客窃取存储在计算机中的用户账号,对于每一个账号,计算机不以明文方式存储口令,而是存储口令的报文摘要,如果某个账户的口令是PASS,计算机中存储MD(PASS)。四、数字签名1.数字签名特征数字签名用于解决网络中传输的信息的真实性问题,它具有如下特征:接收者能够核实发送者对报文的数字签名;发送者事后无法否认对报文的数字签名;接收者无法伪造发送者对报文的数字签名。2.基于RSA数字签名原理规则一:EPKA(DSKA(P))=P,通过公钥PKA加密还原的一定是通过私钥SKA解密运算的结果;规则二:无法根据报文摘要h,求出报文X,且使得MD(X)=h;根据上述规则,一旦满足条件MD(P)=EPKA(数字签名),得出数字签名=DSKA(MD(P)),可以断定报文P由知道私钥SKA的用户发送,知道私钥SKA的用户是和公钥PKA绑定的用户。四、数字签名证书分两部份:一部份是用明文方式给出的用于确认公钥PKB和用户B之间绑定关系的证明。另一部份是用认证中心的私钥SKCA对上述明文的报文摘要进行解密运算后生成的密文(DSKCA(MD(P))。四、数字签名四、数字签名四、数字签名公钥基础设施(PKI)提供了管理、控制证书全过程的方案,包括证书的生成、更新、撤销和交叉认证机制。PKI包含以下组成部分。终端实体;认证中心(CA);注册中心(RA);证书库。认证中心的目的就是证明用户和公钥之间的绑定;认证中心通过证书证明这种绑定,证书由明

温馨提示

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

评论

0/150

提交评论