Cryptographie : Algorithmes
II) Opérateurs binaires
Aujourd'hui, chaque caractère est transformé en octet formé de huit bits, c'est-à-dire en nombre de 0 à 255, selon la table ASCII. Certains algorithmes reposent donc sur des opérations sur les bits.
A) Le "Ou exclusif" (XOR)
Le "Ou exclusif" est un opérateur logique qui ne retourne la valeur 1 que si les deux bits comparés sont différents. C'est le "ou" du "fromage ou dessert" : l'un ou l'autre, mais pas les deux. Voici sa table de vérité :
| Table de vérité du Ou Exclusif | ||
| Bit 1 | Bit 2 | Résultat |
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
Ainsi, supposons qu'on veuille coder le caractère A (code Ascii 65) avec la clé I (code Ascii 73)
| 01000001 | XOR | 01001001 | = | 00001000 |
| A | XOR | I | = | caractère de code Ascii 8 |
| 00001000 | XOR | 01001001 | = | 01000001 |
| caractère de code Ascii 8 | XOR | I | = | A |
B) Le décalage binaire
Un autre algorithme simple consiste à décaler les bits. Si on veut coder A en le décalant d'un cran vers la droite, on obtient :
01000001 donne 10100000
A donne á
Pour le décryptage, on fait l'opération inverse :
10100000 donne 01000001
á donne A.
Copyright © BLANC David - 2000