- 这是书本上的DES加密图
- 初始置换IP,IP-1是IP的逆
因此
M=IP-1(F[IP(P)])
M代表密文,P代表明文
F是Feistel密码结构 使用16轮
解密过程
P=IP-1(F[IP(M)])
化简得到
P=IP-1(F[IP(IP-1(F[IP(P)]))])
再次化简
P=IP-1(F[F[IP(P)]])
原因IP与IP-1互逆,所以IP和IP-1不会影响。
这是F的第i轮加密过程
Li+1=Ri
Ri+1=Li⊕F(Ri,Ki)
假设加密和解密使用同样的算法,因此Ki也会是相同的。
Li=Li+1=Ri
Ri=F(Li+1,Ki)⊕Ri+1=F(Ri,Ki)⊕F(Ri,Ki)⊕Li=Li
由此可见,加密和解密中间项只会互换位置,16轮后,密文就会变回明文。
因此
P=IP-1(F[F[IP(P)]])=IP-1(IP(P))=P
得证,DES解密算法实际上是DES加密算法的逆。