已知XOR加密非常弱。但是,如果我有一个由多个(理想情况下)长度的键组成的键,这些键组合在一起以制成更长的钥匙。例如,我有一个长度为5、9和11的文本键。如果我只使用XOR加密应用第一个密钥,那么应该易于破坏,因为加密字节将每5个字节重复一次。但是,如果我“叠加”了这些键中的3个,我会得到5*9*11 = 495的有效的非重复长度。这对我来说很强烈。如果我使用每行用作键的几首诗,那么我的不重复长度将比大多数文件大。这将有多强大(提供关键仍然是秘密的! :) )

有帮助吗?

解决方案

XOR加密与钥匙流一样强。如果您使用“一次性垫” XOR - 一系列仅使用一次的物理生成的随机数,那么您的加密在理论上是牢不可讲的。但是,您确实存在隐藏和分发密钥的问题。

因此,您的问题归结为 - “由三个文本字符串制成的键流有多安全/随机?”答案是“根本不是很安全”。可能足以阻止您的妹妹,但如果您像我一样有一个聪明的小妹妹,则不一定。

其他提示

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

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

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

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

如果p和q是两种独立的加密方法,则复合加密函数p(q(x))不会比p(x)或q(x)的强度弱,但不一定要更强大任何一个。为了使复合加密函数获得任何强度,其操作包括必须符合某些标准。任意将弱密码组合在一起,无论使用多少,都不太可能产生强密码。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top