-
DES算法大致流程如下:
用公式表示即:
M = IP^-1 ( f { IP(P) } )
其中,M表示密文,IP^-1表示算法結(jié)尾的逆置換操作,f表示加密過程中的16次操作組合,IP表示算法初始的置換操作,P表示明文。
假設(shè)DES解密算法既是DES加密算法,則其可表示為:
P = IP^-1 ( f { IP(M) } )
將解密算法公式展開如下:
P = IP^-1 ( f { IP ( IP^-1 ( f { IP(P) } ) ) } )
容易得出,進行置換操作IP和逆置換操作IP^-1后,矩陣將保持不變,
因此,解密算法公式可進一步化簡如下:
P = IP^-1 ( f { f { IP(P) } } )
- 現(xiàn)在,為了進一步簡化,我們需要得出進行兩次 f 操作后,解密算法公式右邊將會變成什么。
為了方便理解和解釋,我們只選取 f 操作中的其中一輪進行說明。
加密算法中,f操作的其中一輪如下:

由圖可以得出結(jié)論:
Li+1 = Ri Ri+1 = F(Ri , Ki) ⊕ Li
在解密算法中,我們令Ri' = Li+1,Li' = Ri+1,其過程如下:

則:
Li+1' = Ri' = Li+1 = Ri Ri+1' = F(Ri' , Ki) ⊕ Li' = F(Li+1 , Ki) ⊕ Ri+1 = F(Ri , Ki) ⊕F(Ri , Ki) ⊕ Li = Li
所以,可以得出,經(jīng)過相同的一輪過程之后,密文可以還原回明文。同理,16輪也如此。
所以,經(jīng)過兩次 f 操作后,信息應(yīng)保持不變,即
P = IP^-1 ( f { f { IP(P) } } ) = IP^-1 ( IP(P) ) = P
所以,上訴假設(shè)成立,可得出結(jié)論:DES加密算法既是DES解密算法。
