ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:490.95KB ,
资源ID:3024192      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3024192.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(实验五对称密码基本加密实验DES3DES.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

实验五对称密码基本加密实验DES3DES.docx

1、实验五对称密码基本加密实验DES3DES实验五-对称密码基本加密实验-DES、3DES实验五 对称密码基本加密实验-DES、3DES【 实验目的】理解对称密码体制和分组密码算法的基本思想 理解 DES、3DES 等算法的基本原理 掌握上述密码算法的输入输出格式和密钥格式 掌握上述密码算法的加解密过程和实现方法 【实验原理】对称密码体制使用相同的加密密钥和解密密钥,其安全性主要依赖于密钥的保密性。分组密码是对称密码体制的重要组成部分,其基本原理为:将明文消息编码后的序列m0,m1,m2,mi划分为长度为L(通常为64或128)位的组m=(m0,m1,m2,mL-1),每组分别在密钥k=(k0,k

2、1,k2,kt-1)(密钥长度为t)的控制下变换成等长的一组密文输出序列c=(c0,c1,c2,cL-1)。分组密码的模型如下图所示:分组密码实际上是在密钥的控制下,从一个足够大和足够好的置换子集中简单而迅速地选出一个置换,用来对当前输入的明文分组进行加密变换。现在所使用的对称分组加密算法大多数都是基于Feistel分组密码结构的,遵从的基本指导原则是Shannon提出的扩散和混乱,扩散和混乱是分组密码的最本质操作。分组密码与流密码的对比:分组密码以一定大小的分组作为每次处理的基本单元,而流密码则以一个元素(如一个字母或一个比特)作为基本的处理单元;流密码使用一个随时间变化的加密变换,具有转换

3、速度快、低错误传播的优点,软硬件实现简单,缺点是低扩散、插入及修改不敏感;分组密码使用的是一个不对时间变化的固定变换,具有扩散性好、插入敏感等优点,缺点是加解密处理速度慢、存在错误传播。一、DES算法数据加密标准(Data Encryption Standard,DES)中的算法是第一个也是最重要的现代对称加密算法,其分组长度为64比特,使用的密钥长度为56比特(实际上函数要求一个64位的密钥作为输入,但其中用到的有效长度只有56位,剩余8位可作为奇偶校验位或完全随意设置),DES加解密过程类似,加解密使用同样的算法,唯一不同的是解密时子密钥的使用次序要反过来。DES的整个体制是公开的,系统安

4、全性完全依靠密钥的保密。DES的运算可分为如下三步:(1)对输入分组进行固定的“初始置换”IP,可写为(L0,R0)=IP(输入分组),其中L0和R0称为“(左,右)半分组”,都是32比特的分组,IP是公开的固定的函数,无明显的密码意义。(2)将下面的运算迭代16轮(i=1,2,16):Li=Ri-1 ,Ri-1=Li-1f(Ri-1,ki);这里ki称为轮密钥,是56比特输入密钥的一个48比特字串,f称为S盒函数(S表示交换),是一个代换密码,目的是获得很大程度的信息扩散。(3)将十六轮迭代后得到的结果(L16,R16)输入到IP的逆置换来消除初始置换的影响,这一步的输出就是DES算法的输出

5、,即输出分组=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=L0f(R

6、0,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具有四种使

7、用模式,其中的一种为加密-解密-加密的3DES方案,加解密过程可表示为:,其中。【实验环境】ISES客户端Microsoft CLR Debugger 2005或其它调试器【实验内容】 通过运算器工具实现 DES、3DES算法的加解密计算 通过流程演示工具完成 DES 算法加解密运算的逐步演示和实例演示 通过轮密钥查看工具查看 3DES 对 DES、3DES算法的加解密进行扩展实验 对 DES、3DES算法的加解密进行算法跟踪 【实验步骤】一、DES在加密算法选项里选择DES,以下实验步骤保持算法不变。(一)加解密计算(1)加密在明文栏的下拉菜单里选择文本或十六进制,然后在后面相应的文本框内输

8、入所要加密的明文;在密钥栏的下拉菜单里选择文本或十六进制,然后在后面相应的文本框内输入相应的密钥;点击“加密”按钮,在密文文本框内就会出现加密后的密文;结果如下所示: (2)解密在密文栏相应的文本框内输入所要解密的密文;在密钥栏的下拉菜单里选择文本或十六进制,然后在后面相应的文本框内输入相应的密钥;点击“解密”按钮,在明文文本框内就会出现解密后的明文。(二)分步演示(1)点击“扩展实验”框中的“DES分步演示”按钮,进入DES分步演示窗口,打开后默认进入分步演示页面。(2)密钥生成在“子密钥产生过程”框中,选择密钥的输入形式后,输入密钥;DES要求密钥长度为64位,即选择“ASCII”(输入形

9、式为ASCII码)时应输入8个字符,选择“HEX”(输入形式为十六进制)时应输入16个十六进制码;点击“比特流”按钮生成输入密钥的比特流;点击“等分密钥”按钮,将生成的密钥比特流进行置换选择后,等分为28位的C0和D0两部分;分别点击两侧的“循环左移”按钮,对C0和D0分别进行循环左移操作(具体的循环左移的移位数与轮序有关,此处演示为第一轮,循环左移1位),生成同样为28位的C1和D1;点击“密钥选取”按钮,对C1和D1进行置换选择,选取48位的轮密钥,此处生成第一轮的密钥K1。上述密钥生成过程如下图所示:(3)加密过程在“加密过程”框中,选择明文的输入形式后,输入明文;DES要求明文分组长度

10、为64位,输入要求参照密钥输入步骤;点击“比特流”按钮生成输入的明文分组的比特流;点击“初始置换IP”对明文比特流进行初始置换,并等分为32位左右两部分L0和R0;点击“扩展置换E”按钮对32位R0进行扩展置换,将其扩展到48位;点击“异或计算”按钮,将得到的扩展结果与轮密钥K1进行异或,得到48位异或结果;分别点击“S1”、“S2”、“S8”按钮,将得到的48位异或结果通过S代换产生32位输出;点击“异或计算”按钮,将得到的32位输出与L0进行异或,得到R1;同时令L1=R1,进入下一轮加密计算。依次进行16轮计算,最终得到L16和R16;点击“终结置换”按钮,对交换后的L16和R16进行初

11、始逆置换IP-1,即可得到密文。(三)DES实例(1)点击DES分步演示窗体中的“DES实例”标签,进入DES实例演示页面。(2)加密实例输入明文、初始化向量和密钥,选择工作模式和填充模式,点击“加密”按钮,对输入的明文使用DES算法按照选定的工作模式和填充模式进行加密;在轮密钥显示框内以十六进制显示各轮加密使用的密钥,加密结果以两种形式显示在密文框中。上述过程如下图所示。(3)解密实例输入密文、密钥和初始化向量,选择工作模式和填充模式,点击“解密”按钮,对输入的密文使用DES算法按照选定的工作模式和填充模式进行解密;在轮密钥显示框内以十六进制显示各轮加密使用的密钥,解密结果以两种形式显示在明

12、文框中。(四)DES扩展实验(1)点击“扩展实验”框中的“DES扩展实验”按钮,进入DES扩展实验窗口,打开后默认进入扩展实验主页面,进行加解密。(2)确保在主窗口中选中了“加密”按钮,将DES的工作模式设置为“加密运算”。(3)文本框内输入待加密16个字节长的明文ASCII码串(64比特),16个字节长的密钥ASCII码串(64比特),点击“运行”按钮,得到DES的加密结果,如下图所示。(4)观察“初始置换”(初始置换IP)。在主窗口中点击“初始置换”按钮,进入“首置换”卡片,再次点击“运行”,即可观察明文的初始变换过程,如下图所示。可以根据需要,调节变换显示的速度。(5)观察密钥变换。在主

13、窗口中点击“密码表”按钮,打开密码变换卡片组。选择“密码表”卡片,观察16轮加密变换的密钥,如下图所示。选择“密码盒”卡片,观察16轮加密变换密钥的生成过程。点击“置换选择1”按钮,得到该密钥的初始变换,选择想要测试加密密钥的轮次,再点击“置换选择2”按钮,即可得到相应的加密密钥,如下图所示。(6)观察加密函数。点击主窗口的“F(Ri,Ki+1)”按钮,进入加密函数变换卡片。依次顺序点击“F(Ri,Ri+1)”卡片中的各个按钮,可以得到“选择运算E”、“代替函数组S”和“置换运算P”的运算结果,如下图所示。选择“F(Ri,Ri+1)”卡片右下角的“Ebox”、“Sbox”或“Pbox”,并点击

14、“查看”按钮,可以详细观察相应的变换过程,如下图所示(以Ebox为例)。(7)观察“末置换”(逆初始变换IP-1)。在主窗口中点击“末置换”按钮,进入“末置换”卡片,再次点击“运行”,即可观察加密过程的末置换(逆初始变换IP-1)的执行过程,如下图所示。只有当主窗口中循环轮次等于16时,“末置换”按钮才变为有效的,否则无法激活该窗口。(8)解密时,确保在主窗口中选中了“解密”按钮,将DES的工作模式设置为“解密运算”文本框内输入待解密16个字节长的密文ASCII码串(64比特),16个字节长的密钥ASCII码串(64比特),点击“运行”按钮,得到DES的解密结果,如下图所示。解密运算的其他过程

15、与加密过程一样,不再赘述。(五)算法跟踪选择DES算法,在算法计算的相应区域输入明/密文和密钥;点击“跟踪加密”/“跟踪解密”按钮,进入调试器,选择对应的算法函数进行算法跟踪;跟踪完成后会自动返回实验界面显示计算结果;切换回调试器,停止调试,关闭调试器,不保存工程。具体步骤可参照古典密码实验中实验步骤二。二、3DES在加密算法选项里选择3DES,以下实验步骤保持算法不变。(一)加解密计算选择明/密文和密钥的格式,输入明/密文和密钥;点击“加密”/“解密”按钮,进行加/解密计算;查看计算结果。具体步骤可参照DES的加解密计算的实验步骤。(二)查看轮密钥(1)点击“扩展实验”框中的“查看轮密钥”按钮,进入查看轮密钥窗体。(2)输入明文、初始化向量和密钥,密钥长度为128位或192位,对应于原理中的两种情况,此处以输入128位密钥为例;选择工作模式和填充模式,点击“加密”按钮,使用3DES算法按照选定的工作模式和填充模式进行加密;在“密钥”框中查看各轮的密钥,在“密文”框中查看生成的密文。(三)扩展实验(1)点击扩展实验下的“3DES扩展实验”按钮,进入3DES扩展实验主窗体, (2)点击主窗体内最左边的“3DES密码”按钮,进入3DES加解密实验。分别在“明文ACSII码串”、“密钥

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1