證明:DES解密算法是DES加密算法的逆
證明:
由于DES算法是在Feistel網(wǎng)絡(luò)結(jié)構(gòu)的輸入和輸出階段分別初始置換IP和初始逆置換IP-1而構(gòu)成的,其余DES和Feistel相同,IP和IP–1互逆。所以只需證明Feistel解密算法和加密算法可逆,然后再證IP和IP–1置換后即可證明DES解密算法的確是DES加密算法的逆。
根據(jù)書(shū)本得Feistel解密算法和加密算法的關(guān)系,解密過(guò)程第一輪的輸入等于加密過(guò)程第16輪輸出左右部分交換的值。最后一輪迭代后密文是LE16||RE16,首先對(duì)于加密過(guò)程有LE16= LE15,RE16= LE15⊕F(RE15,K16)
對(duì)于解密則有LD1= RD0= LE16= RE15,RD1= LD0⊕F(RD0,K16)=RE16⊕F(RE0,K16)= [LE15⊕F(RE15,K16)]⊕F(RE15,K16)
XOR運(yùn)算有以下性質(zhì):(A⊕B)⊕C=A⊕(B⊕C),D⊕D=0,E⊕0=E
因此有LD1= RE15和RD1= LE15所以解密過(guò)程的第一輪輸出為L(zhǎng)E15|| RE15正是加密過(guò)程第16輪輸入左右部分互換的值,對(duì)于其他輪亦是如此。
DES加密過(guò)程說(shuō)明:64位明文經(jīng)過(guò)初始值換IP重新排列,然后進(jìn)行16輪函數(shù)作用,對(duì)于第i輪加密算法有:LEi= LEi-1,REi= LEi-1⊕F(REi-1,Ki)
因此描述了第i輪的輸入是輸出的函數(shù)。最后一輪的輸出是LE0||RE0,左右交換的結(jié)果正是原始明文。證明Feistel解密算法和加密算法可逆。而16輪迭代后結(jié)果即是LE16||RE16 =LE0||RE0,左右交換得到明文RE0||LE0。所以DES解密算法是DES加密算法的逆。