Show that DES decryption is, in fact, the inverse of DES encryption.
加密过程
DES
的加密过程总结如下:
解密过程
1.首先执行的是\(IP\), \(IP(IP^{-1}(RE_{16}LE_{16}))=RE_{16} LE_{16}\)
2.接下来是确定\(R_{16}L_{16}\)能否经过16 rounds得到\(L_{0}R_{0}\)
- 公式为:
\(L_{n}=R_{n-1}\)
\(R_{n}=L_{n-1}\oplus f(R_{n-1},K_{n})\)
- 利用归纳法证明
令\(LD_{i}\) \(RD{i}\) 代表解密过程的各状态,\(LE_{i}\) \(RE{i}\) 代表加密过程各状态
已知\(LD_{0}=RE_{16}\), \(RD_{0}=LE_{16}\)
假设\(RD_{i-1}=LE_{16-i+1}\) , \(LD_{i-1}=RE_{16-i+1}\)
\(LD_{i}=RD_{i-1}=LE_{16-i+1}=RE_{16-i}\)
$RD_{i}=LD_{i-1}\oplus f(RD_{i-1}, K16-i+1) $
\(=RE_{16-i+1}\oplus f(RE_{16-i}, K_{16-i+1})=[LE_{16-i}\oplus f(RE_{16-i},K_{16-i+1})]\oplus f(RE_{16-i},K_{16-i+1})=LE_{16-i}\)
则 \(LD_{i}=RE_{16-i}\) , \(RD_{i}=LE_{16-i}\)
因此 \(LD_{16}=RE_{0}\), \(RD_{16}=LE_{0}\)
3.交换后得到 \(LE_{0}RE_{0}\)
4.执行\(IP^{-1}\), 恢复为原文
可知 DES
的解密为加密的逆过程。