- 1、本文档共122页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
应用密码学3
第7章 HASH函数与消息认证 学习要点: 了解HASH函数的基本概念、一般结构 了解SHA散列算法的基本处理方法 了解消息认证的目的及其实现方法 §7-1 HASH函数 SHA-1 算法逻辑 输入:最大长度为264位的消息; 输出:160位消息摘要; 处理:输入以512位数据块为单位处理; SHA-1总结 CV0 = IV CVq+1 = SUM32(CVq, ABCDEq) MD = CVL SHA-1逻辑函数的真值表 SHA-1算法举例 见教材 例7-1 §7-3 消息认证 网络系统安全要考虑: 用密码保护传送的信息使其不被破译 就是防止对手对系统进行主动攻击 认证则是防止主动攻击的重要技术,分为实体认证和消息认证 消息认证的目的: 验证信息来源的真实性,即信源识别 验证信息内容的完整性 一个纯认证系统的模型 系统中: 发送者:通过一个公开的无扰信道将消息送给接收者 接收者:不仅想收到消息本身,而且还要验证消息是否来自合法的发送者及消息是否经过篡改 攻击者:不仅要截收和破译信道中传送的密报,而且可伪造密文送给接收者进行欺诈 实际认证系统还要防止收方、发方之间的相互欺诈 认证系统的功能层次 底层的认证函数:产生一个用来认证消息的认证标识 上层的认证协议:基于认证标识提供了一种能使接收方验证消息真实性的机制 认证函数分类 信息加密函数(Message encryption) 用完整信息的密文作为对信息的认证 信息认证码MAC(Message Authentication Code) 是对信源消息的一个编码函数 散列函数(Hash Function) 是一个公开的函数,它将任意长的信息映射成一个固定长度的信息 一、基于消息加密的认证 困难性: 接收方需要确定解密消息的合法性 确定消息来源的真实性 特点: ①提供机密性 ②提供认证 ③不能提供数字签名 基于公钥密码体制:提供认证 特点: 能实现数字签名 提供认证 基于公钥密码体制:实现签名、加密和认证 特点: 提供机密性 数字签名 认证 缺点: 一次完整的通信需要执行公钥算法的加密、解密操作各两次 二、基于消息认证码(MAC)的认证 特点: MAC函数无需可逆 收发双方使用相同的密钥,MAC不能提供数字签名 只提供消息认证,不能提供机密性 改进方案 特点:提供机密性 三、基于散列函数(HASH)的认证 认证协议 单向认证 (one-way authentication) 双方认证 (mutual authentication) 单向认证 双向认证协议 最常用的协议 该协议使得通信各方互相认证鉴别对方的身份,然后交换会话密钥 认证的成功取决于: 声称者与它的密钥间绑定的证实 声称者基于随机数的数字签名的证实 双向认证原理 * 最后一栏的单位为年。(假定执行速度是MIPS,每秒1M指令)。 第二栏为10进制数的位数。 第三栏为对应的二进制数的位数。 * 影响大数因子分子进度的因素: 计算能力 计算机网络 更好的算法 HASH函数与HASH值的多种叫法。 Preimage:逆象,原象。Preimage resistance指单向性,不可逆性。 Collision resistance:抗碰撞性。 压缩函数F。 用新的口令的HASH值代替原先的口令,更安全。 定制(专用)的。 基本的SHA操作(单步) P243 这是一个使用KDC的密钥分配的方案。但里面有鉴别的特征。 其中:IV = ABCDE的初始值 ABCDEq=第q轮消息数据块处理最后一轮所得的结果 L = 数据块的个数 SUM32 = 对每一个输入对的字求加模232 MD = 最后的消息摘要值 SHA-1压缩函数 SHA-1 压缩函数-单轮逻辑 A,B,C,D,E ? (E + f(t,B,C,D)+S5(A) +Wt + Kt),A,S30(B),C,D 其中, A,B,C,D,E = 缓冲区的5个字 t = 步数,0= t = 79 f(t,B,C,D) = 步t的基本逻辑函数 Sk = 循环左移k位给定的32位字 Wt = 一个从当前512数据块导出的32位字 Kt = 一个用于加法的常量,四个不同的值 如前定义 + = 加模232 B C D
文档评论(0)