证明DES解密过程是加密过程的逆过程

问题:证明DES解密过程是加密过程的逆运算

证明:

对于DES算法来说,其基本结构和Feistel密码的结构相同,只不过多了个S盒子。

结论①:Feistel密码的解密过程是加密过程的逆过程。

说明如下:

在DES算法中,其用到了Feistel密码的经典结构,如下:

Li=Ri-1

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

下面是具体的图说明:


证明DES解密过程是加密过程的逆过程_第1张图片

在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


证明DES解密过程是加密过程的逆过程_第2张图片


之后再按上图进行运算,

即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盒子进行代替和选择,不过这个不是证明要点,故而证明到此结束。

你可能感兴趣的:(证明DES解密过程是加密过程的逆过程)