DES 算法的介绍和实现
一.DES 算法介绍
DES( Data Encryption Standard)算法,于 1977 年得到美国政府的正式许可,是一种用 56 位
密钥来加密 64 位数据的方法。虽然 56 位密钥的 DES 算法已经风光不在,而且常有用 Des 加
密的明文被破译的报道,但是了解一下昔日美国的标准加密算法总是有益的,而且目前 DES
算法得到了广泛的应用,在某些场合,她仍然发挥着余热^_^.
1.1 密钥生成
1.1.1 取得密钥
从用户处取得一个 64 位(本文如未特指,均指二进制位))长的密码 key ,
去除 64 位密码中作为奇偶校验位的第 8、16、24、32、40、48、56、64 位,剩下的 56 位作
为有效输入密钥.
1.1.2 等分密钥
表 1.
57
49
41
33
25
17
9
1
58
50
42
34
26
18
10
2
59
51
43
35
27
19
11
3
60
50
44
36
表 2.
65
55
47
39
31
23
15
7
62
54
46
38
30
22
14
6
61
53
45
37
29
21
13
5
28
20
12
4
把在 1.1.1 步中生成的 56 位输入密钥分成均等的 A,B 两部分,每部分为 28 位,参照表 1 和表
2 把输入密钥的位值填入相应的位置. 按照表 1 所示 A 的第一位为输入的 64 位密钥的第 57
位,A 的第 2 位为 64 位密钥的第 49 位,...,依此类推,A 的最后一位是 64 位密钥的第 36
位。
1.1.3 密钥移位
评论0