美文网首页
Problem 4.7 Show that DES decryp

Problem 4.7 Show that DES decryp

作者: xzk_肖同学QAQ | 来源:发表于2017-10-12 00:25 被阅读0次

    计算机安全学:证明DES解密过程是加密的逆过程

    DES加密过程

    DES的加密过程是首先将64比特的明文通过初始置换(IP)重排,然后通过16轮含有SPN的函数迭代,最后再通过初始的逆置换(IP-1)获得密文。在这个过程中,IP和IP-1是一个互逆的过程,所以不需要过多的考虑,重要的是16轮的函数迭代,该函数迭代算法和Feistel算法是相同的,所以接下来只需要考虑Feistel算法即可。

    根据书中的图示和解释可以理解为:该算法首先是将64比特的明文分成左边的32比特(LEi)和右边的32比特(REi),然后对于第i轮的迭代算法,有:

    LEi=REi
    REi=LEi⊕F(REi-1,Ki)

    在通过16轮该算法的迭代后可得LE16RE16,最后通过初始置换的逆置换即可获得DES的最终密文

    DES解密过程

    DES的解密过程是加密过程的逆过程,首先IP和IP-1是互逆的过程,这里不需要探讨,所以该题只需要证明Feistel的解密过程是加密过程的逆过程即可。

    首先,对于第一轮解密,有:

    LD1=RD0=LE16=RE15
    RD1=LD0⊕F(RD0,K16)
    =RE16⊕F(RE15,K16)
    =[LE15⊕F(RE15,K16)]⊕F(RE15,K16)

    然后因为异或具有以下规律:

    [A⊕B]⊕C=A⊕[B⊕C]
    D⊕D=0
    E⊕0=E

    可得,LD1=RE15,RD1=LE15,由此可推导出:

    LDi=RE16-i,RDi=LE16-i

    即通过16轮解密算法迭代以后,可得出LD16=RE0,RD16=LE0,即RE0||LE0,最后再左右交换1次即可获取初始输入的64比特。Feistel的解密过程是加密过程的逆过程得证,而题目要求的DES解密过程是加密的逆过程也因此得证。

    相关文章

      网友评论

          本文标题:Problem 4.7 Show that DES decryp

          本文链接:https://www.haomeiwen.com/subject/fwbgyxtx.html