1 / 7
文档名称:

DES算法实现过程分析.doc

格式:doc   页数:7
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

DES算法实现过程分析.doc

上传人:cai.li.bin 2012/5/27 文件大小:0 KB

下载得到文件列表

DES算法实现过程分析.doc

文档介绍

文档介绍:DES算法实现过程分析
1.    处理密钥:
  从用户处获得64位密钥.(每第8位为校验位,为使密钥有正确的奇偶校验,每个密钥要有奇数个”1”位.(本文如未特指,均指二进制位)
    具体过程:
    对密钥实施变换,使得变换以后的密钥的各个位与原密钥位对应关系如下表所示:
校验位
56
48
40
32
24
16
8
0
I+1
57
49
41
33
25
17
9
1
I+2
58
50
42
34
26
18
10
2
I+3
59
51
43
35
27
19
11
3
I+4
60
52
44
36
28
20
12
4
I+7
63
55
47
39
31
23
15
7
I+6
62
54
46
38
30
24
14
6
I+5
61
53
45
37
29
21
13
5
I+4
60
52
44
36
28
20
12
4
把变换后的密钥等分成两部分,前28位记为C[0],后28位记为D[0].
  计算子密钥(共16个), 从i=1开始。
 分别对C[i-1],D[i-1]作循环左移来生成C[i],D[i].(共16次)。每次循环左移位数
循环次数
1
2
3
4
5
6
7
8
9
10
11
12
13
4
15
16
左移位数
1
1
2
2
2
2
2
2
1
2
2
2
2
2
2
1
 串联C[i],D[i],得到一个56位数,然后对此数作如下变换以产生48位子密钥K[i]。变换过程如下:
密钥
1
2
3
4
5
6
7
8
原来
14
17
11
24
1
5
3
28
密钥
9
10
11
12
13
14
15
16
原来
15
6
21
19
23
19
12
4
密钥
17
18
19
20
21
22
23
24
原来
26
8
16
7
27
20
13
2
密钥
25
26
27
28
29
30
31
32
原来
41
52
31
37
47
55
30
40
密钥
33
34
35
36
37
38
39
40
原来
51
45
33
48
44
49
39
56
密钥
41
42
43
44
45
46
47
48
原来
34
53
46
42
50
36
29
32
    按以上方法计算出16个子密钥。
:
 把数据分成64位的数据块,不够64位的以适当的方式填补。

校验位
56
48
40
32
24
16
8
0
I+2
58
50
42
34
26
18
10
2
I+4
60
52
44
36
28
20
12
4
I+