实验五-对称密码基本加密实验-DES、3DES.docVIP

实验五-对称密码基本加密实验-DES、3DES.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验五-对称密码基本加密实验-DES、3DES 实验五-对称密码基本加密实验-DES、3DES PAGE 实验五-对称密码基本加密实验-DES、3DES 实验五 对称密码基本加密实验-DES、3DES 【 实验目的】 理解对称密码体制和分组密码算法的基本思想 理解 DES、3DES 等算法的基本原理 掌握上述密码算法的输入输出格式和密钥格式 掌握上述密码算法的加解密过程和实现方法 【实验原理】 对称密码体制使用相同的加密密钥和解密密钥,其安全性主要依赖于密钥的保密性。分组密码是对称密码体制的重要组成部分,其基本原理为:将明文消息编码后的序列m0,m1,m2,…,mi划分为长度为L(通常为64或128)位的组m=(m0,m1,m2,…,mL-1),每组分别在密钥k=(k0,k1,k2,…,kt-1)(密钥长度为t)的控制下变换成等长的一组密文输出序列c=(c0,c1,c2,…,cL-1)。分组密码的模型如下图所示: 分组密码实际上是在密钥的控制下,从一个足够大和足够好的置换子集中简单而迅速地选出一个置换,用来对当前输入的明文分组进行加密变换。现在所使用的对称分组加密算法大多数都是基于Feistel分组密码结构的,遵从的基本指导原则是Shannon提出的扩散和混乱,扩散和混乱是分组密码的最本质操作。 分组密码与流密码的对比:分组密码以一定大小的分组作为每次处理的基本单元,而流密码则以一个元素(如一个字母或一个比特)作为基本的处理单元;流密码使用一个随时间变化的加密变换,具有转换速度快、低错误传播的优点,软硬件实现简单,缺点是低扩散、插入及修改不敏感;分组密码使用的是一个不对时间变化的固定变换,具有扩散性好、插入敏感等优点,缺点是加解密处理速度慢、存在错误传播。 DES算法 数据加密标准(Data Encryption Standard,DES)中的算法是第一个也是最重要的现代对称加密算法,其分组长度为64比特,使用的密钥长度为56比特(实际上函数要求一个64位的密钥作为输入,但其中用到的有效长度只有56位,剩余8位可作为奇偶校验位或完全随意设置),DES加解密过程类似,加解密使用同样的算法,唯一不同的是解密时子密钥的使用次序要反过来。DES的整个体制是公开的,系统安全性完全依靠密钥的保密。DES的运算可分为如下三步: 对输入分组进行固定的“初始置换”IP,可写为(L0,R0)=IP(输入分组),其中L0和R0称为“(左,右)半分组”,都是32比特的分组,IP是公开的固定的函数,无明显的密码意义。 将下面的运算迭代16轮(i=1,2,…,16):Li=Ri-1 ,Ri-1=Li-1f(Ri-1,ki);这里ki称为轮密钥,是56比特输入密钥的一个48比特字串,f称为S盒函数(S表示交换) 将十六轮迭代后得到的结果(L16,R16)输入到IP的逆置换来消除初始置换的影响,这一步的输出就是DES算法的输出,即输出分组=IP-1(R16,L16),此处在输入IP-1之前,16轮迭代输出的两个半分组又进行了一次交换。DES的加密与解密算法都是用上述三个步骤,不同的是如果在加密算法中使用的轮密钥为k1,k2,…,k16,则解密算法中的轮密钥就应当是k16,k15,…,k1,可记为(k1`,k2`,…,k16`)=(k16,k15,…,k1)。DES算法的一轮迭代处理过程如下图所示: 在加密密钥k下,将明文消息m加密为密文c,使用DES将c在k下解密为明文,解密过程如下:(L0`,R0`)=IP(c)=IP(IP-1(R16,L16)),即(L0`,R0`)=(R16,L16);在第一轮中,L1`=R0`=L16=R15,R1`=L0`f(R0`,k1`)=R16f(L16,k1`)=[L16f(R15,k16)]f(R15,k16)=L15,即(L1`,R1`)=(R15,L15);同样的,在接下来的15轮迭代中,可以得到(L2`,R2`)=(R14,L14),……,(L16`,R16`)=(R0,L0);最后一轮结束后,交换L16`和R16`,即(R16`,L16`)=(L0,R0),IP-1(L0,R0)=IP-1(IP(m))=m,解密成功。 3DES算法 DES的一个主要缺点是密钥长度较短,同时也被认为是DES仅有的最严重的弱点,容易遭受穷举密钥搜索攻击。克服密钥较短缺陷的一个解决方法是使用不同的密钥,多次运行DES算法,3DES应运而生。3DES具有四种使用模式,其中的一种为加密-解密-加密的3DES方案,加解密过程可表示为:,其中。 【实验环境】 ISES客户端 Microsoft CLR Debugger 2005或其它调试器 【实验内容】 通过运算器工具实现 DES、3DES算法的加解密计算 通过流程演示工具完成

您可能关注的文档

文档评论(0)

认真对待 + 关注
官方认证
文档贡献者

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

认证主体惠州市峰海网络信息科技有限公司
IP属地广东
统一社会信用代码/组织机构代码
91441300MA54K6GY5Y

1亿VIP精品文档

相关文档