Chiffrement et Déchiffrement du XOR

Chiffrement XOR

L'opération logique XOR (eXclusive OR) est un opérateur logique de l'algèbre de Boole. Cet opérateur compare deux bits et produit un bit de retour égal à 1 si les bits comparés sont différents, 0 s'ils sont identiques.

Le chiffrement XOR est utilisé dans de nombreux chiffres symétriques, notamment AES, où une même clé est utilisée pour l'encryption et la décryption. L'opérateur XOR est appliqué bit à bit entre le texte à chiffrer et la clé choisie.

Exemple de Chiffrement XOR

Prenons l'exemple du mot "xor" que nous souhaitons chiffrer avec la clé "cle". En binaire, cela donne :

    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é. La fonction XOR est commutative. Si la clé est plus courte que l'entrée, elle est simplement réappliquée à la chaîne.

Par exemple, pour chiffrer le mot "bonjour" avec la clé "cle", on répète simplement la clé :

    plain : 01110000 01101100 01100001 01101001 01101110 
    clecl : 01100011 01101100 01100101 01100011 01101100

Vous pouvez constater que plus la clé est courte, plus il est facile de casser le chiffrement, car les attaques se basent souvent sur une analyse de fréquence.