网络信息安全实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《网络信息安全》实验报告
【实验题目】:
数据加密标准DES算法的实现
【实验环境】:
Java/eclipse/Windows7
【预备内容】:
实验原理:
第一阶段:64位明文进行初始置换IP(initial permutation)
第二阶段:在密钥控制下16轮迭代
第三阶段:交换左右32比特
IP
第四阶段:初识逆置换1
详细如下:
第一阶段:置换规则如下矩阵,即将输入的第58位换到第一位,第
50位换到第2位,...,依此类推,最后一位是原来的第7
位。L0、R0则是换位输出后的两部分,L0是输出的左
32位,R0 是右32位,例:设置换前的输入值為
D1D2D3......D64,则经过初始置换后的结果為:
L0=D550...D8;R0=D57D49 (7)
第二阶段:
第一部分:变换密钥
取得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列,其中的第3行和第4列的十进制数为3,用4位二进制数表示为0011,所以的输出为0011。将S算法运算后的B1~B8组合为新的32位通过P变换得到P,经过P变换后输出的比特串才是32比特的f (Ri-1,Ki):
S算法后B1~B8(32位)
16 7 20 21
29 12 28 17
1 15 23 26
5 18 31 10
2 8 24 14
32 27 3 9
19 13 30 6
22 11 4 25
P(32位)
S[1]
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 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
S[2]
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
S[3]
10 0 9 14 6 3 15 5 1 13 12 7 11 4 2 8 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
S[4]
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 12 7 2 14
S[5]
2 12 4 1 7 10 11 6 8 5
3 15 13 0 1
4 9
14 11 2 12 4 7 13 1 5 0 15 10 3 9 8 6
4 2 1 11 10 13 7 8 1
5 9 12 5
6 3 0 14
11 8 12 7 1 14 2 13 6 15 0 9 10 4 5 3
S[6]
12 1 10 15 9 2 6 8 0 13 3 4 14 7 5 11
10 15 4 2 7 12 9 5 6 1 13 14 0 11 3 8
9 14 15 5 2 8 12 3 7 0 4 10 1 13 11 6
4 3 2 12 9
5 15 10 11 14 1 7
6 0 8 13
S[7]
4 11 2 14 1
5 0 8 13 3 12 9 7 5 10
6 1
13 0 11 7 4 9 1 10 14 3 5 12 2 15 8 6
1 4 11 13 1
2
3 7 1
4 10 1
5
6 8 0 5 9 2
6 11 13 8 1 4 10
7 9 5 0 15 14 2 3 12
S[8]
13 2 8 4 6 15 11 1 10 9 3 14 5 0 12 7
1 15 13 8 10 3 7 4 1
2 5 6 11 0 14 9 2
7 11 4 1 9 12 14 2 0 6 10 13 15 3 5 8
2 1 14 7 4 10 8 1
3 15 12 9 0 3 5 6 11
第三阶段:异或P和Li-1结果放在Ri,即Ri=P XOR Li-1,Li=Ri-1。第四阶段:组合变换后的R16L16,按下表IP-1变换得到最后的结果: