OU exclusif

Un article de Freepedia.

Le ou exclusif (eXclusive OR) est un opérateur logique de l'algèbre de boole très utilisé en électronique mais aussi en cryptographie du fait de ses propriétés très intéressantes. Son symbole est traditionnellement un signe plus dans un cercle: « ⊕ ». Cependant, cet opérateur fait double emploi avec le signe mathématique "différent de", qui sur des valeurs booléennes a exactement la même signification.

Comme on peut le voir dans sa table de vérité, l'opérateur logique OU Exclusif peut se définir par la phrase suivante:

La sortie est VRAI équivaut à dire que seulement l'une des entrées est VRAI
Table de vérité de XOR
ABS = A ⊕ B
000
011
101
110

A et B sont les deux opérandes et S la sortie. On dit que S est à l'état haut (est égal à 1) quand A « ou » B sont à un. Le « ou » est à prendre au sens l'un ou l'autre mais pas les deux en même temps : «Voulez-vous du café ou du thé». On peut aussi dire que l'état haut se produit quand A et B sont différents, ce qui simplifie la compréhension.

S = AB = A.B| + A|.B

Cet opérateur nous permet de faire au niveau des bits ce que l'on fait déjà depuis des centaines d'années au niveau des caractères. Et quand on sait qu'un caractère est généralement représenté dans un ordinateur par 8 bits, on voit assez facilement la possibilité de complexifier les chiffrements.

Quelques propriétés :

  • AA = 0 (A étant toujours identique à lui-même, le résultat sera obligatoirement 0)
  • A0 = A
  • A1 = A|
  • AA| = 1
  • commutativité AB = BA
  • associativité A ⊕ (BC) = (AB) ⊕ C
  • AB = ABA.B
  • AB = C alors CB = A



Explication de cette dernière propriété :

Créons 4 bits, (A, B, C et H) tels que :

A ⊕ B = C et C ⊕ B = H

Le but de cette démonstration est de prouver que H = A

En « Xorisant » membre à membre les égalités précédentes on obtient : (A ⊕ B) ⊕ (C ⊕ B) = C ⊕ H

ce qui ici, en vertu de la commutativité du « Xor », est équivalent à  : (A ⊕ B) ⊕ (B ⊕ C) = H ⊕ C

ou encore, en vertu de l'associativité, à : A ⊕ B ⊕ B ⊕ C = C ⊕ H

ce qui équivaut à A ⊕ C = H ⊕ C

ce qui implique : A = H

Ainsi on a bien :

A ⊕ B = C et C ⊕ B = A

Sommaire

Cryptographie

Voir aussi l'article : masque jetable

En considérant A comme étant le bit en clair (non chiffré) et B le bit de la clé de chiffrement. Après l'opération on obtient un bit C qui sera le bit une fois chiffré. Enfin, si on effectue une nouvelle opération avec C (le bit chiffré) et B (la clé), on retrouve le bit A non chiffré d'origine. C'est le principe de chiffrement symétrique, la même clé permet de chiffrer et déchiffrer un message.

Ce système, bien que très « simple », peut s'avérer inviolable si la clé, générée aléatoirement, est au moins aussi longue que le message à chiffrer et qu'elle ne soit utilisée qu'une seule fois (on parle de masque jetable, ou encore de «one-time pad»). Dans cette phrase, c'est surtout le mot «aléatoirement» qui s'avère être le plus difficile à mettre en œuvre. En revanche, lorsque la clé est vraiment aléatoire --- techniquement, qu'elle est tirée selon la distribution uniforme parmi les clés possibles --- ce système est parfaitement sûr, en un sens rigoureusement défini par Claude Shannon, en 1949, dans un article fondateur «Communications theory of secrecy systems». Il convient d'ajouter que c'est le seul chiffrement qui satisfait cette sécurité absolue en théorie.

Problème annexe

Corollaire : tout fichier licite peut être transformé en fichier illicite de même taille par un ou exclusif avec un fichier donné facile à créer de toutes pièces (puisque c'est le ou exclusif du fichier licite et de l'illicite), ce qui rend l'opération de preuve de culpabilité très délicate et non exempte d'arbitraire.

Application

Maintenant, voici la mise en application de tout cela grâce à un exemple:

A = 0110101011010100 (message en clair) B = 0101011011100110 (la clé; à garder secrète bien évidemment)

Chiffrement: S = AB S = 0011110000110010 (message chiffré)

Déchiffrement: A = SB A = 0110101011010100 (message déchiffré)

Sans la clé, il est impossible de déchiffrer le message puisque n'importe quel message M de longueur égale au message original est un déchiffrage possible. Il suffit pour cela de prendre la clé C = SM.

Histoire

Ce système de chiffrement a été utilisé pour le téléphone rouge, en fait un telex, reliant directement le Kremlin à la Maison Blanche, les clés transitant alors par valises diplomatiques. Le système de masque jetable était également employé par les espions soviétiques. Certains masques furent utilisés plus d'une fois (parfois avec des années d'intervalle) ce qui permit aux services du chiffre anglais de déchiffrer certains messages.

Image:Crypto clé.png Portail Cryptologie - Accédez aux articles de Wikipédia concernant la cryptologie.


Views
Outils personels
Boîte à outils
Autres langues
Autres Liens