3

众所周知,XOR 加密非常弱。但是,如果我有一个由多个不同(理想情况下是素数)长度的密钥组成的密钥,这些密钥组合起来形成一个更长的密钥,这有多弱。例如,我有一个长度为 5、9 和 11 的文本密钥。如果我只是使用 XOR 加密应用第一个密钥,那么它应该很容易破解,因为加密字节将每 5 个字节重复一次。但是,如果我“覆盖”这些键中的 3 个,我会得到 5*9*11 = 495 的有效非重复长度。这对我来说听起来很强大。如果我使用一首诗的几节经文,每行作为键,那么我的非重复长度将比大多数文件大得多。这会有多强(假设密钥仍然保密!:)

4

3 回答 3

7

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

所以你的问题归结为 - “由三个文本字符串组成的密钥流有多安全/随机?” 答案是“一点也不安全”。可能足以阻止你的小妹妹,但如果你有一个像我这样聪明的小妹妹,那就不一定了。

于 2010-10-18T12:36:34.393 回答
4

那么“已知明文”攻击呢?如果您知道同一字符串的加密版本和明文版本,则可以检索密钥。

http://en.wikipedia.org/wiki/XOR_cipher

http://en.wikipedia.org/wiki/Known-plaintext_attack

http://en.wikipedia.org/wiki/Stream_cipher_attack

于 2010-10-18T13:35:35.033 回答
2

如果 P 和 Q 是两种独立的密码方法,则复合密码函数 P(Q(x)) 不会比 P(x) 或 Q(x) 中的更强者弱,但它不一定会有意义地更强任何一个。为了使复合密码函数获得任何强度,组成它的操作必须满足某些标准。任意组合弱密码,无论使用多少次,都不太可能产生强密码。

于 2010-10-18T16:50:53.787 回答