4.7 Show that DES decryption is, in fact, the inverse of DES encryption.
加密运算:
LEi=REi−1
REi=LEi−1⊕F(REi−1,Ki)
用加密运算的逆运算解密:
REi−1=LEi
REi=LEi−1⊕F(REi−1,Ki)
REi=LEi−1⊕F(LEi,Ki)
REi⊕F(LEi,Ki)=LEi−1⊕F(LEi,Ki)⊕F(LEi,Ki)
REi⊕F(LEi,Ki)=LEi−1⊕0
REi⊕F(LEi,Ki)=LEi−1
LEi−1=REi⊕F(LEi,Ki)
所以
REi−1=LEi
LEi−1=REi⊕F(LEi,Ki)
RD0=LE16
LD0=RE16
LD1=RE15=LE16=RD0
RD1=LE15=RE16⊕F(LE16,K16)=LD0⊕F(RD0,K16)
以此类推就能推出:
LD16=RD15
RD16=LD15⊕F(RD15,K1)
LDi=RDi−1
RDi=LDi−1⊕F(RDi−1,K16−i+1)
So DES decryption is, in fact, the inverse of DES encryption.