证明DES解密算法实际上是DES加密算法的逆

证明DES解密算法实际上是DES加密算法的逆

DES加密算法和解密算法如图:
证明DES解密算法实际上是DES加密算法的逆_第1张图片

如图,首先明文输入,进行第一轮的加密。RE0直接作为LE1,RE0与K1作用于轮函数F然后再与LE0疑惑作为RE1,这是第一轮,之后密钥变换了,不断得做这样的操作,做16轮,最后LE16与RE16交换得到LE17||RE17密文。
而解密过程如图则是自下而上RD0直接作为LD1,RD0与K16用于轮函数结果与LD1异或得到RD1,不断重复变换密钥,进行16轮。为了抵消最后一轮迭代增加的交换,则最后就要进行一次交换换回来。

公式证明

加密过程:
LEi表示第i轮加密得到的左16位数,REi是第i轮加密得到的右16位数。
LEi=REi-1
REi=LEi-1⊕F(REi-1,Ki)

经过变换可得:
REi-1=LEi
LEi-1=REi⊕F(REi-1,Ki)=REi⊕F(LEi,Ki)
令LDi是解密的第i轮得到的左16位数,RDi则是右16位数。
LDi=RDi=LE17-i=RE16-i
RDi=LDi⊕F(RDi-1,K17-i)
   =REi-1⊕F(REi-1,K17-i)
   =[LEi-1⊕F(REi-1,K17-i)]⊕F(REi-1,K17-i)
   =LEi-1;
 可见经过解密运算之后LDi=RE16-i
RDi=LEi-1

则此解密过程成立,且是加密过程的逆过程

你可能感兴趣的:(证明DES解密算法实际上是DES加密算法的逆)