数据加密的标准.ppt.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据加密的标准.ppt

* IP IP—1 * DES中的子密钥的生成 * 数据加密标准 (Data Encryption Standard,DES) * 序列密码和分组密码 一次只对明文中的单个位(有时对字节)运算的算法称为序列算法(stream algorithm)或序列密码(stream cypher) 另一类算法是对明文的一组位进行运算,这些位称为分组(block),相应的算法称为分组算法(block algorithm)或分组密码(block cypher)。 * 背景 发明人:美国IBM公司 W. Tuchman 和 C. Meyer 1971-1972年研制成功 基础:1967年美国Horst Feistel提出的理论 产生:美国国家标准局(NBS)1973年5月到1974年8月两次发布通告, 公开征求用于电子计算机的加密算法。经评选从一大批算法中采纳 了IBM的LUCIFER方案 标准化:DES算法1975年3月公开发表,1977年1月15日由美国国家标准局颁布为数据加密标准(Data Encryption Standard),于1977年7月15日生效 * 背景 美国国家安全局(NSA, National Security Agency)参与了美国国家标准局制定数据加密标准的过程。NBS接受了NSA的某些建议,对算法做了修改,并将密钥长度从LUCIFER方案中的128位压缩到56位 1979年,美国银行协会批准使用DES 1980年,DES成为美国标准化协会(ANSI)标准 1984年2月,ISO成立的数据加密技术委员会(SC20)在DES基础上制定数据加密的国际标准工作 * DES概述 分组加密算法:明文和密文为64位分组长度 对称算法:加密和解密除密钥编排不同外,使用同一算法 采用混乱和扩散的组合,每个组合先替代后置换,共16轮 只使用了标准的算术和逻辑运算,易于实现 密钥长度:56位(密钥通常表示位64位,但第8位、16位…第64位都用作奇偶校验)产生16个48位的子密钥 * Shannon 乘积密码 设有两个子密码系统T1和T2,则先以T1对明文进行加密,然后再以T2对所得结果进行加密。其中,T1的密文空间需作为T2的“明文”空间。乘积密码可表示成 T=T1T2 利用这两种方法可将简单易于实现的密码组合成复杂的更为安全的密码。 * 扩散(diffusion)和混乱(confusion) 扩散:就是将明文的统计特性迅速散布到密文中去,实现方式是使得明文的每一位影响密文中多位的值,即密文中每一位受明文中多位影响;将密钥的每位数字尽可能扩散到更多个密文数字中去,以防止对密钥进行逐段破译。根据扩散原则,分组密码应设计成明文的每个比特与密钥的每个比特对密文的每个比特都产生影响。 混乱:的目的在于使明文和密文之间的统计关系变得尽可能复杂。使用复杂的非线形代换算法可得预期的混淆效果。 * Feistel网络 很多分组密码的结构从本质上说都是基于一个称为Feistel网络的结构。Feistel提出利用乘积密码可获得简单的代换密码,乘积密码指顺序地执行多个基本密码系统,使得最后结果的密码强度高于每个基本密码系统产生的结果。 * Feistel网络 一层结构 取一个长度为n的分组(n为偶数),然后把它分为长度为n/2的两部分:L和R。定义一个迭代的分组密码算法,其第i轮的输出取决于前一轮的输出: L(i)= R(i-1) R(i)= L(i-1)⊕f(R(i-1),K(i)) K(i)是i轮的子密钥,f是任意轮函数。 容易看出其逆为: R(i-1) = L(i) L(i-1) = R(i)⊕f(R(i-1),K(i)) = R(i)⊕f(L(i),K(i)) L(i-1) R(i-1) ⊕ * Feistel网络 * DES工作原理 基于Feistel网络 假定信息空间都是由{0,1}组成的字符串,信息被分成64比特的块,密钥是56比特。经过DES加密的密文也是64比特的块。设用m表示信息块,k表示密钥,则: m=m1m2…m64 mi = 0或1 k=k1k2…k64 ki = 0或1 其中k8,k16,k24,k32,k40,k48,k56,k64是奇偶校验位,真正起作用的仅为56位。 * 加密算法: Ek(m) = IP-1·T16·T15……T1·IP(m) 其中IP为初始置换,IP-1是IP的逆,Ti是一系列的变换。 解密算法: m=Ek-1 [Ek(m

文档评论(0)

bokegood + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档