证明DES加密算法既是DES解密算法

  • DES算法大致流程如下:


    证明DES加密算法既是DES解密算法_第1张图片

用公式表示即:

M = IP^-1 ( f { IP(P) } )

其中,M表示密文,IP^-1表示算法结尾的逆置换操作,f表示加密过程中的16次操作组合,IP表示算法初始的置换操作,P表示明文。

假设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) } } )

  • 现在,为了进一步简化,我们需要得出进行两次 f 操作后,解密算法公式右边将会变成什么。

为了方便理解和解释,我们只选取 f 操作中的其中一轮进行说明。
加密算法中,f操作的其中一轮如下:


证明DES加密算法既是DES解密算法_第2张图片

由图可以得出结论:

Li+1 = Ri      Ri+1 = F(Ri , Ki) ⊕ Li

在解密算法中,我们令Ri' = Li+1,Li' = Ri+1,其过程如下:


证明DES加密算法既是DES解密算法_第3张图片

则:

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

所以,可以得出,经过相同的一轮过程之后,密文可以还原回明文。同理,16轮也如此。


所以,经过两次 f 操作后,信息应保持不变,即

P = IP^-1 ( f { f { IP(P) } } ) = IP^-1 ( IP(P) ) = P

所以,上诉假设成立,可得出结论:DES加密算法既是DES解密算法。

你可能感兴趣的:(证明DES加密算法既是DES解密算法)