- 1、本文档共46页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第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) 单向认证 双向认证协议 最常用的协议 该协议使得通信各方互相认证鉴别对方的身份,然后交换会话密钥 认证的成功取决于: 声称者与它的密钥间绑定的证实 声称者基于随机数的数字签名的证实 双向认证原理 E-mail 传统加密方法: 1、A ? KDC:IDA||IDB|| N1 2、KDC ? A:EKa[Ks || IDB || N1 || EKb [Ks || IDA]] 3、A ? B: EKb [Ks || IDA] || EKs[M] 公钥加密方法: A ? B: EKUb[Ks ]|| EKs[M] A ? B: M || EKRa[H(M)] A ? B: EKUb [ M || EKRa[H(M)]] One-Way Authentication * * 安全HASH函数的一般结构 压缩函数 HASH填充 §7-2 散列算法 SHA-1 算法逻辑 步骤2:添加长度。一个64位块,表示原始消息长度 步骤3:初始化MD缓冲区。160位,表示为5个32位的寄存器 (A,B,C,D,E)。初始化为: A = B = EFCDAB89 C = 98BADCFE D = E = C3D2E1F0 big-endian format 步骤1:添加填充位。使数据位的长度 ? 448 mod 512 步骤4:以512位数据块为单位处理消息。四轮,每轮20步。 四个基本逻辑函数:f1,f2,f3,f4. 步骤5:输出。全部L个512位数据块处理完毕后,输出160位 消息摘要。 Kt=CA62C1D6 60=t=79 Kt=8F1BBCDC 40=t=59 Kt=6ED9EBA1 20=t=39 Kt=5A827999 0= t =19 16进制 步数 其中:IV = ABCDE的初始值 ABCDEq=第q轮消息数据块处理最后一轮所得的结果 L = 数据块的个数 SU
文档评论(0)