如何找到与另一个值异或的值?
How to find a value that XORs to another value?
我正在尝试对主密钥值进行异或运算的 3 个密钥。
A XOR B XOR C = MASTER KEY
如果A、B和MASTER KEY可以随机生成一个字节(LENGTH=32),我如何找到C的值? (在 javascript)
由于 XOR 是它自己的逆(即对所有位模式 A XOR A = 0
,A
),您可以通过以下方式找到 C
:
C = A ^ B ^ MASTER_KEY;
其中 ^
是 JavaScript 异或运算符,A
、B
和 MASTER_KEY
是您在上面定义的值。
由于 XOR 是 XOR 的逆运算并且 XOR 是可交换的,因此您可以只应用基本算术:
A XOR B XOR C = M | XOR C
A XOR B = M XOR C | XOR M
A XOR B XOR M = C
并且在 javascript 语法中:
var C = A ^ B ^ MASTER_KEY;
我正在尝试对主密钥值进行异或运算的 3 个密钥。
A XOR B XOR C = MASTER KEY
如果A、B和MASTER KEY可以随机生成一个字节(LENGTH=32),我如何找到C的值? (在 javascript)
由于 XOR 是它自己的逆(即对所有位模式 A XOR A = 0
,A
),您可以通过以下方式找到 C
:
C = A ^ B ^ MASTER_KEY;
其中 ^
是 JavaScript 异或运算符,A
、B
和 MASTER_KEY
是您在上面定义的值。
由于 XOR 是 XOR 的逆运算并且 XOR 是可交换的,因此您可以只应用基本算术:
A XOR B XOR C = M | XOR C
A XOR B = M XOR C | XOR M
A XOR B XOR M = C
并且在 javascript 语法中:
var C = A ^ B ^ MASTER_KEY;