80
最 新 评 论
80
专 题 分 类
80
最 新 日 志
80
最 新 留 言
80
搜 索
用 户 登 录
友 情 连 接
我 的 好 友
80
博 客 信 息
80


网络安全技术附录-- DES算法描述 | 2008/4/5 23:13:00
DES算法描述
        DES 是对二元数字分组加密的分组密码算法,分组长度为64 比特。每64 位明文加密成64 位密文,没有数据压缩和扩展。密钥长度为56 比特,有时会输入64 比特,则第8、16、24、32、40、48、56、64 为奇偶检验位。所以,实际密钥只有56 位。DES 算法完全公开,其保密性完全依赖密钥。
        图8.4 是DES 全部16 轮(Round)的加/解密结构图,其最上方的64 比特输入分组数据,可能是明文,也可能是密文,视使用者要做加密或解密而定。而加密与解密的不同之处,仅在于最右边的16 个子密钥的使用顺序不同,加密的子密钥顺序为K1,K 2,...,K16,而解密的子密钥顺序正好相反,为K16,K15,... 1 K ,K ,L, K 。
DES 算法首先对输入的64 位明文X 进行一次初始置换IP (图8.3),以打乱原来的次序。对置换后的数据0 X 分成左右两半,左边记为 L0 右边记为R0 。对R0 施行在密钥控制下的变换f ,其结果记为 f (R0 ,K1 ),得到的32 比特输出再与L0 做逐位异或(XOR)运算。其结果成为下一轮的R1 , R0 则成为下一轮的L1 。对L1 , R1 施行和L 0,R0 同样的过程得L2 ,R2 。如此循环16 次,最后得L16 , R16 。再对64 位数字 R16 , L16 施行初始置换的逆置换IP -1 (图8.3),即得密文y 。运算过程可用公式(式8.1)简洁地表示如下。
Ri=Li-1f(Ri-1,Ki)
Li=Ri-1          i=1,2,...,16
式8.1


注意,在16 次加密后并未交换16 16 L , R ,而直接将16 16 R , L 作为IP -1 的输入。这样使得
DES 的解密和加密完全相同,在以上过程中只需输入的是密文,最后获得的就是相应的明
文。
以上是对DES 加解密过程的描述。我们把从i-1 i-1 L R 到i i L R 的变换过程称为一轮加密,
所以DES 要经过16 轮加密,或称为16 轮迭代。每一轮施行的变换完全相同,只是每轮输
入数据不同。
式8.1
40 8 48 16 56 24 64 32
39 7 47 15 55 23 63 31
38 6 46 14 54 22 62 30
37 5 45 13 53 21 61 29
36 4 44 12 52 20 60 28
35 3 43 11 51 19 59 27
34 2 42 10 50 18 58 26
33 1 41 9 49 17 57 25
IP-1
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 49 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
图8.3 初始置换IP 及逆初始置换IP-1
阅读全文 | 回复(0) | 引用通告 | 编辑 | By: 皮皮爸爸
  • 标签:TAG 
  • 发表评论:

      大名:
      密码: (游客无须输入密码)
      主页:
      标题:
      80
    Powered by Oblog.