17
DES子密钥生成算法
循环左移LSi 将28位的密钥段作为Ci, Di循环左移1或2位,左移位数由 下表确定. i
1 2 1 3 2 4 2 5 2 6 2 7 2 8 2 9 1 10 11 12 13 14 15 16 2 2 2 2 2 2 1
LSi 1
18
DES子密钥生成算法
置换选择2: PC-2 从56位密钥段Ci||Di中选择48位作为子密钥Ki. PC-2 14 3 23 16 41 30 44 46 17 28 19 7 52 40 49 42 11 15 12 27 31 51 39 50 24 6 4 20 37 45 56 36 1 21 26 13 47 33 34 29 5 10 8 2 55 48 53 32
6
Feistel 密码
密文: y(2w-bit) L0(w-bit) R0(w-bit) F R1 …. …. Ki Ri …. …. K1 Rh Rh+1 明文: x(2w-bit)
7
Feistel解密结构 与加密结构相同 子密钥使用次序相反: Kh, Kh-1,…,K2,K1 输入:密文y 输出:明文x
置换选择2: 从56个密钥比特中取 出48个作为子密钥
20
DES解密算法
与DES加密结构相同 子密钥使用次序相反: K16 K15,…,K2,K1 输入:密文y 输出:明文x
21
DES的解密过程可描述为:
Ri 1 Li Li 1 Ri f ( Li , K i ), i 16,15,1
L1
Kh
Li
F
F
Lh
Lh+1
2 数据加密标准(DES)