资源描述:
《des源代码 实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、《网络信息安全》DES实验报告学院:数学与计算机科学学院专业:计算机班级一学号:030602124姓名:王加福DES算法总的说来可以两部分组成:一、对密钥的处理。这一部分是把我们用的64位密钥(实际用的56位,去掉了8个奇偶校验位)分散成16个48位的子密钥。二、对数据的加密。通过第一步生成的子密钥来加密我们所要加密的数据,最终生成密文。一.密钥分散——子密钥的生成64比特的密钥生成16个48比特的子密钥。其生成过程见图:64比特的密钥K,经过PC-1后,生成56比特的串。其下标如表所示:该比特串分为长度相等的比特串C0和D0(分别为28
2、比特)。然后C0和D0分别循环左移1位,得到C1和D1。C1和D1合并起来生成C1D1。C1D1经过PC-2变换后即生成48比特的K1。K1的下标列表为:PC-21417112415328156211023191242681672720132415231374755304051453348444939563453464250362932C1、D1分别循环左移LS2位,再合并,经过PC-2,生成子密钥K2……依次类推直至生成子密钥K16。注意:Lsi(I=1,2,….16)的数值是不同的。具体见下表: 二. DES算法加密过程对D
3、ES算法加密过程图示的说明如下:待加密的64比特明文串m,经过IP置换后,得到的比特串的下标列表如下:该比特串被分为32位的L0和32位的R0两部分。R0子密钥K1经过变换f(R0,K1)(f变换算法见下)输出32位的比特串f1,f1与L0做异或运算。f1与L0做异或运算后的结果赋给R1,R0则原封不动的赋给L1。L1与R0又做与以上完全相同的运算,生成L2,R2……一共经过16次运算。最后生成R16和L16。其中R16为L15与f(R15,K16)做不进位二进制加法运算的结果,L16是R15的直接赋值。R16与L16合并成64位的比特串
4、。值得注意的是R16一定要排在L16前面。R16与L16合并后成的比特串,经过置换IP-1后所得比特串的下标列表如下:IP-140848165624643239747155523633138646145422623037545135321612936444125220602835343115119592734242105018582633141949175725经过置换IP-1后生成的比特串就是密文e.。 f算法变换f(Ri-1,Ki)的功能是将32比特的输入再转化为32比特的输出。其过程如图所示: 首先、输入Ri-1(32比特)经过变
5、换E后,膨胀为48比特。膨胀后的比特串的下标列表如下: 其次、膨胀后的E和Ki异或的结果分为8组,每组6比特。各组经过各自的S盒后,变为4比特,S盒的算法为:输入b1,b2,b3,b4,b5,b6,计算x=b1*2+b6,y=b5+b4*2+b3*4+b2*8,再从Si表(见下表)中查出x行,y列的值Sxy。将Sxy化为二进制,即得Si盒的输出。S1: 14,4,13,1,2,15,11,8,3,10,6,12,5,9,0,7, 0,15,7,4,14,2,13,1,10,6,12,11,9,5,3,8, 4,1,14,8,13,6
6、,2,11,15,12,9,7,3,10,5,0, 15,12,8,2,4,9,1,7,5,11,3,14,10,0,6,13,S2: 15,1,8,14,6,11,3,4,9,7,2,13,12,0,5,10, 3,13,4,7,15,2,8,14,12,0,1,10,6,9,11,5, 0,14,7,11,10,4,13,1,5,8,12,6,9,3,2,15, 13,8,10,1,3,15,4,2,11,6,7,12,0,5,14,9,S3: 10,0,9,14,6,3,15,5,1,13,12,7,11,4,2,8,
7、 13,7,0,9,3,4,6,10,2,8,5,14,12,11,15,1, 13,6,4,9,8,15,3,0,11,1,2,12,5,10,14,7, 1,10,13,0,6,9,8,7,4,15,14,3,11,5,2,12,S4: 7,13,14,3,0,6,9,10,1,2,8,5,11,12,4,15, 13,8,11,5,6,15,0,3,4,7,2,12,1,10,14,9, 10,6,9,0,12,11,7,13,15,1,3,14,5,2,8,4, 3,15,0,6,10,1,13,8,9,4,5,11,
8、12,7,2,14,S5: 2,12,4,1,7,10,11,6,8,5,3,15,13,0,14,9, 14,11,2,12,4,7,13,1,5,0,15,10,3,9,8,6, 4