证明:
DES的加密过程:
先将需要加密的64位明文作初始置换,再将置换结果分为两组,分别记为LE0和RE0。
对LE0,RE0作如下变换,Le(i)=RE(i-1)
Re(i)=Le(i-1) xor F(RE(i-1),Ki)
经过十六轮迭代之后得到RE16=LE15 xor (RE15,K16)
LE16=RE15
然后对结果进行一次逆初始置换的置换,得到密文。
DES的解密过程:
对密文进行一次初始置换
算法与加密过程一样,初始时LD0=RE16RD0=LE16=RE15
然后对LD0,RD0作加密过程中的变换,其中Ki原本是从1-16,此时Ki变成了16-1。
即RD1=LD0 xor (RD0,K16)
=RE16 xor (RE15,K16)
=LE15 xor (RE15,K16) xor RE(15,K16)
=LE15
RD2=LE14
……
如此16次迭代之后,得到RD16=LE0
LD16=RE0
然后对此结果再进行一次逆初始置换,得到的明文与一开始加密之前的明文一致,所以说,DES解密实际上是DES加密的逆过程。
(REi,Kj)为F函数运算。