Sommaire Plan du site Algorithmique Cryptographie Filigranes César Polybe Pigpen Templiers Playfair cipher Homophonique
 

Utilisation d'un «OU exclusif»

Le changement d'échelle que constitue le passage du niveau de codage "caractère" au niveau de codage "bit" a permis de manipuler véritablement les nombres, en enrichissant la cryptographie de techniques mathématiques de brouillage non disponibles au niveau caractère.

La technique la plus simple est d'appliquer un « OU exclusif » (XOR) entre le texte à chiffrer et la clé. L'opération « OU exclusif », notée + en mathématiques, est une opération logique qui ne retourne la valeur 1 que si les deux bits comparés sont différents. C'est le « OU » de l'expression « fromage OU dessert » : l'un ou l'autre, mais pas les deux. C'est une opération classique sur les bits :

0 + 0 = 0
1 + 0 = 1
0 + 1 = 1
1 + 1 = 0

On remarque les propriétés suivantes :

a + a = 0
a + b + b= a

L'algorithme du « OU exclusif » simple n'est en fait rien d'autre qu'un chiffre de Vigenere, c'est à dire une substitution polyalphabétique utilisant une clé. Il est donc facile à "casser" quand on dispose de moyens modernes. Cependant, cet algorithme reste très souvent utilisé dans des logiciels commerciaux, du moins dans le monde de la micro.

L'applet ci-contre est une implémentation très simple du cryptage par «OU exclusif». Notez que les caractéres non affichables sont remplacés par leur code en héxadécimal, avec la convention utilisée en Java : Par exemple, \u000D représente le caractère de code ASCII 13 (en décimal).

Notez également que le processus est réversible : si on rechiffre un texte déjà chiffré, avec la même clé, on obtient le texte en clair.



LOEWENGUTH Pascal - http://lwh.free.fr -