文档详情

信息安全技术基础_第十章.ppt

发布:2016-08-16约1.31千字共19页下载文档
文本预览下载声明
散列函数 散列函数用于确保数据的完整性 散列函数:Hash哈希函数,数字指纹,报文摘要等都是表示类似的东西 举例:MD5 MD5(“”) = d41d8cd98f00b204e9800998ecf8427e MD5(“abc”)=900150983cd24fb0d6963f7d28e17f72 MD5(ThisIsALonggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggLine) = f96d049c093e387b0d5fe034a2b8039d 散列函数的特征 任意长度的信息用一个函数,产生一个固定长度的消息摘要 要求h满足两个性质: 1)压缩性:h映射任意有限长度的输入x,得到固定长度的输出h(x) 2)易计算:给定输入x, h(x) 容易计算 任意的输入长度,得到固定的输出长度 碰撞 如果两个不同的x, x’,有h(x) = h(x’),称为碰撞 哈希函数必然存在碰撞。但是好的哈希函数难以找出碰撞 无碰撞哈希函数 真正意义上的无碰撞是不存在的 弱无碰撞性:给定x, 找出x’, 使 h(x) = h(x’)是困难的(第一类生日攻击) 强无碰撞性:找出两个x, x’,使h(x) = h(x’) 是困难的(第二类生日攻击) 安全的散列函数是强无碰撞的 MD5(消息摘要) Message Digest 5 MD系列散列函数由RSA公司提出。包括MD1, MD2, MD3, MD4, MD5 MD4是Windows NT 的新版本的密码验证方式。 MD5 接受任意长度的输入,产生128位输出 当前 MD5的应用较为广泛 因为已经出现MD5的弱点,构造安全的系统不应该再选用 MD5算法在2004年8月被中国山东大学的王小云攻破(不满足弱无碰撞),可以对任意的报文x, 构造出x’, 使 MD5(x) = MD5(x’) MD5的应用 许多开放源码的软件将MD5作为软件的校验码 Linux下的密码验证 MD5的前身MD4是Windows NT的密码验证方式 SHA(Secure Hash Algorithm) SHA, SHA1, SHA256, SHA384, SHA512 1993年公布,SHA是DSS中规定的散列算法 1995年,推出修订版SHA1 SHA1接受小于 2 ^ 64的输入,输出160位 目前没有找到SHA1的弱点 结合散列函数的数字签名 数字签名的两种方式 直接对消息进行数字签名: 要求消息比较短 将消息的散列函数值进行数字签名 可以对任意长的消息进行签名,而且签名信息很短 对散列函数值进行签名的机制 作业 实用中,数字签名并不是直接对消息本身进行签名,而是对消息的______进行签名。 MD5的输出结果为______个字节,而SHA1的输出结果是______个字节 比较加密运算和散列函数的区别 * * 消息M 散列函数H 签名 散列函数H 签名验证 消息M 签名值 消息M 签名值
显示全部
相似文档