证明:DES解密算法是DES加密算法的逆
证明:
由于DES算法是在Feistel网络结构的输入和输出阶段分别初始置换IP和初始逆置换IP-1而构成的,其余DES和Feistel相同,IP和IP–1互逆。所以只需证明Feistel解密算法和加密算法可逆,然后再证IP和IP–1置换后即可证明DES解密算法的确是DES加密算法的逆。
根据书本得Feistel解密算法和加密算法的关系,解密过程第一轮的输入等于加密过程第16轮输出左右部分交换的值。最后一轮迭代后密文是LE16||RE16,首先对于加密过程有LE16= LE15,RE16= LE15⊕F(RE15,K16)
对于解密则有LD1= RD0= LE16= RE15,RD1= LD0⊕F(RD0,K16)=RE16⊕F(RE0,K16)= [LE15⊕F(RE15,K16)]⊕F(RE15,K16)
XOR运算有以下性质:(A⊕B)⊕C=A⊕(B⊕C),D⊕D=0,E⊕0=E
因此有LD1= RE15和RD1= LE15所以解密过程的第一轮输出为LE15|| RE15正是加密过程第16轮输入左右部分互换的值,对于其他轮亦是如此。
DES加密过程说明:64位明文经过初始值换IP重新排列,然后进行16轮函数作用,对于第i轮加密算法有:LEi= LEi-1,REi= LEi-1⊕F(REi-1,Ki)
因此描述了第i轮的输入是输出的函数。最后一轮的输出是LE0||RE0,左右交换的结果正是原始明文。证明Feistel解密算法和加密算法可逆。而16轮迭代后结果即是LE16||RE16 =LE0||RE0,左右交换得到明文RE0||LE0。所以DES解密算法是DES加密算法的逆。