DES加密可粗略分為初始置換、16輪F函數作用、逆初始置換三步。其中由矩陣的性質PAA^(-1)=P可以說明初始置換和逆初始置換的共同作用并不會影響結論的正確性。所以只需證明其中16輪的函數作用的解密過程是加密過程的逆過程即可。
在加密過程的最后一輪迭代后,密文輸出會將左右部分交換,所以解密過程的輸入應將第16輪迭代后左右部分交換。即解密過程輸入左半部分LD0=RE16,右半部分RD0=LE16。
其中加密過程有:
LE(i+1)=RE(i) ? //括號內為下標
RE(i+1)=F(RE(i),K(i+1)) XOR LE(i) ? //除F函數括號為參數,其他括號均為下標,XOR為異或。
將LD0和RD0代入上式,有:
LD1=RD0=LE16=RE15
RD1=F(RD0,K16) XOR LD0 = F(RE15,K16) XOR RE16 = F(RE15,K16) XOR [F(RE15,K16) XOR LE15]=LE15
由上述可得出解密過程經過第一輪迭代后輸出的結果左半部分LD1=RE15,右半部分RD1=LE15,正好是第15輪輸出左右部分交換的值。同理可以對解密過程繼續進行迭代,得到最后一輪輸出的結果:左半部分LD16=RE0,RD16=LE0,在經過32位的左右互換即可得到明文LE0||RE0。
從而證明了DES解密是加密的逆過程。