单向函数数字签名_第1页
单向函数数字签名_第2页
单向函数数字签名_第3页
单向函数数字签名_第4页
单向函数数字签名_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

1、2认证认证信息认证-消息源认证-消息的完整性认证安全系统的攻击-被动攻击-主动攻击保密和认证同属密码技术应用3 单向散列函数单向散列函数 单向散列函数,也称hash函数,它可以提供判断信息完整性的依据,是防止信息被篡改的一种有效方法。单向散列函数在数据加密、数据签名和软件保护等领域中有着广泛的应用。单向散列函数特点 hash函数的作用是当向hash函数输入一任意长度的的信息M时,hash函数将输出一固定长度为m的散列值h。即: h = h(M) 4安全的安全的hash函数的特点是:函数的特点是: 1hash函数能从任意长度的M中产生固定长度的散列值h。 2已知M时,利用h(M)很容易计算出h。

2、 3已知M时,要想通过控制同一个h(M),计算出不同的h是很困难的。 4已知h时,要想从h(M)中计算出M是很困难的。 5已知M时,要找出另一信息M,使h(M)=h(M)是很困难的。5 最常用的hash算法有MD5、SHA算法等。MD5算法算法 在对输入的明文初始化之后,MD5是按每组512位为一组来处理输入的信息,每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,把这四个32位分组串联(级联)后将生成一个128位散列值。6SHA算法和MD5算法一样,SHA-1一次处理512位信息生成一个160位散列值用于创建数字签名的单向算法7散列算法的典型应用散列

3、算法的典型应用用MD5校验和实现文件完整性保护文件系统完整性保护身份认证网页自动恢复系统8消息摘要消息摘要消息摘要的作用单向散列函数MD5算法SHA安全散列算法9消息摘要的作用消息摘要的作用在网络安全目标中,要求信息在生成、存储或传输过程中保证不被偶然或蓄意地删除、修改、伪造、乱序、重放、插入等破坏和丢失,因此需要一个较为安全的标准和算法,以保证数据的完整性。常见的消息摘要算法有:Ron Rivest设计的MDMD(Standard For Message Digest,消息摘要标准)算法NIST设计的SHASHA(Secure Hash Algorithm,安全散列算法)10单向散列函数单向

4、散列函数 消息摘要算法采用单向散列(hash)函数从明文产生摘要密文。摘要密文又称为哈希函数、数字指纹(Digital Fingerprint)、压缩(Compression)函数、紧缩(Contraction )函数、数据认证码DAC(Data authentication code)、篡改检验码MDC(Manipulation detection code)。散列函数的输出值有固定的长度,该散列值是消息M的所有位的函数并提供错误检测能力,消息中的任何一位或多位的变化都将导致该散列值的变化。从散列值不可能推导出消息M ,也很难通过伪造消息M来生成相同的散列值。11消息认证消息认证 认证码被附

5、加到消息后以M|MAC方式一并发送,收方通过重新计算MAC以实现对M的认证。如图所示。 假定收、发双方共享密钥k,如果收到的MAC与计算得出的MAC一致,那么可以得出如下结论: 接收方确信消息M未被篡改。此为完整性验证。 接收方确信消息来自所声称的发送者,因为没有其他人知道这个共享密钥,其他人也就不可能为消息M附加合适的MAC。此为消息源验证。12单向散列函数的抗碰撞性单向散列函数的抗碰撞性抗碰撞性的能力体现出单向散列函数对抗生日攻击和伪造的能力。弱抗碰撞性(Weak collision resistance):对于任意给定的M,找到满足MN且H(M)=H(N)的N,在计算上是不可行的;强抗碰

6、撞性(Strong collision resistance):找到任何满足H(x)=H(y) 的偶对(x,y)在计算上是不可行的。13哈希函数分类哈希函数分类根据是否使用密钥带秘密密钥的HashHash函数:消息的散列值由只有通信双方知道的秘密密钥K K来控制,此时散列值称作MAC(Message Authentication Code)MAC(Message Authentication Code)不带秘密密钥的HashHash函数:消息的散列值的产生无需使用密钥,此时散列值称作MDC(Message MDC(Message Detection Code)Detection Code)14

7、哈希函数哈希函数-生日攻击生日攻击如果采用传输加密的散列值和不加密的报文M,攻击者需要找到N,使得H(N)=H(M),以便使用替代报文来欺骗接收者。一种基于生日悖论的攻击可能做到这一点,生日问题:一个教室中,最少应有多少个学生,才使至少有两人具有相同生日的概率不小于1/21/2?概率结果与人的直觉是相违背的。实际上只需2323人,即任找2323人,从中总能选出两人具有相同生日的概率至少为1/21/215生日攻击实例生日攻击实例A准备两份合同M和N,一份B会同意,一份会取走他的财产而被拒绝A对M和N 各做32处微小变化(保持原意),分别产生232个64位hash值根据前面的结论,超过0.5的概率

8、能找到一个M和一个N ,它们的hash值相同A提交M,经B审阅后产生64位hash值并对该值签名,返回给AA用N 替换M结论:Hash必须足够长( 128, 160,224,256,)16消息认证的局限性消息认证的局限性消息认证可以保护信息交换双方不受第三方的攻击,但是它不能处理通信双方的相互攻击信宿方可以伪造消息并称消息发自信源方,信源方产生一条消息,并用和信源方共享的密钥产生认证码,并将认证码附于消息之后信源方可以否认曾发送过某消息,因为信宿方可以伪造消息,所以无法证明信源方确实发送过该消息在收发双方不能完全信任的情况下,引入数字签名来解决上述问题数字签名的作用相当于手写签名17数字签名概

9、述数字签名概述 在网络通信和电子商务中很容易发生如下问题。 1否认,发送信息的一方不承认自己发送过某一信息。 2伪造,接收方伪造一份文件,并声称它来自某发送方的。 3冒充,网络上的某个用户冒充另一个用户接收或发送信息。 4篡改,信息在网络传输过程中已被篡改,或接收方对收到的信息进行篡改。18 用数字签名(Digital Signature)可以有效地解决这些问题。数字签名就是主要用于对数字信息进行的签名,以防止信息被伪造或篡改等。 数字签名离不开公钥密码学,在公钥密码学中,密钥由公开密钥和私有密钥组成。 数字签名包含两个过程:使用私有密钥进行加密(称为签名过程),接受方或验证方用公开密钥进行解密(称为验证过程)。19RSA算法的签名和验证过程算法的签名和验证过程RSA算法的签名和验证过程算法的签名和验证过程20数字签名机制数字签名机制传统签名的基本特点: 能与被签的文件在物理上不可分割 签名者不能否认自己的签名 签名不能被伪造 容易被验证21数字签名是传统签名的数字化,基本要求: 能与所签文件“绑定” 签名者不能否认自己的签名 签名不能被伪造 容易被自动验证22RSA 一般应用过程一般应用过程乙方乙方甲方甲方明文乙方公钥解密甲方私钥解密甲方私钥加密乙方公钥加

温馨提示

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

评论

0/150

提交评论