网络信息安全实验报告
发布时间:2011-11-09 来源:文档文库
小
中
大
字号:
《网络信息安全》实验报告
【实验题目】:
数据加密标准DES算法的实现
【实验环境】:
Java/eclipse/Windows7 【预备内容】:
实验原理:
第一阶段:64位明文进行初始置换IP(initial permutation) 第二阶段:在密钥控制下16轮迭代 第三阶段:交换左右32比特
第四阶段:初识逆置换IP
详细如下:
第一阶段:置换规则如下矩阵,即将输入的第58位换到第一位,第50位换到第2位,...,依此类推,最后一位是原来的第7位。L0、R0则是换位输出后的两部分,L0是输出的左32位,R0 是右32位,例:设置换前的输入值為D1D2D3......D64,则经过初始置换后的结果為:L0=D550...D8;R0=D57D49...D7。
1
第二阶段:
第一部分:变换密钥
取得64位的密钥,每个第8位作为奇偶校验位,舍弃64位密钥中的奇偶校验位,根据下表PC-1进行密钥变换得到56位的密钥。将变换后的密钥分为两个部分,开始的28位称为C0,最后的28位成为D0。
然后同时将C0、D0循环左移1位形成C1、D1。
C1D1经过PC-2从56位中选出48位输出,即为K1。
循环左移LSi(i=1,2,……,16)分别是: 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 C1、D1分别循环左移LS2位,再合并,经过PC-2,生成子密钥K2。
依次类推直至K16形成。 第二部分:加密数据 将32位的RI-1按下表(E)扩展为48位的EI-1:
异或Ei-1和Ki,即E[i-1] XOR K[i],将异或后的结果分为8个6位长的部分,第1位到第6位称为B1,第7位到第12位称为B2,依此类推,第43位到第48位称为B8。 接着按Sj表对应变换所有的Bj(j=1,2,……,8,将Bj的第1位和第6位组合为一个2位长度的变量m作为在Sj中的行号、将Bj的第2位到第5位组合,作为一个4位长度的变量n作为在S[J]中的列号。用Sjmn来取代Bj。对每个盒,6比特输入中的第1和第6比特组成的二进制数确定行,中间4位二进制数用来确定列。其中相应行、列位置的十进制数的4位二进制数表示作为输出。例如的输入为101001,则行数和列数的二进制表示分别是11和0100,即第3行和第4