代码之家  ›  专栏  ›  技术社区  ›  El Ronnoco

异或(XOR)加密的安全性

  •  3
  • El Ronnoco  · 技术社区  · 14 年前

    众所周知,XOR加密相当弱。但如果我有一把由不同长度(理想情况下是质数)的多个键组成的键,这些键组合在一起形成一个更长的键,那它有多弱。我有一个长度为5、9和11的文本键。如果我只是使用XOR加密应用第一个密钥,那么应该很容易断开,因为加密字节将每5个字节重复一次。然而,如果我“覆盖”这3个键,我得到的有效非重复长度为5*9*11=495。在我看来这听起来很有说服力。如果我用一首诗中的几行作为关键,那么我不重复的长度将远远大于大多数文件。如果钥匙是保密的,这会有多强大! :) )

    3 回复  |  直到 14 年前
        1
  •  7
  •   Nick Fortescue    14 年前

    异或加密和密钥流一样强大。如果你用一个“一次性密码板”进行异或运算——一个物理生成的随机数序列,你只使用一次,那么你的加密理论上是不可破解的。但是,您确实存在隐藏和分发密钥的问题。

    因此,您的问题归结为:“由三个文本字符串组成的密钥流有多安全/随机?”答案是“一点都不安全”。很可能能把你妹妹挡在外面,但如果你有一个像我一样聪明的妹妹就不一定了。

        3
  •  2
  •   supercat    14 年前

    如果P和Q是两个独立的密码方法,则复合密码函数P(Q(x))不会弱于P(x)或Q(x)的强函数,但也不一定是有意义的强函数。为了使复合密码函数获得任何强度,包含它的操作必须满足某些条件。任意组合弱密码,无论使用多少,都不可能产生强密码。

    推荐文章