證明DES解密過程是加密過程的逆過程

問題:證明DES解密過程是加密過程的逆運算

證明:

對于DES算法來說,其基本結構和Feistel密碼的結構相同,只不過多了個S盒子。

結論①:Feistel密碼的解密過程是加密過程的逆過程。

說明如下:

在DES算法中,其用到了Feistel密碼的經典結構,如下:

Li=Ri-1

Ri=Li-I(XOR)F(Ri-1,Ki)

下面是具體的圖說明:


在Feistel加密的最后一輪,也就是i=16時,輸入為LE15||RE15,而輸出為:

LE16=RE15

RE16=LE15(XOR)F(RE15,K16)

而后交換R和L作為密文輸出

即:LE17=RE16,RE17=LE16

而在Feistel解密的第一輪,即i=1時,先將輸出的密文交換回來作為輸入,即LD0=LE17=RE16,RD0=RE17=LE16



之后再按上圖進行運算,

即LD1=RD0=LE16=RE15;

RD1=LD0 (XOR) F(RD0,K16)=RE16 (XOR) F(RD0,K16)=LE15 (XOR) F(RE15,K16) (XOR) F(RD0,K16)=LE15,所以解密的第一輪輸出為RE15||LE15,這正是加密過程第16輪輸入左右部分互換的值。

結論:所以對于Feistel密碼來說,其解密過程正是加密過程的逆過程。

故而我們有第二個結論:

結論②:對于采用了Feistel密碼為基礎結構的DES密碼來說,其解密過程正是加密過程的逆運算。

只不過在DES密碼中,在進行(XOR)運算后會通過S盒子進行代替和選擇,不過這個不是證明要點,故而證明到此結束。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容