- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章-数字签名和
第3章数字签名和认证 ?本章导读 1. Hash算法 2. 数字签名技术 3. 身份认证 4. PKI 5. PMI 第3章数字签名和认证 3.1Hash算法 3.1.1Hash函数的定义 Hash函数是将任意长的消息(明文)m,压缩成一个固定长度的散列值的函数,以h(m)表示。Hash函数也称为“散列函数”或“杂凑函数”。 3.1.2Hash函数的分类 单向Hash函数按其是否使用密钥控制可划分为两类,即带密钥控 第3章数字签名和认证 制的单向Hash函数h(k,m)和不带密钥控制的单向Hash函数h(m)。无密钥控制的单向Hash函数,其Hash值只是输入字串的函数,任何人都可以计算,因而不具有身份认证功能,只用于检测接收数据的完整性。如窜改检测码MDC,在安全的Hash标准中就采用了这种技术。而带密钥控制的单向Hash函数,其Hash值不仅与输入有关,而且与密钥有关,只有具有密钥的人才能计算出相应的Hash值,因此具有身份验证的功。 第3章数字签名和认证 3.1.3Hash函数的安全性 Hash函数的安全性取决于抗及各种攻击的能力。攻击者的主要目标是找到一对或更多对碰撞消息。一般假定攻击者知道单向Hash函数的算法。对单向Hash函数的主要攻击方法是生日攻击。 3.1.4安全Hash函数的一般结构 这个结构是由Merkle提出的,是一个迭代结构。目前所使用的大多数Hash函数均为这种结构。Hash函数接收一个输入消息,并把输入信息分为L-1个固定长度为b位的分组。若第L-1个分组不足b 第3章数字签名和认证 位,则将其充填为b位,然后再附加一个表示该Hash函数输入的总长度值。包含这个长度值将增加攻击的难度,因为攻击者必须找出两个具有相同长度和相同Hash值的消息,或者找出两条长度不等但加入各自的长度后Hash值相同的消息。 3.1.5 MD5算法 MD5的全称是Message-digest Algorithm 5(信息-摘要算法),用于确保信息传输完整一致。在90年代初由MIT Laboratory for 第3章数字签名和认证 Computer Science和RSA Data Security Inc,的Ronald L. Rivest开发出来,经MD2、MD3和MD4发展而来。它的作用是让大容量信息在用数字签名软件签署私人密钥前被压缩成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数)。不管是MD2、MD4还是MD5,它们都需要获得一个随机长度的信息并产生一个128位的信息摘要。虽然这些算法的结构或 第3章数字签名和认证 多或少有些相似,但MD2的设计与MD4和MD5完全不同,那是因为MD2是为8位机器做过设计优化的,而MD4和MD5却是面向32位的电脑。 3.1.5.1算法描述 在MD5算法中,首先需要对信息进行填充,使其字节长度对512求余的结果等于448。因此,信息的字节长度(Bits Length)将被扩展至N*512+448,即N*64+56个字节(Bytes),N为一个正整数。填充的方法如下,在信息的后面填充一个1和无数个0,直到满足上面的条件时才停止用0对信息的填充。 第3章数字签名和认证 3.1.5.3 MD5的安全性 MD5有这样一个性质,即杂凑码中的每一个比特是所有输入比特的卤数,因此获得了很好的混淆效果,从而使得不可能随机选择两个具有相向杂凑值的消息。Rivest猜想作为128比特长的杂凑值来说,MD5的强度达到了最大,比如说找出具有相同杂凑值的两个消息需执行O(2128)次运算,而寻找具有给定杂凑值的一个消息需要执行O(264)次运算。 目前对MD5的攻击已取得以下结果: 第3章数字签名和认证 ①对单轮MD5使用差分密码分析,可在合理的时间内找出具有相同杂凑值的两个消息。但这种攻击还未能成功地推广到4轮MD5。 ②可找出一个消息分组和两个相关的链接变量(即缓冲区变量ABCD),使得算法产生出相同的输出。目前这种攻击还未能成功地推广到整个算法。 ③对单个512比特长的消息分组己成功地找出了碰撞,即可找出另一个消息分组,使得算法对两个消息分组 第3章数字签名和认证 的128比特长的输出相同。目前这种攻击还未成功推广到在有初值IV时对整个消息运行该算法。 3.1.6 SHA算法 安全杂凑算法SHA(Secure Hash Algorithm)由美国NIST设计,于1993年作为联邦信息处理标准(FIPS PUB l80)公布。SHA是基于MD4算法,其结构与MD4非常类似。 3.1.6.1算法描述 第3章数字签名和认证 算法的处理过程有以下几步: 第1步(对消息填充):与MD5的第1步完全相同。 第2步(附加消息的长度):与MD5的第2步类似,不同
文档评论(0)