【发布时间】:2018-02-19 12:56:48
【问题描述】:
我有一个数字池,其中一个数字 X 已与所有其他数字进行异或运算。从这些比较中,最小 XOR 值以排序格式存储在列表中。
我怎样才能找回 X ?
例如
List: { 3, 2, 1, 0, 15, 14, 13, 12 }
Looking for X so that:
X ^ 3 < X ^ 2 < X ^ 1 <... < X ^ 12
可能不是只有一个X,甚至没有X。当我们不知道XOR的初始值和结果而只是比较值时,有没有办法恢复XOR的过程?鉴于我们知道整个数字池,如何有效地解决这个问题?
【问题讨论】:
-
太模糊了。如果您可以提供示例输入/输出,我们可能会进行调查。
-
还要注意二进制 XOR 是可交换的。即
a XOR b等于b XOR a。 -
你知道初始池的内容吗?
-
@TobySpeight 是的,池是已知的。
标签: c++ cryptography xor