[高等教育]第八周第2章_散列函数_10_18.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[高等教育]第八周第2章_散列函数_10_18

课前回顾 公钥密码体制的基本原理 RSA公钥密码体制 RSA算法实现的几个关节环节 本周教学 其他公钥加密体制 消息认证 散列函数 一 、其它公钥密码算法 ElGamal密码 ElGamal密码是由ElGamal于1985年提出。该密码系统可应用于加/解密、数字签名等,其安全性是建立于离散对数(discrete logarithm)问题之上的,即给定g,p与y=gx mod p,求x在计算上不可行。 椭圆曲线密码体制(ECC) 椭圆曲线在密码学中的使用是在1985年由Neal Koblitz和Victor Miller分别独立提出的。其依据就是定义在椭圆曲线点群上的离散对数问题的难解性。椭圆曲线在代数学和几何学上已经广泛研究了150多年之久,有丰富而深厚的理论积累。 需求 泄密:将消息透露给没有合法秘密钥的任何人或程序。 传输分析:分析通信双方的通信模式,如连接频率,时间等 伪装:攻击者产生一条消息并声称来自某合法实体 内容修改:对消息进行插入、删除、转化、修改 顺序修改:对消息顺序进行插入、删除、重新排序 计时修改:对消息的延时和重放 发送方否认 接受方否认 对付1、2可用加密; 对付3、4、5、6可用消息认证; 对付7、8可用数字签名 二、消息认证(Message Authentication) 消息认证用于抗击主动攻击 验证接收消息的真实性和完整性 真实性 的确是由所声称的实体发过来的 完整性 未被篡改、插入和删除 验证消息的顺序性和时间性(未重排、重放和延迟) 消息认证的基本概念 消息认证:验证所收到的消息确实是来自真正的发送方且未被修改过。 认证符:一个用来认证消息的值。由消息的发送方产生认证符,并传递给接收方。 认证函数:产生认证符的函数,认证函数实际上代表了一种产生认证符的方法。 消息加密 消息认证码 Hash函数 消息加密---在对称加密体制下 由于攻击者不知道密钥K,他也就不知道如何改变密文中的信息位才能在明文中产生预期的改变。 接收方可以根据解密后的明文是否具有合理的语法结构来进行消息认证。 但有时发送的明文本身并名优明显的语法结构或特征,例如二进制文件,因此很难确定解密后的消息就是明文本身。 根据明文M和公开的函数F产生FCS,即错误检测码,或帧校验序列,校验和。 把M和FCS合在一起加密,并传输。 接收端把密文解密,得到M。 根据得到的M,按照F计算FCS,并与接收到的FCS比较是否相等。 消息加密---在公钥加密体制下 由于大家都知道B的公钥,所以这种方式不提供认证,只提供加密。 消息加密---在公钥加密体制下 由于只有A有用于产生EKRa (M)的密钥,所以此方法提供认证。 由于大家都有KUa ,所以此方法不提供加密。 消息加密---在公钥加密体制下 提供认证和加密。 一次通信中要执行四次复杂的公钥算法。 消息认证码(MAC) Message Authenticaion Code 消息认证码是消息和密钥的公开函数,它产生定长的值,以该值作为认证符。 利用密钥和消息生成一个固定长度的短数据块,并将其附加在消息之后。 通信双方共享密钥K 消息认证码用于认证 A和B共享密钥K A计算MAC=Ck(M), M和MAC一起发送到B B对收到的M,计算MAC,比较两个MAC是否相同。 基于DES的消息认证码 使用最广泛的MAC算法之一:数据认证算法 过程: 把需要认证的数据分成连续的64位的分组。 若最后一个分组不是64位,则填0 利用DES加密算法E和密钥K,计算认证码。 MAC函数与加密函数的区别 MAC函数与加密函数类似,都需要明文、密钥和算法的参与。 但MAC算法不要求可逆性,而加密算法必须是可逆的。 例如:使用100比特的消息和10比特的MAC,那么总共有2100个不同的消息,但仅有210个不同的MAC。也就是说,平均每290个消息使用的MAC是相同的。 因此,认证函数比加密函数更不易被攻破,因为即便攻破也无法验证其正确性。关键就在于加密函数是一对一的,而认证函数是多对一的。 消息认证码的基本用途 只提供消息认证,不提供保密性。(见前) 提供消息认证和保密性: 三、 散列(Hash)函数 2.4.1 Hash函数的定义 2.4.2 Hash函数的分类 2.4.3 Hash函数的安全性 2.4.4 安全Hash 函数的一般结构 2.4.5 MD5算法 2.4.6 SHA 算法 Hash函数在实际中有广泛的应用。它是实现安全、可靠的认证和数字签名的重要工具,是安全认证协议、数字签名算法的重要组成部分。 2.4.1 Hash函数的定义 hash函数的输入是可变的消息M,输出是固定大小的hash码H(M) ,或称消息摘要(Message Digest) 、hash

文档评论(0)

ctuorn0371 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档