- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[清华大学出版社第5章散列函数和消息鉴别
课程主要内容 第1章 密码学概述 第2章 古典密码技术 第3章 分组密码 第4章 公钥密码体制 第5章 散列函数与消息鉴别 第6章 数字签名技术 第7章 密钥管理技术 第8章 身份鉴别技术 第9章 序列密码 第10章 密码技术应用 第5章 散列函数与消息鉴别 本章主要内容 散列函数的概念 散列函数的构造与设计 安全散列算法SHA 对散列函数的攻击 消息鉴别 第5章 散列函数与消息鉴别 5.1 散列函数的概念 密码学中的散列函数又称为哈希函数(Hash函数)、杂凑函数,它是一种单向密码体制,是一个从明文到密文的不可逆映射,只有加密过程,不能解密。 散列函数的性质 第5章 散列函数与消息鉴别 散列函数的应用 散列函数的主要应用有以下三个方面: 1)保证数据的完整性 2)单向数据加密 3)数字签名 应用散列函数实现数据完整性保护的模型: 第5章 散列函数与消息鉴别 第5章 散列函数与消息鉴别 第5章 散列函数与消息鉴别 第5章 散列函数与消息鉴别 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 设散列函数为h(m),具有以下基本特性: (1)h(m)算法公开,不需要密钥。 (2)具有数据压缩功能,可将任意长度的输入数据转换成一个固定长度的输出。 (3)对任何给定的m,h(m)易于计算。 散列函数必须满足以下安全性要求: (1)具有单向性。给定消息的散列值h(m),要得到消息m在计算上不可行; (2)具有弱抗碰撞性(Weak collision resistance)。对任何给定的消息m,寻找与m不同的消息m’,使得它们的散列值相同,即h(m’)=h (m),在计算上不可行。 (3)具有强抗碰撞性(Strong collision resistance) 。寻找任意两个不同的消息m和m’, 使得h(m)=h (m’) 在计算上不可行。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 注:实际应用中,未必一定是如h(m‖k)的计算方式,明文与密钥k的组合方式因不同的实现可以不同。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 算法中重复使用一个函数f 。函数f的输入有两项,一项是上一轮(第i-1轮)的输出CVi-1,称为链接变量,另一项是算法在本轮(第i轮)b位的输入分组mi。 5.2 散列函数的构造与设计 迭代型散列函数的一般结构 整个散列函数的逻辑关系可表示为: CV0 =IV; CVi = f(CVi-1,mi);1≤i≤t; h(M)= CVt Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 虽然在合理的假设下,可以证明这类散列函数是安全的,由于它的计算效率太低,所以这一类散列函数并没有什么实用价值。 散列函数的基本设计方法有:基于公开密钥密码算法的设计、基于对称分组密码算法的设计以及直接设计法。 1.基于公开密钥密码算法设计散列函数 散列函数的设计方法 以CBC模式利用公开密钥算法,使用公钥PK以及初始变量IV对消息分组进行加密,并输出最后一个密文分组ct作为散列函数输出值,如图5.3所示。 Evaluation only. Created with Aspose.Slides for .
文档评论(0)