美文网首页
demonstrate

demonstrate

作者: LAZ_3633 | 来源:发表于2017-10-09 19:51 被阅读0次

    DES的加密方法是典型的Feistel结构,每一轮加密都是将上一轮的结果分成等长两部分,一部分直接为下一轮的一部分,另一半则经过一次代替后与秘钥按位异或。

    加密算法时假设当前到第16轮: 

                      LE16=RE15

                    RE16=LE15⊕F(RE15,K16)

    这里已知的是16轮的结果和秘钥K16。

    反过来假设是解密的过程,假设把刚刚加密完的密文再用解密算法还原成明文,同样到达刚刚的加密的第16步,即解密的第0步:

                       LD1=RD0=LE16=RE15

                      RD1=LD0⊕F(RD0,K16)

    这里第16轮的结果和秘钥K16是已知的。

                  RD1=LD0⊕F(RD0,K16)

                            =RE16⊕F(RE15,K16)

                            =[LE15⊕F(RE15,K16)]⊕F(RE15,K16)

                            =LE15

                  LD1=RE15

    可以看到解密算法第一轮的结果正好是加密算法15轮的置换,根据同理可解所有轮数都是对应的置换。而且算法在结构上是对称。因此解密算法时加密算法的reverse

    相关文章

      网友评论

          本文标题:demonstrate

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