DES算法实验报告.doc

DES算法实验报告.doc

ID:58819711

大小:68.50 KB

页数:11页

时间:2020-10-25

DES算法实验报告.doc_第1页
DES算法实验报告.doc_第2页
DES算法实验报告.doc_第3页
DES算法实验报告.doc_第4页
DES算法实验报告.doc_第5页
资源描述:

《DES算法实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验报告姓名:xxxx学号:0XXXXX班级:XXXXXXX日期:2013/11/*题目:DES算法实验一、实验环境1.硬件配置:处理器:Inter(R)Core(TM)i5-2430MCPU@2.40GHz(4CPUs),~2.4GHz内存:2048MBRAM2.使用软件:(1)操作系统:win7旗舰版(2)软件工具:MicrosoftVisualc++6.0二、实验涉及的相关概念或基本原理DES是一个分组密码算法,使用64位密钥(除去8位奇偶校验,实际密钥长度为56位)对64比特的数据分组(二进制数据)加密,产生64位

2、密文数据。DES是一个对称密码体制,加密和解密使用同意密钥,解密和加密使用同一算法(这样,在硬件与软件设计时有利于加密单元的重用)。DES的所有的保密性均依赖于密钥。DES的加密过程可分为加密处理,加密变换和子密钥生成几个部分组成。1.加密处理过程  (1)初始置换IP。加密处理首先要对64位的明文按表1所示的初始换位表IP进行变换。表中的数值表示输入位被置换后的新位置。(2)加密处理。上述换位处理的输出,中间要经过16轮加密变换。初始置换的64位的输出作为下一次的输入,将64位分为左、右两个32位,分别记为L0和R0,从L0、

3、R0到L16、R16,共进行16轮加密变换。其中,经过i轮处理后的点左右32位分别为Li和Ri则可做如下定义:Li=Ri-1Ri=Li-1⊕F(Ri-1,K)其中,F为F变换(3)最后换位。进行16轮的加密变换之后,将L16和R16合成64位的数据,再按照表2所示的最后换位表进行IP-1的换位,得到64位的密文,这就是DES算法加密的结果。2.加密变换过程64位的密钥先由置换选择1减少至56六位,进行循环左移,然后通过置换选择2减少至48位。而通过扩展运算将32位按表3扩展换位表扩展为48位的右半部分通过异或操作和48位的密钥结

4、合,并分成6位的8个分组,通过8个S-盒将这48位替代成新的32位数据。按此进行,输出32位,再按照表4换位表P进行变换,这样就完成了F(R,K)的变换。3.子密钥生成过程 密钥通常表示为64位的自然数,首先通过压缩换位Key_Exchange去掉每个字节的第8位,用作奇偶校验。因此,密钥去掉第8、16、24……64位减至56位,所以实际密钥长度为56位。而每轮要生成48位的子密钥。输入的64位密钥,首先通过压缩换位得到56位的密钥,每层分成两部分,一部分28位为C0,一部分为D0。C0和D0依次进行循环左移操作生成了C1和D1

5、,将C1和D1合成56位,再通过压缩换位Compression输出48位的子密钥K1,再将C1和D1进行循环左移和Compression压缩换位,得到子密钥K2……以此类推,得到16个子密钥。密钥压缩换位表如表5表6所示。在产生子密钥的过程中左移次数如表7所示。4.解密处理过程  从密文到明文的解密过程可采用与加密完全相同的算法。不过解密要用加密的逆变换,就是把上面的最后换位表和初始换位表完全倒过来变换。三、实验内容流程图:主要代码:①初始置换unsignedcharInitial[]={58,50,42,34,26,18,10

6、,2,60,52,44,36,28,20,12,4,62,54,46,38,30,22,14,6,64,56,48,40,32,24,16,8,57,49,41,33,25,17,9,1,59,51,43,35,27,19,11,3,61,53,45,37,29,21,13,5,63,55,47,39,31,23,15,7};②逆初始置换unsignedcharFinal[]={40,8,48,16,56,24,64,32,39,7,47,15,55,23,63,31,38,6,46,14,54,22,62,30,37,5,45

7、,13,53,21,61,29,36,4,44,12,52,20,60,28,35,3,43,11,51,19,59,27,34,2,42,10,50,18,58,26,33,1,41,9,49,17,57,25};③扩展变换EunsignedcharExpansion[]={32,1,2,3,4,5,4,5,6,7,8,9,8,9,10,11,12,13,12,13,14,15,16,17,16,17,18,19,20,21,20,21,22,23,24,25,24,25,26,27,28,29,28,29,30,31,32,

8、1};④P_盒置换unsignedcharP_Box[]={16,7,20,21,29,12,28,17,1,15,23,26,5,18,31,30,2,8,24,14,32,27,3,9,19,13,30,6,22,11,4,25};⑤S盒置换unsigned

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。