- 1、本文档共55页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
对称加密与消息机密性
第2章对称加密与消息机密性 对称加密概况 一些基本术语 明文plaintext – 原始消息或数据,作为算法的输入 密文ciphertext – 产生的已被打乱的消息,作为算法的输出 密码算法cipher 密钥key 加密encipher (encrypt) 解密decipher (decrypt) 密码编码学cryptography – 使消息保密的技术和科学 密码分析学cryptanalysis – 在不知道密钥的情况下破译密文的科学和技术。 密码学cryptology – 包括密码编码学和密码分析学 对称加密模型 Requirements 两个安全使用对称加密的要求: 一个够强(strong)的加密算法 密钥仅被发送者和接收者所知道 加解密算法的关系: Y = E(K, X) X = D(K, Y) 则:X = D(K, E(K, X)) 加密的安全取决于密钥的保密性而非算法的保密性,即算法公开 发送者和接收者必须通过安全的方式获取密钥并保证其安全性。 密码编码方法分类 根据编制原理分为: 替换(substitution):明文的每个元素都映射到另外一个元素 排列组合(transposition):明文的元素都被再排列,也叫做置换。 乘积体制(product system):包括多级替换和排列组合。 按照使用的密钥数分为: 对称/私钥/单钥 非对称/公钥/双钥 根据对明文的处理方式分为: 分组密码(block) 流密码(stream) 密码分析方法分类 密码分析的目的是获取密钥,而不是密文对应的明文。 常用的两种方法: 破译 穷举(brute-force) 破译方法 唯密文(ciphertext only) 知道密文 已知明文(known plaintext ) 知道密文,一个或多个用密钥产生的明文-密文对 选择明文(chosen plaintext ) 知道密文,并选定特定明文后用密钥产生对应的密文 选择密文(chosen ciphertext ) 知道密文,选定密文以及使用密钥产生对应的解密明文 选择文本(chosen text ) 知道密文,选定明文用密钥产生密文,选定密文用密钥产生明文 穷举 可能并且简单的攻击方法 取决于密钥长度 假设知道或者能够识别明文信息 何谓“计算安全” 破解密文的代价超出被加密信息的价值 破解密文需要的时间超出信息的有用寿命 符合上述条件之一或全部,成为是计算安全的。 DES(Data Encryption Standard ) 美国IBM公司的沃尔特.塔奇曼和卡尔.迈歇尔1971-1972年研制成功。 1975年3月公开发表,1977年1月15日由美国国家标准局颁布为联邦数据加密标准(Data Encryption Standard),于1977年7月15日生效。 主要应用领域:商用和计算机通信; DES的出现是密码史上的一个创举,是第一个公开发表的算法,任人测试、研究和分析,安全性完全依赖于密钥的保密。 DES(Data Encryption Standard ) 数据加密标准 DES 属于常规密钥密码体制,是一种分组加密算法,是针对二进制编码数据设计的。 在加密前,先对整个明文进行分组。每一个组长为 64 bit。 然后对每一个 64 bit 二进制数据进行加密处理,产生一组 64 bit 密文数据。 最后将各组密文串接起来,即得出整个的密文。 使用的密钥为 64 bit(实际密钥长度为 56 bit,有 8 bit 用于奇偶校验),密钥可以是任意的56位的数,且可在任意的时候改变。 解密和加密过程相似,加密和解密用的是同一算法,只是密钥的顺序正好相反。 所有的保密性依赖于密钥。 步骤 第一步:变化明文。对给定的64位明文x,首先通过一个置换IP表来重新排列,从而构造出64位的x0,x0=IP(x)=L0R0。 第二步:按照规则迭代。规则为: Li=Ri-1 Ri=Li⊕f(Ri-1,ki) (I=1,2,…,16) 符号⊕表示数学上的“异或”运算。f表示一种置换,由S盒置换构成,Ki是一些由密钥编排函数产生的子密钥。 第3步:对L16R16利用IP-1作逆置换,就得到了密文。 子密钥的生成 循环左移:根据迭代的轮数,分别左移一位或两位 一轮迭代 扩展置换(E) 将Ri从32位扩展到48位 目的:输入的每一位影响下一步的两个替换,使得输出对输入的依赖性传播得更快,密文的每一位都依赖于明文的每一位 S-盒 置换 将48比特压缩成32比特 S-盒 置换 输入6比特: b1b2b3b4b5b6 输出4比特:S(b1b6 , b2b3b4b5) P-盒置换 32比特输入,32比特输出 DES解密过程 D
文档评论(0)