Contenu du cours
Fondamentaux de la Cybersécurité
Fondamentaux de la Cybersécurité
Algorithme XOR
L'algorithme XOR (ou exclusif) est une méthode de chiffrement simple qui repose sur l'opération XOR, une opération binaire produisant un résultat basé sur les différences entre les bits correspondants du texte et d'une clé binaire spécifiée. Cet algorithme est symétrique, ce qui signifie qu'une seule clé est utilisée pour le chiffrement et le déchiffrement.
Qu'est-ce que l'opération XOR ?
L'opération XOR compare chaque paire de bits et retourne 1 si les bits sont différents et 0 s'ils sont identiques. Elle est représentée par le symbole
⊕
.
XOR offre symétrie et réversibilité, ce qui la rend adaptée aux processus de chiffrement et de déchiffrement.
Voici la table de vérité pour l'opération XOR :
A | B | A XOR B |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
Implémentation de l'algorithme
Processus de chiffrement : Le processus de chiffrement consiste à appliquer l'opération XOR à chaque bit du texte en clair avec le bit correspondant de la clé. Si les bits sont identiques, le résultat est 0 ; s'ils sont différents, le résultat est 1. Ce processus est répété pour chaque bit du texte en clair, produisant ainsi le texte chiffré ;
Processus de déchiffrement : Le déchiffrement est l'image miroir du chiffrement. Appliquer l'opération XOR au texte chiffré avec la même clé utilisée pour le chiffrement permet de retrouver le texte en clair d'origine. L'opération XOR est symétrique ; appliquer deux fois XOR avec la même valeur restitue la valeur initiale ;
Clés de longueur variable : Dans certaines implémentations de chiffrement basées sur XOR, la longueur de la clé peut différer de celle du texte en clair. Pour y remédier, la clé est répétée de manière cyclique afin de correspondre à la longueur du texte en clair. Cette répétition garantit une opération XOR cohérente sur l'ensemble du message, préservant l'intégrité de l'algorithme.
Exemple
Créons un exemple simple de chiffrement XOR en utilisant la table de vérité XOR. Pour plus de simplicité, nous utiliserons un message binaire et une clé binaire.
Message : 1101.
Clé : 1010.
Chiffrement :
Massage | Key | Encryption |
---|---|---|
1 | 1 | 0 |
1 | 0 | 1 |
0 | 1 | 1 |
1 | 0 | 1 |
Remarque
Pour chiffrer des messages textuels, il faut convertir le texte au format binaire. Cela peut être réalisé à l'aide de la table ASCII : les caractères sont d'abord encodés sous forme de codes numériques, puis ces codes sont convertis en format binaire.
Merci pour vos commentaires !