DES加密中明文的处理经过三个阶段:
首先,64位的明文经过初始置换(IP)而重新排列,然后进行16轮相同函数的作用,最后一轮函数的输出是64位,其左半部分与右半部分互换产生预输出,最后预输出再进行逆初始置换得到64位的密文。
除了初始和最后的置换,DES结构与Feistel密码结构完全相同。
在加密时,第十六轮函数以及左右互换后得到RE16||LE16,然后进行逆初始置(IP^-1)换得到密文,。
在解密时,密文第一个操作就是进行初始置换(IP),而初始置换和逆初始置换是互逆的操作,即RE16||LE6在经过逆初始置换和初始置换后仍然是RE16||LE16,然后再进行16轮函数作用,
在加密过程中有
LE16=RE15
RE16=LE15⊕F(RE15,K16)
在解密过程中有
LD1=RD0=LE16=RE15
RD1=LD0⊕F(RD0,K16)=RE16⊕F(RE15,K16)
=LE15⊕F(RE15,K16)⊕F(RE15,K16)
=LE15
则LD1=RE15和RD1=LE15,解密过程第一轮的输出是加密过程第15轮的输入,将该输出作为输入进行F函数会依次得到第14、13、……2、1轮的输入,解密最后一轮得到LE0||RE0,将LE0||RE0经过逆初始置换后,由于初始置换和逆初始置换是互逆的操作,所以得到了加密过程初始置换的输入,即明文。
由此可得,DES的解密是加密的逆