- XOR cipher
In
cryptography , a simple XOR cipher is a relatively simpleencryption algorithm that operates according to the principles::A 0 = A,
:A A = 0,
:(B A) A = B 0 = B,
where denotes the
exclusive disjunction (XOR) operation. With this logic, a string of text can be encrypted by applying the bitwise XOR operator to every character using a given key. To decrypt the output, merely reapplying the key will remove the cipher.For example, the string "Wiki" (01010111 01101001 01101011 01101001 in 8-bit
ASCII ) can be encrypted with the key 11110011 as follows::
And conversely, for decryption:
:
The XOR operator is extremely common as a component in more complex ciphers. By itself, using a constant repeating key, a simple XOR cipher can trivially be broken using
frequency analysis . Its primary merit is that it is simple to implement, and that the XOR operation is computationally inexpensive. A simple XOR cipher is therefore sometimes used for hiding information in cases where no particular security is required (cf.ROT13 ). However, if the key is as long as the message (so it is never repeated) and its bits are random, it is in effect aone-time pad (also known asVernam cipher ), which is unbreakable, even in theory.Also, the XOR cipher is completely vulnerable to the
known-plaintext attack , since "plaintext" "ciphertext" = "key".See also
*
Vernam cipher
*Vigenère cipher External links
* [http://cryptology.dod.net/xor/xor.php Automatic XOR cipher Breaking Service]
Wikimedia Foundation. 2010.