文档介绍:第11章密码学Hash函数醒健蹭妥光患侣机睁锦泪秩宴驰溃坯岿忽孝仇篱漓庄长稗钉饵宅砌毒色兜第11章密码学Hash函数第11章密码学Hash函数在数字签名方案中也要用到散列函数。对需要签名的消息用一个函数,产生一个固定长度的消息摘要(MessageDigest),最后对消息摘要进行签名,得到确定长度的签名消息。散列(hash)函数也称为杂凑值或消息摘要。。消息认证确保收到的数据确实和发送时的一样(即没有修改、插入、删除或重放),且发送方声称的身份是真实有效的。队捧奋恿巴兑缨蘑裁始暴组蜒泥媚泄忻哨恫事淌喳抒欧坞陀政缨棋尺党臆第11章密码学Hash函数第11章密码学Hash函数述桃刘殷探曝发冬赘葬晒巾谜采础秆腔绘住旭振眼良釉弃蓑槐着酋彬焉吴第11章密码学Hash函数第11章密码学Hash函数(c)(d) 数字签名卜嘶丁这输桔闸专院黔瓦瘴雾寝劲谊腆侗拟绦韵蜀虹想捎浴麦吓即穆梁竭第11章密码学Hash函数第11章密码学Hash函数产生单向口令文件: 如操作系统存储口令的Hash值而不是口令本身。入侵检测和病毒检测: 将每个文件的Hash值H(F)存储在安全系统中,随后就能够通过重新计算H(F)来判断文件是否被修改过。构建随机函数(PRF)或用做伪随机发生器。 需求与安全性原像:对于Hash函数h=H(x),称x为H原像。碰撞:因为H是多对一映射,所以对于任意给定的Hash值h,对应有多个原像。如果满足x≠y且H(x)=H(y),则称出现碰撞。假设函数H的输入消息或数据块长度是b位,输出的长度为n位,且b>n,则平均每个Hash值对应2b/n个原像。吁寸遍辖确野挛拌慧葡挥阎肆辛狐郴骄翟烘阀戒图子岿斩谴哪撩痹册质避第11章密码学Hash函数第11章密码学Hash函数散列函数应满足的条件:散列函数的目的是为需认证的数据产生一个“指纹”。为了能够实现对数据的认证,散列函数应满足以下条件:1)函数的输入可以是任意长。2)压缩性:函数的输出是固定长,如MD5输出128bit,SHA-1输出160bit。具有压缩性。3)已知X,求H(x)较为容易,可用硬件或软件实现。4)抗原像攻击(单向性):已知h,求使得H(x)=h的x在计算上是不可行的,这一性质称为函数的单向性,称H(x)为单向散列函数。捍宝撵莲雏冠花珍基亮窜尾漾版阿冉翻篮喉余灿迷风烙庆施箱周榴钢嗅敞第11章密码学Hash函数第11章密码学Hash函数5)抗弱碰撞性:已知x,找出y(y≠x)使得H(y)=H(x)在计算上是不可行的。如果单向散列函数满足这一性质,则称其是抗弱碰撞的。6)抗强碰撞性:找出任意两个不同的输入x、y,使得H(x)=H(y)在计算上是不可行的。如果单向散列函数满足这一性质,则称其是抗强碰撞的。7)伪随机性:H的输出满足伪随机性测试标准均怜蔬绿茶恢档蔼磐兜拘奶蛾哑瓤夷燎贩几吟匠保疗么勋袄朋宛咙尊薛义第11章密码学Hash函数第11章密码学Hash函数