版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单纯的加解密算法无法保证抵抗下述攻击伪装内容修改顺序修改计时修改发送方否认接收方否认消息认证码数字签名不属于机密性范畴,属于数据完整性范畴
Chapter11
密码学Hash函数《计算机与网络安全》
哈希函数(杂凑函数)(1)Hash编码;(2)Hash函数;(3)散列编码:(4)散列函数;(5)单向压缩函数。哈希函数在公钥密码的内容中,已经介绍了“单向函数”的概念。而哈希函数是一类特殊的单向函数。设数据文件是任意长度的比特串x
。在密码应用中,希望有这样的函数y=H(x),满足:(1)将x压缩成为固定长度的比特串y。(2)不同的x一定要生成不同的y。(一般情况)(3)由y的值无法倒算x的值。2023/2/2西安电子科技大学计算机学院5Hash函数浓缩任意长的消息M到一个固定长度的取值h=H(M)
通常假设hash函数是公开的且不使用密钥(MAC使用密钥)Hash函数用户检测对消息的改变密码学Hash函数2023/2/2西安电子科技大学计算机学院7哈希函数的应用消息认证数字签名Hash函数用于消息认证2023/2/2西安电子科技大学计算机学院8Hash函数用于消息认证2023/2/2西安电子科技大学计算机学院9Hash函数用于数字签名2023/2/2西安电子科技大学计算机学院10Hash函数的其他用途给明文增加结构特征以保护密文从口令衍生密钥挑战-应答认证协议中用来产生随机数2023/2/2西安电子科技大学计算机学院11密码学Hash函数的基本性质单向性:对于预先给定的Hash值找不到对应的数据块抗碰撞性:找不到不同的数据块对应相同的Hash值2023/2/2西安电子科技大学计算机学院12Hash函数h=H(x)的安全性要求函数参数输入:可以任意长度输出:必须固定长度n比特,一般n=128、160bits函数特性效率:给定x,计算H(x)=h是容易的单向性:给定h,要找x使H(x)=h是困难的弱抗碰撞特性: 对于给定的y,找x,使H(x)=H(y)是困难的强抗碰撞特性(生日攻击):找(x1,x2),x1≠x2,H(x1)=H(x2)是困难的伪随机性:输出满足伪随机测试标准2023/2/2西安电子科技大学计算机学院13找碰撞:生日攻击最多尝试2n+1个报文,必有至少一对碰撞问:平均尝试多少个报文,可以以1/2的概率找到一对碰撞?
~2n/2类比问题(生日问题)最多找365+1个人,则必有至少两个人生日相同问:平均找多少个人,能以1/2的概率找到两人生日相同?
23如果采用64-bit的Hash码,以一半概率找到碰撞的代价的数量级是2322023/2/2西安电子科技大学计算机学院14生日悖论2023/2/2西安电子科技大学计算机学院15Hash安全特性之间的关系抗原像攻击抗弱碰撞攻击抗强碰撞攻击2023/2/2西安电子科技大学计算机学院16Hash函数设计考虑奇偶校验异或XOR(或者累加)只能检出奇数个比特错误CRC常用在帧校验仍有很高的比率不能检出传输比特错误*不能满足单向性和抗碰撞性复杂的密码学用散列函数MD2/MD5SHA/SHA12023/2/2西安电子科技大学计算机学院17基于分组密码的散列函数的缺点不利于随机化因为加密是可逆的,分组密码存在规则性分组密码通常很慢分组密码分组长度小于散列值长度通常64位或128位vs.128/160/256/384/5122023/2/2西安电子科技大学计算机学院19Hash算法Hash函数和分组密码的发展变化具有相似性穷举攻击能力的增强算法的不断改进分组密码:从DES到AESHash算法:从MD4、MD5到SHA-1、RIPEMD-160、SHA-512、Whirlpool2023/2/2西安电子科技大学计算机学院20§12.1MD5消息摘要算法由RonaldRivest设计MD2(1989),MD4(1990),MD5(1991)
产生128-bit的hash值直到现在仍是被广泛使用的hash算法最近已受到穷举攻击和密码分析攻击作为互联网的RFC1321标准2023/2/2西安电子科技大学计算机学院21MD5概览增加填充位。使得填充后的消息长度比512的某整数倍少64位(即长度=448mod512,64位用于存放消息的长度mod264的结果)填充长度(填充前消息的长度为K位,将mod264的结果填充到第一步的最后,最低有效位在前。)初始化MD缓冲区(A,B,C,D):4个字共128-bit,每字32bit.A=67452301B=EFCDAB89C=98BADCFED=10325476以16个字(512bits)为分组处理消息用4轮(64次迭代)以16位操作对消息分组和缓冲区进行处理把输出与缓冲输入相加作为新的缓冲值
把最后的缓冲值作为hash输出值(128比特)2023/2/2西安电子科技大学计算机学院22MD5处理过程CV0=IVCVq+1=SUM32[CVq,RFI(Yq,RFH(Yq,RFG(Yq,RFF(Yq,CVq))))]MD=CVL-1其中:IV=第三步定义的缓冲区ABCD的初值Yq=消息的第q个512位分组L=消息分组的个数(包括填充位和长度域)CVq=处理消息的第q个分组时所使用的链接变量RFx=使用基本逻辑函数x的轮函数MD=消息摘要SUM32=对输入字分别执行模232加法2023/2/2西安电子科技大学计算机学院23MD5Overview2023/2/2西安电子科技大学计算机学院232023/2/2西安电子科技大学计算机学院242023/2/2西安电子科技大学计算机学院25MD5的强度MD5的hash值依赖于消息的所有比特位Rivest声称它对于已知攻击安全性足够好:Berson92采用差分的方法对单轮的攻击Boer&Bosselaers93说明了如何找到碰撞Dobbertin96提出的攻击对MD5最具威胁,可使MD5压缩函数产生碰撞。结论是MD5似乎不久就会有风险2023/2/2西安电子科技大学计算机学院26§12.2安全Hash算法(SHA-1)SHA由NIST和NSA在1993年提出,修订版于1995年发布,称作SHA-1作为美国DSA数字签名方案的标准FIPS180-11995,InternetRFC3174注意:算法是SHA,标准称为SHS产生160-bithash值
现在作为建议的hash算法
基于MD4的设计2023/2/2西安电子科技大学计算机学院27SHA概览增加填充位
填充长度初始化5个字(160-bit)缓冲区(A,B,C,D,E)为(67452301,efcdab89,98badcfe,10325476,c3d2e1f0)以16个字(512-bit)为分组处理消息:将分组的16个字扩充为80个字用于压缩过程中4轮,每轮20步迭代把输出和输入相加以形成新的缓冲区取值将最后缓冲区的值作为hash值输出2023/2/2西安电子科技大学计算机学院282023/2/2西安电子科技大学计算机学院29SHA-1压缩函数2023/2/2西安电子科技大学计算机学院30SHA-1versesMD5穷举攻击更加困难(SHA-1:160,MD5:128)
对已知攻击不存在风险(与MD4/5相比)(SHA-1的设计原则尚未公开)速度比MD5慢(80步,64步)两者设计都很简单紧凑2023/2/2西安电子科技大学计算机学院31SHA的修改NIST1981年已经发布了FIPS180-2除SHA-1外,新增加了3个hash算法:
SHA-256,SHA-384,SHA-512,消息摘要的长度分别为:256
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 创意景观设计劳务分包协议样本
- 个人借款合同担保
- 绿植绿化服务协议
- 信息服务合同协议书
- 货架陈列终端摆放合同
- 2024年度广告投放合同标的广告效果评估与费用结算协议
- 营销策划顾问合作方案
- 冲钻桩工程劳务承包
- 电动门定制采购协议
- 劳务派遣协议
- 学校防范非法宗教势力渗透工作机制
- 做纸杯蛋糕 (教案)-五年级上册劳动浙教版
- 无套利分析方法课件
- ERCP+EST+ENBD相关知识及护理
- 新教材高中化学第3章物质的性质与转化实验活动补铁剂中铁元素价态的检验学案鲁科版必修1
- ICU常用药物2016.06.06幻灯片
- 住院患者导管滑脱危险因素评估表
- 五保户照料协议书
- 基层武装工作绩效考核评分细则
- 重点环节、重点部位医院感染预防与控制
- 产品操作说明书lcd显示单元用户手册ds d2046nh v
评论
0/150
提交评论