异或可逆运算问题

问题描述 投票:0回答:4

我在某处听说使用 XOR 是不可逆的(他们谈到加密),但我不明白它的意思是什么? AFAIK 即使使用 OR 运算,你也无法找出这两个位中哪一个是 1。请问,任何知道其含义的人都可以向我解释一下吗? 谢谢你

bit-manipulation xor
4个回答
13
投票

如果你这样做

z = x 异或 y

然后

x = z 异或 y

所以是的,它是可逆的。


8
投票

我认为你可能稍微错误地引用了它们。

他们可能意味着使用“一次性密码本”是牢不可破的,因为除非您拥有一次性密码本的副本,否则密文中绝对没有可用于恢复明文的信息。您不能使用统计分析,甚至不能使用强力搜索,因为所有输入都可以以相同的概率给出输出,并且无法知道哪个输入是正确的。 一次性填充通常使用 XOR 来实现,但不可逆性是因为它是一次性填充,而不是因为 XOR 操作。


5
投票
异或加密

没有密钥就无法破解”

如果密钥是随机的并且长度为 消息(因此它永远不会重复), XOR 密码更安全。与一个 密钥流是由 伪随机数生成器, 结果是一个流密码。
有钥匙 这是真正随机的,结果是 一次性垫,牢不可破 即使在理论上也是如此。


4
投票
is

可逆,与 AND 或 OR 不同。对于加密来说,这主要对于 Vernam 密码而言很有趣——您的密码生成密钥流,然后与数据流进行异或。在接收端,您可以将加密流与相同的密钥流进行异或,并得到明文。 从密码分析的角度来看,这也很有趣。例如,如果使用相同的密钥流对两个流进行加密,则将它们相互异或即可得到两个明文流的异或,并删除密钥流的所有影响。此时,您可以使用“滑动窗口”技术:将您认为可能在一条消息中的不同点与该流中的内容进行异或,如果存在,结果将是另一条消息的可理解文本。

© www.soinside.com 2019 - 2024. All rights reserved.