- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
消息摘要和数字签名 主讲人:裴士辉 e_mail: shihui_pei @ 电话 消息摘要和hash 函数 消息摘要 单向散列函数 安全散列标准SHS 其他的单向散列函数 消息摘要 对任意长度的明文m,经由哈希函数(杂凑函数)h产生固定长度的哈希值h(m),用来对明文作鉴别(authentication)或数字签名(digital signature)。 哈希函数值是对明文的一种“指纹”(finger print)或是摘要(digest)。 对哈希函数值的数字签名,就是对此明文的数字签名,可以用来提高数字签名的效率。 单向散列函数 x = h (m) 使用在数字签名上的哈希函数必须满足: 对任意长度的明文m,产生固定长度的哈希值h(m); 对任意的明文m,哈希函数值h(m)可由硬件或软件容易得到; 对任意哈希函数值x,要找到一个明文m与之对应, 即x = h(m),在计算上不可行; 对一个明文m1,要找到另一个不同的明文m2,使之具有相同的哈希值,即h(m1) = h(m2),在计算上不可行; 要找到任意一对不同的明文(m1, m2),具有相同的哈希值,即h(m1) = h(m2),在计算上不可行。 安全散列标准SHS 1995由美国NIST提出,SHS(Secure Hash Standard),算法为SHA。 要求输入小于264位, 输出为160位(5个寄存器,A, B, C, D, E)。 将明文分成若干512位的定长块,每一块与当前的信息摘要值结合,产生信息摘要的下一个中间结果,直到处理完毕。 SHA的运算过程 将消息填充为512位的整数倍 5个32位中间变量a b c d e,起初值为常数 对5个32位的寄存器A、B、C、D、E,进行运算 A B C D E的初值为0 对每一个512位的消息进行如下处理: 将中间变量a b c d e 赋给A B C D E; 进行主循环 四轮,每轮20次 a=a+A, b=b+B,c=c+C,d=d+D, e=e+e 最后输出为a b c d e 的级联 a,b,c,d,e的初值 a=0 b=0xefcdab89 c=0x98badcfe d=0 e=0xc3d2e1f0 非线性函数F Ft(x,y,z)=(xy)|(~xz) 0=t20 Ft(x,y,z)=x^y^z 20=t40 Ft(x,y,z)=(x^y)|(x^z)|(y^z) 40=t60 Ft(x,y,z)=x^y^z 60=t80 Kt:常数 Kt=0x5a827999 0=t20 Kt=0x6ed9eda1 20=t40 Kt=0x8f1bbcdc 40=t60 Kt=0xca62c1d6 60=t80 Wt:消息的变形 消息:512bit,16个32bit字 M0~M15 Wt: 32bit字 0=t=15 Wt=Mt 16=t=79 Wt=(Wt-3^Wt-8^Wt-14^Wt-16)1 其他的单向散列函数 RIPEMD-160 欧洲RIPE项目的结果 RIPEMD为128位 更新后成为RIPEMD-160 基础是MD5 MD5 Ron Rivest于1990年提出MD4 1992年, MD5 (RFC 1321) developed by Ron Rivest at MIT MD5把数据分成512-bit块 MD5的hash值是128-bit 在最近数年之前,MD5是最主要的hash算法 现行美国标准SHA-1以MD5的前身MD4为基础 王小云对MD5的攻击 方法: 差分攻击 模整数减法 异或运算 王小云对MD5的攻击 目的:寻找如下条件的消息: (a, b, c, d) = MD5(a0, b0, c0, d0,M0), (a’, b’, c’, d’) = MD5
文档评论(0)