XOR Online Encrypt & Decrypt






Chiffrement XOR Online :


L'opération logique XOR (pour eXclusive OR), ou en français ou exclusif, est un opérateur logique (au même titre que AND, OR, etc) de l'agèbre de Boole. Cet opérateur logique va comparer deux bits et produire un bit de retour. Ce bit sera égal à 1 si les deux bits comparés sont différents, 0 s'ils sont semblables. Le chiffrement XOR est utilisé dans énormément de chiffres dits symétriques (notamment AES). Un chiffre symétrique est simplement un chiffre dans lequel la même clé est utilisée pour les processus d'encryption et de décryption. L'opérateur XOR est donc appliqué bit à bit entre le texte à chiffrer et la clé que nous choisissons. Un exemple vaut mieux que des mots, prenons donc le mot "xor". Nous souhaitons le chiffrer avec la clé "cle" (original ?). Nous commençons donc par transformer l'entrée et la clé en binaire :

xor : 01111000 01101111 01110010
cle : 01100011 01101100 01100101

Ensuite nous comparons chaque bit grâce à l'opérateur XOR. Ce qui donnera ceci :

xor : 01111000 01101111 01110010
cle : 01100011 01101100 01100101
       00011011 00000011 00010111

Pour revenir à l'entrée initiale ("xor" donc), il suffit de réappliquer l'opérateur xor entre la sortie et la clé. Il est à noter que la fonction XOR est commutative, comme une multiplication. Maintenant que faire si la clé est plus petite que l'entrée ? Cela est le cas dans la plupart des cas. Si la clé faisait la longueur du message à chiffrer, cela n'aurait pas énormément d'intérêt puisqu'il faut aussi communiquer la clé à la personne qui voudrait déchiffrer le message initial. En revanche quand le message à chiffrer et sa clé ont la même longueur, il est impossible pour qui ne connaît pas la clé de casser le chiffrement. Donc, quand la clé est plus courte que le message à chiffrer, on la réapplique tout simplement à la chaîne. Si par exemple je voulais chiffrer le mot "bonjour" avec ma clé "cle", je ferais comme suis :

bonjour : 01100010 01101111 01101110 01101010 01101111 01110101 01110010
cleclec :   01100011 01101100 01100101 01100011 01101100 01100101 01100011

Vous voyez qu'on répète simplement la clé. Plus celle-ci est courte, plus il sera facile de la casser (évidemment). Les attaques se basent souvent sur une analyse de fréquence. Pour ceci je vous laisse faire des recherches sur google.