第八章+哈希函数和认证.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第八章哈希函数和认证

第8章 哈希函数和认证 实际上,网络中的通信除需要进行消息的认证外,还需要建立一些规范的协议对数据来源的可靠性、通信实体的真实性加以认证, 以防止欺骗、 伪装等攻击 A和B是网络的两个用户,他们想通过网络先建立安全的共享密钥再进行保密通信,那么A(B)如何确信自己正在和B(A)通信而不是和C通信呢? 这种通信方式为双向通信,因此此时的认证称为互相认证。 类似地,对于单向通信来说,认证称为单向认证 Hashing Functions 把任意长的消息“压缩”成固定长的消息的算法 数字签名时,常被使用 通常,HASH 函数是公开的 输出长度应足够大,防止生日攻击 64-bits 认为太小 通常 128-512bits 8.1 Hash 函数设计原理 H能用于任何大小的数据分组; H产生定长输出; 对任意给定的x, H(x)要相对易于计算,使得软硬件实现都实际可行; 对任意给定的码h, 寻求x使得H(x)=h在计算上是不可行的(单向性); 任意给定分组x, 寻求不等于x的y, 使得H(y)= H(x)在计算上不可行(弱抗攻击性); 寻求对任何的(x,y)对使得H(x)=H(y)在计算上不可行(强抗攻击性); 综上所述,一个密码学上的安全Hash函数H应具有下述性质: (1)对任意的 ,计算 是容易的。 (2)寻找两个不同的消息 和 使得 是难解的。 Hash函数 Hash函数的分类 根据安全水平: 弱无碰撞:散列函数H称为是弱无碰撞的,是指对给定消息 ,在计算上几乎找不到异于x的x*使H (x)= H (x*) 。 ? 强无碰撞:散列函数H被称为是强无碰撞的,是指在计算上几乎不可能找到相异的x ,x* 使得H (x)= H (x*) 。 Hash函数 Hash函数的分类 根据是否使用密钥 带秘密密钥的Hash函数:消息的散列值由只有通信双方知道的秘密密钥K来控制。此时Hash值称作MAC。 不带秘密密钥的Hash函数:消息的散列值的产生无需使用密钥。此时Hash值称作MDC。 Hash函数 Hash函数的用途 ? 消息的完整性检测 ? 数字签名 Hash函数 Hash函数 使用Hash函数进行数字签名的好处 ? 提高数字签名的速度。 ? 无需泄露签名所对应的消息,可将签名泄露,如对消息x的签名是Sig(x),其z=H(x)可将(z,y)公开,而保密x。 ? 可将签名变换和加密变换分开,可以在OSI的不同层提供消息的完整性和机密性。 Hash函数  Hash函数的安全性:Hash函数的安全性取决于其抗击各种攻击的能力,对手的目标是找到两个不同消息映射为同一杂Hash值。一般假定对手知道Hash算法,采用选择明文攻击法。 Hash函数 对Hash函数的基本攻击方法 穷举攻击法:给定H=H(H0, M),其中H0为初值,攻击者在所有可能的M中寻求有利于攻击者的M’,使H(H0, M’)=H(H0, M),由于限定了目标H(H0, M)来寻找H(H0, M’),这种攻击法称为目标攻击。若对算法的初值H0不限定,使其H(H0, M)等于H(H0, M’),则称这种攻击法为自由起始目标攻击。 Hash函数 对Hash函数的基本攻击方法 生日攻击:这种攻击法不涉及Hash算法的结构,可用于攻击任何Hash算法。强无碰撞函数正是基于生日悖论一类的攻击法定义的。穷举和生日攻击都属选择明文攻击。生日攻击给定初值H0寻找M?M’, 使H(H0, M’)=H(H0, M),也可对初始值H0不加限制,即寻找H0’, M’使满足h(H0’, M’)=h(H0, M)。 Hash函数 Hash函数 Hash函数的迭代构造 将不限定长度的输入数据压缩成定长输出的Hash值过程: 将输入数字串划分成固定长的段如m比特段 将此m比特映射成n比特,称完成此映射的函数为迭代函数。 对一段m比特输入做类似映射,以此类推,直到全部输入数字串完全做完,以最后的输出值作为整个输入的Hash值。 Hash函数 将m bit到n bit的分组映射或迭代函数的三种选择 mn。有数据压缩,例如:MD4、MD5 SHA等算法。是不可逆映射。 m=n。无数据压缩,亦无数据扩展,通常分组密码采用这类。 mn。有数据扩展的映射。认证码属于此类。 8.2 基于分组密码的哈希函数 设 是任意一个消息, 其中 选择一个初始向量 ,令 在CBC(密码分组链接)工作模式下: 最后定义 CBC(密码分

文档评论(0)

jgx3536 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档