- 1、本文档共73页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Applications of one-way hash Password files (one way) Digital signatures (collision resistant) Sign hash of message instead of entire message Data integrity Compute and store hash of some data Check later by recomputing hash and comparing Keyed hash for message authentication MAC – Message Authentication Code 用于数据完整性验证 ??? 用于数字签名(digital signature) 只有发送者才能生成的标志,接收者可以用来确认是否属于发送者 必须满足两个主要条件:不可伪造;可检验 在完成交易需要另外两个性质: 不可变(完整性) 不可重用(时间戳) 接收方可以验证发送方所宣称的身份 发送方以后不能否认该消息的内容 接收方不可能自己编造这样的消息 用于数字签名(1) 一些直接基于加密机制的签名方案 对签名的批评:签名和必威体育官网网址合在一起 认证不需对整条信息加密 用于数字签名(2) 对hash后的信息进行加密用作签名 消息认证码 消息认证是一种允许通行者验证所收消息是否可信的措施 验证消息的内容有无被篡改 验证信源是否可信 验证消息的时效性。 基于散列函数消息认证码-HMAC 设计散列函数不是为了用作MAC,因此不能达到MAC的目的 将密钥结合到现有的散列算法中,最广为被接收的方案是HMAC。 发布为RFC2104标准,被应用于Internet安全协议中,IPsec ,TLS , SET等。 HMAC的设计目标 不改动就可以使用散列函数。 嵌入式散列函数要有很好的可移植性 保持散列函数原有性能,不发生显著退化 使用和处理密钥简单 基于散列函数消息认证码-HMAC uses hash function on the message: HMACK(M)= Hash[(K+ XOR opad) || Hash[(K+ XOR ipad) || M)] ] where K+ is the key padded out to size opad, ipad are specified padding constants ipad (重复b/8次) opad(重复b/8次) overhead is just 3 more hash calculations than the message needs alone any hash function can be used eg. MD5, SHA-1, RIPEMD-160, Whirlpool 基于分组密码的MAC—CMAC CMAC的操作方式适用于AES和3DES widely used in govt industry but has message size limitation thus forming the Cipher-based Message Authentication Code (CMAC) adopted by NIST SP800-38B 美国国家标准及技术研究特刊 基于分组密码的MAC—CMAC 思考题 公开密钥与对称密钥的区别?应用场景的区别 典型的对称密钥算法和公开密钥算法 HMAC的作用? HMAC与CMAC的区别 * * Feistel密码结构(所有对称密钥使用的最普通的结构) 1973年,Horst Feistel提出了基于可逆乘积加密器概念的Feistel Cipher: 将输入分组分成左右两部分,实施Shannon’s的substitution-permutation network 概念 对左半部数据实施多回合的替代操作(substitution) 对右半部数据和子密钥应用round函数F,其输出与左一半做异或 将这两部分进行互换(permutation swapping) Feistel加密器设计原则 分组长度:分组越长则安全性越高,但加/解密速度越低,分组长度为64位是一个合理的折衷 密钥长度:密钥越长越安全,但加/解密速度越低,64位长的密钥已被证明是不安全的,128位是常用的长度 迭代次数:迭代越多越安全,通常为16次迭代 子密钥产生算法:越复杂则密码分析越困难 Round循环函数:越复杂则抗密码分析的能力越强 快速
文档评论(0)