XOR
The XOR (Exclusive OR) operator is a logical operation that takes two binary inputs and returns a single binary output.
In cryptography, XOR is often used as a simple method for combining two values into a single value or for separating a single value into two parts.
How it works ?
XOR is a bitwise operator which returns 0 if the bits are the same, and 1 otherwise. In textbooks the XOR operator is denoted by ⊕, but in most programming languages you will see the char^ used instead.
0
0
0
0
1
1
1
1
0
1
0
1
For longer binary inputs, the XOR operation is done bit by bit : 1010 ^ 0111 = 1101 . If the two operand haven't the same size, then the shorter padded with non-significant 0 :
1010 ^ 01 = 1010 ^ 0001 = 1011Properties
Like other standard mathematical objects, xor has some specific properties :
Commutative : A ⊕ B = B ⊕ A
Associative : A ⊕ B ⊕ C = A ⊕ (B ⊕ C) = (A ⊕ B) ⊕ C
Identity : A ⊕ 0 = A
Self-Inverse : A ⊕ A = 0These properties are very interesting cause it permit the following :
Python
from pwn import *
A = "someData"
B = "OtherData"
xored = xor(A,B)Resources
Last updated