- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Hash函数与消息认证 一、 Hash函数概述 二、 Hash函数MD5 三、安全Hash算法SHA 四、基于分组密码与离散对数的Hash函数 五、消息认证 一、 Hash函数概述 Hash函数 单向函数 函数f(x):A→B若满足下面两个条件,则称为单向函数 对于任意x*∈A计算y=f(x)是容易的,其中 y ∈B。 对于x∈A,求y∈B 使满足y=f(x)是计算上不可能的 。 Hash函数 Hash函数 设H:将A*映射到An,H满足: H是单向函数。 已知 x, 找 x*∈A* ,使H (x)= H (x*)在计算上是不可能的。 找一对 x 和 x* ,x ≠ x* ,使H (x)= H (x*) 在计算上也是不可能的。 H称为安全的Hash函数。 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。有数据扩展的映射。认证码属于此类。 Hash函数 迭代函数以E表示,一般E又都是通过基本轮函数的多轮迭代实现的,因此,轮函数的设计是Hash函数设计的核心。 迭代Hash函数的构造方法 安全迭代函数E 消息M划分成组M1, M2,…, Mi ,…, Mt 选定密钥为K, H0为初始向量IV, Hash函数 Rabin法: H0=IV; Hi=E(Mi, Hi-1) i=1,…,t; H(M)=Ht 。 密码分组链接(CBC)法: H0=IV;Hi=E(K, Mi ?Hi-1) i=1,2,…,t; H(M)=Ht 。 密码反馈(CFB)法: Hi=E(K, Hi-1?Mi),i=1, 2,…,t;H(M)=Ht Hash函数 组合明/密文链接法: Mt+1=IV;Hi=E(K,Mi?Mi-1?Hi-1) i=1, 2,…, t ;H(M
您可能关注的文档
最近下载
- 2025年最新劳动合同法全文.docx VIP
- 养老服务机构服务质量星级评定检查细则一.doc VIP
- 中国心血管健康与疾病报告.pdf VIP
- 《中国天然气发展报告(2016)》.docx VIP
- (高清版)B-T 24353-2022 风险管理 指南.pdf VIP
- GB∕T 24353-2022 《风险管理 指南》解读和应用指导材料(雷泽佳编写2024B0).pdf VIP
- 2025年版检验检测机构资质认定评审准则考试试题及答案.pdf VIP
- 前交通动脉瘤破裂伴蛛网膜下腔出血个案护理.pptx VIP
- 临床颅内动脉瘤破裂伴蛛网膜下腔出血的个案护理.pptx VIP
- 检验检测机构资质认定评审准则试题及答案.pdf VIP
文档评论(0)