DES加密算法如下
证明:
在DES加密过程中,明文经过IP操作,平分为L0和R0,
进行十六轮迭代,对每一轮LiRi,1<=i<=16,Li = Ri-1,Ri = Li-1⊕F(Ri-1,Ki),经过十六轮后,交换L16和R16,并进行IP^(-1)操作,最终得到密文。
DES的解密算法和加密算法是相同的,将加密操作得到的密文先进行IP操作,得到R16L16,平分为两半记为L0'和R0',进行十六轮迭代,对每一轮Li'Ri',1<=i<=16,Li' = Ri-1',Ri' = Li-1'⊕F(Ri-1',Ki'),这里的Ki和加密过程中使用的顺序是相反的,最后得到的结果是R16'L16'。只要证明R16' = L0,L16' = R0即可证明DES的加密操作是其解密操作的逆。
根据DES加密算法有
L1' = R0’ = L16 = R15,R1' = L0'⊕F(R0',K1') = R16⊕F(L16,K1') = L15
L2' = R1' = L15 = R14,R2' = L1'⊕F(R1',K2') = R15⊕F(L15,K2') = L14
依此类推
L16' = R(16-16) = R0,R16' = L(16-16) = L0
DES的加密操作是其解密操作的逆得证。