4.7、证明DES解密算法实际上是DES加密算法的逆。
答:由于DES算法是在Feistel网络结构的输入输出阶段分别初始置换IP和初始逆置换IP^-1而构成的。因此要证DES解密过程是DES加密过程的逆可以先证Feistel网络结构中的解密过程是加密过程的逆过程。
证明如下:
加密过程是:将明文P等分成两半L0和R0,进行L轮迭代。然后按下列规则计算:LiRi,1<=i<=L,Li=Ri-1,Ri=Li-1 F(Ri-1,Ki)进行L轮迭代运算后将Li和Ri再交换,输出密文分组。轮函数为F。
解密过程是:将密文分组C=RiLi等分成两半记为L0’和R0’。然后按下列规则计算L1’Ri’,1<=i<=L,Li'=Ri-1',Ri=Li-1' F(Ri-1',Ki'),最后输出Ri’Li’。这里Ki’=Ki-1.只用证明R1’=L0和L1’=R0即可。显然L0’=R1且R0’=Li,根据加、解密规则,有
L1¹=R0¹=L1=R1-1,R1¹=L0¹ 异或 F(R0¹,K1¹)=R1 异或 F(L1,K1-1)=L1-1
L2¹=R1¹=L1-1=R1-2,R2¹=L1¹异或 F(R1¹,K2¹)=R1-1 异或 F(L1-1,K1-2)=L1-2
递归,有L¹1-1=R¹1-2=L2=R1,R¹1-1=L¹1-2 异或 F(R¹1-2,K¹1-1)=R2 异或 F(L2,K1)=L1
L1¹=R¹1-1=L1=R0,R1¹=L¹1-1 异或 F(R¹1-1,K1)=R1¹ 异或 F(L1,K0)=L0
这就验证了解密过程的正确性。