消息认证和散列函数.ppt

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

第11章 消息认证和散列函数 在网络环境中,存在下述的攻击: 泄密 传输分析 伪装 内容修改 顺序修改 计时修改 发送方否认 接收方否认 对称加密既可提供认证,又可以提供保密性,但是这不是绝对的。 11.2.2 消息认证码(MAC) 带有密钥作为参数之一的单向散列函数通常称为MAC(消息认证码): MAC=CK(M) M为可变长的消息;K为通信双方共享的密钥;C为单向函数。 消息认证码又称为秘钥校验和,或者MAC,是一种认证技术。它利用 秘钥生成一个固定长度的短数据块,并将该数据块附加在原消息之后。 用途:为拥有共享密钥的双方在通信中验证消息的完整性;被单个用 户用来验证他的文件是否被改动。 MAC函数与加密类似,其区别之一是: MAC算法不要求可逆性而加密算法必须是可逆的。 单向散列函数HASH 单向散列函数: Hash Function,哈希函数、杂凑函数 将任意长度的消息M映射成一个固定长度散列值h的函数: h=H(M) 其中,h的长度为m。 用途: 消息认证、数字签名。 单向散列函数Hash 散列码是所有消息位的函数,它具有错误检测能力,即改变消息的任何一位或者多位,都会导致散列码的改变。 HASH与MAC的区别和联系 区别: (1)HASH不包含秘钥作为参数,而MAC包含。 联系: (1)有些MAC函数是基于HASH函数的,例如HMAC。 这类MAC函数内部包含了HASH函数作为其中的组成成分。 (2)一个HASH函数和对称加密算法的二重组合,实际上也 可以看成是一个MAC函数。 散列函数要具有单向性,则必须满足如下特性: ● 给定M,很容易计算h,便于软硬件实现。 ● 给定h,根据H(M)=h反推M很难。 (单向性) ● 给定M,找到另一M’满足H(M)=H(M’)很难。 (弱抗攻击性) 在某些应用中,单向散列函数还需要满足抗碰撞(Collision)的条件:要找到两个随机的消息M和M’,使H(M)=H(M’)满足很难。 (强抗攻击性) 还要求: 能用于任何大小的消息; 能产生定长输出; 寻找任意的M和M’,会满足H(M)=H(M’)很难。 实现: 单向散列函数是建立在压缩函数之上的: 一个简单的散列函数 每个分组按比特异或(简单奇偶校验): 改进: 针对可预测数据,每次循环左移一位将数据和散列值再异或。 结果: 随机化、去格式化 MD5 算 法 MD表示消息摘要(Message Digest),单向散列函数输入: 给定一任意长度的消息 输出: 长为m的散列值。 压缩函数的输入: 消息分组和前一分组的输出(对第一个函数需初始化向量IV); 输出: 到该点的所有分组的散列,即分组Mi的散列为 hi=f (Mi, hi?1) 循环: 该散列值和下一轮的消息分组一起作为压缩函数下一轮的输入,最后一分组的散列就是整个消息的散列。 MD5算法 MD5对输入的任意长度消息产生128位散列值: 1) 附加填充位 填充消息,使其长度为一个比512的倍数小64位的数。 填充方法:在消息后面填充一位1,然后填充所需数量的0。填充位的位数从1~512。 2) 附加长度 将原消息长度的64位表示附加在填充后的消息后面。 当原消息长度大于264时,用消息长度mod 264填充。 (512=32×16) 3) 初始化MD缓冲区 初始化用于计算消息摘要的128位缓冲区,由四个32位寄存器A、B、C、D表示: A: 01 23 45 67 B: 89 ab cd ef C: fe dc ba 98 D: 76 54 32 10 (按低位字节在前的顺序存放) 4) 按512位的分组处理输入消息 MD5的主循环,包括四轮,每个循环都以当前的正在处理的512比特分组Yq和128比特缓冲值ABCD为输入,然后更新缓冲内容。 四轮的操作类似,每轮16次: 用到一个有64个元素的表T[1..64],T[i]=232×abs(sin(i)),i的单位为弧度。 四轮操作的不同之处在

文档评论(0)

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

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

1亿VIP精品文档

相关文档