Le cryptage XOR

 

Origine :

     Le cryptage XOR est un système de cryptage basique mais pas trop limité. Ainsi, il a beaucoup été utilisé dans les débuts de l'informatique et continue à l'être encore aujourd'hui car il est facile à implémenter, dans toutes sortes de programmes.

Mécanisme :

     Le XOR est un opérateur logique qui correspond à un "OU exclusif" : c'est le (A OU B) qu'on utilise en logique mais qui exclue le cas où A et B sont simultanément vrais. Voici sa table de vérité :

Table de vérité du XOR
A B (A XOR B)
FAUX FAUX FAUX
FAUX VRAI VRAI
VRAI FAUX VRAI
VRAI VRAI FAUX

    En informatique, chaque caractère du message à coder est représenté par un entier, le code ASCII. Ce nombre est lui-même représenté en mémoire comme un nombre binaire à 8 chiffres (les bits). On choisit une clé que l'on place en dessous du message à coder, en la répétant autant de fois que nécessaire, comme dans le cryptage de Vigenère. Le message et la clé étant converti en binaire, on effectue un XOR, bit par bit, le 1 représentant VRAI et le 0 FAUX. Le résultat en binaire peut être reconverti en caractères ASCII et donne alors le message codé.

    L'algorithme est complètement symétrique : la même opération est réappliqué au message final pour retrouver le message initial.

    Remarque : Parfois, on applique une permutation circulaire aux bits du message final pour donner le message codé.

 

Inconvénients :

    Les mêmes que pour le cryptage de Vigenère.

 

Exemple 1 :

    Voici le mot MESSAGE converti en binaire :

Lettres

M

E

S

S

A

G

E

Codes ASCII

77

69

83

83

65

71

69

Binaire

01001101

01000101

01010011

01010011

01000001

01000111

01000101

    Le mot CLE en binaire est lui représenté par 01000011 - 01001100 - 01000101 .

Message en binaire

01001101

01000101

01010011

01010011

01000001

01000111

01000101

Clé en binaire (répétée si nécessaire)

01000011

01001100

01000101

01000011

01001100

01000101

01000011

Message crypté en binaire

00001110

00001001

00010110

00010000

00001101

00000010

00000110

 

Exemple 2 :

 

 

Article précédent    Retourner au sommaire    Article suivant                   Glossaire    Bibliographie    Webographie