XOR可逆性操作问题

时间:2010-02-24 14:12:21

标签: bit-manipulation xor

我听说过某些地方使用XOR是不可逆的(他们谈到了加密)但是我不明白它是怎么意思的?即使使用OR操作AFAIK也无法找出这两个位中的哪一个是1.请问,任何知道它是什么意思的人都可以向我解释一下吗? 谢谢

4 个答案:

答案 0 :(得分:8)

如果你这样做

z = x XOR y

然后

x = z XOR y

所以是可逆的

答案 1 :(得分:7)

我认为你可能会略微错误地引用它们。

他们可能意味着使用one-time pad是不可破解的,因为除非您拥有一次性密码的副本,否则密文中绝对没有可用于恢复明文的信息。你不能使用统计分析甚至是暴力搜索,因为所有输入都可以给出输出相同的概率,并且无法知道哪个输入是正确的。

一次性焊盘通常使用XOR实现,但不可逆性是因为它是一次性焊盘,而不是因为XOR操作。

答案 2 :(得分:4)

你可能的意思是“XOR encryption在没有键”

的情况下是牢不可破的
  

如果密钥是随机的并且是长的   消息(所以它永远不会重复),   XOR密码更安全。有了   密钥流由a生成   伪随机数发生器,   结果是流密码。 用钥匙   这是真正随机的,结果是一个   一次性垫,这是牢不可破的   甚至在理论上。

答案 3 :(得分:4)

它们可能意味着XOR 可逆,与AND或OR不同。对于加密,这主要是关于Vernam密码的有趣问题 - 密码生成密钥流,密钥流与数据流进行异或运算。在接收端,您可以使用相同的密钥流对加密流进行异或,然后返回明文。

从密码分析的角度来看,它也很有趣。例如,如果使用相同的密钥流对两个流进行加密,则将它们相互异或,为您提供两个明文流的XOR,并删除密钥流的所有效果。此时,您可以使用“滑动窗口”技术:XOR您认为可能在该流的不同点处的一条消息中,如果它在那里,结果将是另一条消息的可理解文本。 / p>