数据加密标准(Data,Encryption Standard,DES)是迄今为止世界上使用最为广泛的一种分组密码算法,其设计思想相对于软件,更有利于硬件的实现。它的分组长度为64比特,密钥长度为56比特。
DES加密过程
首先,对输入的明文进行十六进制换算(如果是明文是十六进制则不用换算),共64位。对明文按顺序排序,8个字母为1行,共8行(方便后续计算)。
例如:
1 | 0 | 0 | 1 | 1 | 0 | 1 | 1 |
---|---|---|---|---|---|---|---|
0 | 1 | 0 | 0 | 1 | 0 | 0 | 1 |
0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 |
1 | 1 | 0 | 1 | 0 | 0 | 1 | 0 |
1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 |
1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 |
0 | 1 | 1 | 1 | 1 | 0 | 1 | 0 |
0 | 1 | 0 | 1 | 1 | 0 | 1 | 0 |
编号1从第一位开始,从左至右,从上到下,对明文,相应的编号对应相应的值。
第一步.初始置换IP
58 | 50 | 42 | 34 | 26 | 18 | 10 | 2 |
---|---|---|---|---|---|---|---|
60 | 52 | 44 | 36 | 28 | 20 | 12 | 4 |
62 | 54 | 46 | 38 | 30 | 22 | 14 | 6 |
64 | 56 | 48 | 40 | 32 | 24 | 16 | 8 |
57 | 59 | 41 | 33 | 25 | 17 | 9 | 1 |
59 | 51 | 43 | 35 | 27 | 19 | 11 | 3 |
61 | 53 | 45 | 37 | 29 | 21 | 13 | 5 |
63 | 55 | 47 | 39 | 31 | 23 | 15 | 7 |
按初始置换IP表中的编号,输入明文所对应的值,从左到右,从上到下依次排序。最终得到输出64位的值。
初始逆置换IP^-1
40 | 8 | 48 | 16 | 56 | 24 | 64 | 32 |
---|---|---|---|---|---|---|---|
39 | 77 | 47 | 15 | 55 | 23 | 63 | 31 |
38 | 6 | 46 | 14 | 54 | 22 | 62 | 30 |
37 | 5 | 45 | 13 | 53 | 21 | 61 | 29 |