Tool to decrypt/encrypt with XOR (eXclusive OR), a moder cryptographic method that consists in encrypting a binary message with a repeated key using a XOR multiplication.

XOR Cipher - dCode

Tag(s) : Modern Cryptography

dCode is free and its tools are a valuable help in games, maths, geocaching, puzzles and problems to solve every day!

A suggestion ? a feedback ? a bug ? an idea ? *Write to dCode*!

XOR Encryption uses the `XOR` operator (Exclusive Or, symbol: `⊕`) with the plain text and the key as operand (that should be binary encoded).

XOR is applied on binary data, a conversion (ASCII or Unicode) must be carried out on a non-binary text.

__Example:__ The plain message is `1001` and the key is `10`

Take the first bit (`0` or `1`) of the plain text and the first bit of the key and multiply then using XOR operation to get the ciphered bit.

__Example:__ `1 ⊕ 1 = 0`

The operation is repeated with the second bit of the plaintext and the second bit of the key. At the end of the key, loop back to the first bit.

__Example:__

Plain message |

1001 |

Key (repeated) |

1010 |

Encrypted message |

0011 |

XOR Decryption is identical to encryption because the XOR operation is symmetrical (reverse XOR = XOR).

__Example:__ `1001 ⊕ 1010 = 0011` and `0011 ⊕ 1010 = 1001`

dCode uses the ASCII table encoding which associates with characters (including the letters of the alphabet) a number between 0 and 128, which is then converted to base 2 (binary). It is possible to use other methods to get binary encoded text.

The truth table of the 2-parameter XOR logic function is:

A | B | A xor B |
---|---|---|

0 | 0 | 0 |

0 | 1 | 1 |

1 | 0 | 1 |

1 | 1 | 0 |

A xored message (XOR encrypted message) has no particularities, this makes it hard to detect.

It can be presented under binary form but also as ascii text.

Data in the form of a stream is well suited to XOR encoding.

Xor decryption without knowing the key is hard. It is possible to find all or a part of the key by knowing a part of the plain text. Else, there are no practical methods other than trying all the keys.

XOR is compatible with the principle of autoclave cipher.

dCode retains ownership of the "XOR Cipher" source code. Except explicit open source licence (indicated Creative Commons / free), the "XOR Cipher" algorithm, the applet or snippet (converter, solver, encryption / decryption, encoding / decoding, ciphering / deciphering, translator), or the "XOR Cipher" functions (calculate, convert, solve, decrypt / encrypt, decipher / cipher, decode / encode, translate) written in any informatic language (Python, Java, PHP, C#, Javascript, Matlab, etc.) and all data download, script, or API access for "XOR Cipher" are not public, same for offline use on PC, tablet, iPhone or Android !

The copy-paste of the page "XOR Cipher" or any of its results, is allowed as long as you cite the online source

Reminder : dCode is free to use.

Please, check our dCode Discord community for help requests!

NB: for encrypted messages, test our automatic cipher identifier!

xor,or,exclusive,binary,bin,xored

Source : https://www.dcode.fr/xor-cipher

© 2022 dCode — The ultimate 'toolkit' to solve every games / riddles / geocaching / CTF.

Feedback

▲
Thanks to your feedback and relevant comments, dCode has developed the best 'XOR Cipher' tool, so feel free to write! Thank you!