DES加密算法实现报告(四川大学)(共9页).doc
《DES加密算法实现报告(四川大学)(共9页).doc》由会员分享,可在线阅读,更多相关《DES加密算法实现报告(四川大学)(共9页).doc(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上四 川 大 学 计 算 机 学 院实 验 报 告学号: 姓名: 班级: 第 试验课程名称信息安全课程设计实验课时2实验项目DES加密算法的实现实验时间2013.04.28实验目的1. 加深对分组密码原理的理解2. 对经典DES加密算法加密过程的理解实验环境Windows 8 eclipse 实验内容(算法、程序、步骤和方法)一 试验原理 DES的特点是:一个对称密钥体制,加密盒解密使用同一秘钥、同一算法,区别是:加密子密钥顺序:k1,k2,.k16,解密子密钥顺序k16,k15,.k2,k1。它在具体算法中属于分组乘法密码,使用56位的密钥对64位的明文进行加解密,获
2、取密文为64位。其中密钥总长度实际为64位,另外八位作为奇偶校验位。 1.1 DES算法描述 DES体制简化示意图如图1.1所示,整个过程由三个阶段来完成:设m=m1m2.m64为64位待加密明文,其中mi0,1,1i64,DES先执行初始置换IP来对m进行换位处理:然后通过子密钥k1k16进行16次乘积变换,即进行16次迭代处理;最终经过逆初始值换IP -1 的处理,得到64位密文:C=c1c2c3.c64,图1.1 DES简化示意图其中ci0,1,1 i 64. 16轮迭代目的是使明文增加混乱性和扩散性。避免输出密文残留统计规律,使得破译者无法反向推算出密钥。 第一步:初始置换IP 初始置
3、换IP如图12所示,主要用于对明文m中的各位进行换位,目的在于打乱明文m中各位的排列次序。经过初始置换后,m的映射为mIPm 。40 8 48 16 56 24 64 3239 7 47 15 55 23 63 3138 6 46 14 54 22 62 3037 5 45 13 53 21 61 2936 4 44 12 52 20 60 2835 3 43 11 51 19 59 2734 2 42 10 50 18 58 2633 1 41 9 49 17 57 2558 50 42 34 26 18 10 260 52 44 36 28 20 12 462 54 44 36 28 20
4、 14 664 56 48 40 32 24 16 857 49 41 33 25 17 9 159 51 43 35 27 19 11 361 53 45 37 29 21 13 563 55 47 39 31 23 15 7 初始置换IP 逆初始换位IP- 1即m = m1m2m3.m64=m58m50.m7其中可以叙述为:m中第58位变为m中第一位,m中的第50位变为m中第二位.m中的第7位变为m中第64位。第二步:DES迭代过程(乘积变换) DES第二步是将第一步得到的64位结果分为两半,L0 =m1,m2,.m32,R0=m33,m34.m64,其中16轮迭代过程如图33图33(迭代
5、过程)设密钥k=k1k2k3.k64,ki0,1,1 i 64。DES加密算法过程与密钥K一起作用的16轮乘积变换可以表示为: Li = R i-1 Ri = Li-1f(Ri-1,Ki) I 1 16 其中Li,RI长度均为32位。 L0 = m1m2m2m3.m32 R0 = m33m34m35.m64 符号为模2加,f为加密函数(如图3-2),Ki是由密钥k分解产生并经变化后的一个48位的子密钥。整个16轮迭代过程简洁明了,既适用于加密算法也适用于解密算法。 第三步:逆初始置换IP -1 这是DES算法的随后一步,将比特串RL16应用初始置换IP的逆初始置换IP -1处理后就获得密文C,
6、即C = IP -1 (R16L16) = C1,C2,C3.C64。由于DES解密过程是一个加密过程的逆过程在此就不做过多解释2 代码函数实现 1、明文与密钥的输入首先8位ACSII字符的明文与密钥的输入,存放在mingwen8和miyao8中,然后将这些8位的ASCII字符转换成二进制的64位的明文和密钥,分别存放在mingwenB64和miyaoB64中,并将二进制的明文和密钥放在文件中int str8,i,j,ch,k;FILE *fp4;fp4=fopen(明文二进制.txt,w);k=0;for(i=0;i8;i+)ch=mingweni;for(j=0;j=0;j-)mingwe
7、nBk=strj;k+;fprintf(fp4,%d,strj); 2、密钥的产生1)、64位miyaoB64经过pc-1置换,生成56位的比特串。定义pc1_Table56,存放在afterpc156中。for(i=0;i56;i+) afterpc1i=miyaoBpc1_Tablei-1;2)、56位比特串分组,生成C028和D028for(i=0;i28;i+) C0i=afterpc1i;for(j=0,i=28;i56;i+,j+) D0j=afterpc1i;3)、C028、D028进行左移,产生C1628和D1628,为进行pc-2置换产生密钥做准备。for(i=0;i27;i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DES 加密算法 实现 报告 四川大学
限制150内