Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. Fonction OU exclusif — Wikipédia
Fonction OU exclusif — Wikipédia 👆 Click Here! Read More..
Un article de Wikipédia, l'encyclopédie libre.
Page d’aide sur la paronymie

Cet article possède un paronyme, voir Nous exclusif.

Page d’aide sur l’homonymie

Pour les articles homonymes, voir XOR (homonymie).

Diagramme de Venn de A ⊕ B {\displaystyle \scriptstyle A\oplus B} {\displaystyle \scriptstyle A\oplus B}

OR sans AND donne XOR

Diagramme de Venn de A ⊕ B ⊕ C {\displaystyle \scriptstyle A\oplus B\oplus C} {\displaystyle \scriptstyle A\oplus B\oplus C}

  ⊕   {\displaystyle ~\oplus ~} {\displaystyle ~\oplus ~}   ⇔   {\displaystyle ~\Leftrightarrow ~} {\displaystyle ~\Leftrightarrow ~}

La fonction OU exclusif, souvent appelée XOR (eXclusive OR) ou disjonction exclusive, ou somme binaire en cryptographie où il est noté +, ou encore ⊻ en algèbre relationnelle, est un opérateur logique de l'algèbre de Boole à deux opérandes, qui peuvent avoir chacun la valeur VRAI ou FAUX. Il associe un résultat qui a lui-même la valeur VRAI seulement si les deux opérandes ont des valeurs distinctes.

Cet opérateur est très utilisé en électronique, en informatique, et aussi en cryptographie du fait de ses propriétés intéressantes.

Son symbole est traditionnellement un signe plus dans un cercle : « ⊕ ».

Définition

[modifier | modifier le code]

Appelons A et B les deux opérandes considérés. Convenons de représenter leur valeur ainsi :

1 = VRAI
0 = FAUX

L'opérateur XOR est défini par sa table de vérité, qui indique pour toutes les valeurs possibles de A et B la valeur du résultat R :

Table de vérité de XOR
A B R = A ⊕ B
0 0 0
0 1 1
1 0 1
1 1 0


Comme on peut le voir, l'opérateur logique XOR, ou OU exclusif, peut se définir par la phrase suivante :

Le résultat est VRAI si un et un seul des opérandes A et B est VRAI

ou

Le résultat est VRAI si les deux opérandes A et B ont des valeurs distinctes

ou

Le résultat est VRAI si un nombre impair d'entrées est vrai (ceci est surtout applicable lorsque deux ou plusieurs opérateurs logiques XOR se cascadent (générateurs de bit de parité)

Il se différencie de l'opérateur OU inclusif, car il donne un résultat FAUX lorsque A et B ont simultanément la valeur VRAI. Son symbole se différencie aussi de l'opérateur OU inclusif dont le symbole est simplement un « PLUS » : « + ».

En informatique, cet opérateur peut s'utiliser pour combiner deux bits, valant chacun 0 ou 1, en appliquant les règles définies par la table précédente, le résultat étant lui-même la valeur d'un bit.

Avec des portes logiques ET/OU, A XOR B = (A ET non B) OU (non A ET B).

La fonction XOR est un exemple de fonction parité.

Équivalence, introduction et élimination

[modifier | modifier le code]

La disjonction exclusive p ⊕ q {\displaystyle p\oplus q} {\displaystyle p\oplus q}, ou Jpq, peut être exprimée en termes de conjonction (« et logique », ∧ {\displaystyle \wedge } {\displaystyle \wedge }), disjonction (« ou logique », ∨ {\displaystyle \lor } {\displaystyle \lor }), et de la négation logique ( ¬ {\displaystyle \lnot } {\displaystyle \lnot }) comme suit :

p ⊕ q = ( p ∨ q ) ∧ ¬ ( p ∧ q ) {\displaystyle {\begin{matrix}p\oplus q&=&(p\lor q)\land \lnot (p\land q)\end{matrix}}} {\displaystyle {\begin{matrix}p\oplus q&=&(p\lor q)\land \lnot (p\land q)\end{matrix}}}

La disjonction exclusive p ⊕ q {\displaystyle p\oplus q} {\displaystyle p\oplus q} peut aussi être formulée de la façon suivante :

p ⊕ q = ( p ∧ ¬ q ) ∨ ( ¬ p ∧ q ) {\displaystyle {\begin{matrix}p\oplus q&=&(p\land \lnot q)\lor (\lnot p\land q)\end{matrix}}} {\displaystyle {\begin{matrix}p\oplus q&=&(p\land \lnot q)\lor (\lnot p\land q)\end{matrix}}}

Cette représentation de XOR peut être utile lors de la construction d'un circuit ou d'un réseau, car il n'a qu'une seule opération ¬ {\displaystyle \lnot } {\displaystyle \lnot } et un nombre réduit d'opérations ∧ {\displaystyle \wedge } {\displaystyle \wedge } et ∨ {\displaystyle \lor } {\displaystyle \lor }. Une preuve de cette identité est donnée ci-dessous:

p ⊕ q = ( p ∧ ¬ q ) ∨ ( ¬ p ∧ q ) = ( ( p ∧ ¬ q ) ∨ ¬ p ) ∧ ( ( p ∧ ¬ q ) ∨ q ) = ( ( p ∨ ¬ p ) ∧ ( ¬ q ∨ ¬ p ) ) ∧ ( ( p ∨ q ) ∧ ( ¬ q ∨ q ) ) = ( ¬ p ∨ ¬ q ) ∧ ( p ∨ q ) = ¬ ( p ∧ q ) ∧ ( p ∨ q ) {\displaystyle {\begin{matrix}p\oplus q&=&(p\land \lnot q)&\lor &(\lnot p\land q)\\[3pt]&=&((p\land \lnot q)\lor \lnot p)&\land &((p\land \lnot q)\lor q)\\[3pt]&=&((p\lor \lnot p)\land (\lnot q\lor \lnot p))&\land &((p\lor q)\land (\lnot q\lor q))\\[3pt]&=&(\lnot p\lor \lnot q)&\land &(p\lor q)\\[3pt]&=&\lnot (p\land q)&\land &(p\lor q)\end{matrix}}} {\displaystyle {\begin{matrix}p\oplus q&=&(p\land \lnot q)&\lor &(\lnot p\land q)\\[3pt]&=&((p\land \lnot q)\lor \lnot p)&\land &((p\land \lnot q)\lor q)\\[3pt]&=&((p\lor \lnot p)\land (\lnot q\lor \lnot p))&\land &((p\lor q)\land (\lnot q\lor q))\\[3pt]&=&(\lnot p\lor \lnot q)&\land &(p\lor q)\\[3pt]&=&\lnot (p\land q)&\land &(p\lor q)\end{matrix}}}Il est parfois utile de noter p ⊕ q {\displaystyle p\oplus q} {\displaystyle p\oplus q} de la manière suivante:
p ⊕ q = ¬ ( ( p ∧ q ) ∨ ( ¬ p ∧ ¬ q ) ) {\displaystyle {\begin{matrix}p\oplus q&=&\lnot ((p\land q)\lor (\lnot p\land \lnot q))\end{matrix}}} {\displaystyle {\begin{matrix}p\oplus q&=&\lnot ((p\land q)\lor (\lnot p\land \lnot q))\end{matrix}}}

ou:

p ⊕ q = ( p ∨ q ) ∧ ( ¬ p ∨ ¬ q ) {\displaystyle {\begin{matrix}p\oplus q&=&(p\lor q)\land (\lnot p\lor \lnot q)\end{matrix}}} {\displaystyle {\begin{matrix}p\oplus q&=&(p\lor q)\land (\lnot p\lor \lnot q)\end{matrix}}}

Cette équivalence peut être établie en appliquant les lois de De Morgan deux fois à la quatrième ligne de la démonstration ci-dessus.

Le ou exclusif est également équivalent à la négation d'une équivalence logique, par les règles de l'implication matérielle.

En résumé, nous avons :

p ⊕ q = ( p ∧ ¬ q ) ∨ ( ¬ p ∧ q ) = p q ¯ + p ¯ q = ( p ∨ q ) ∧ ( ¬ p ∨ ¬ q ) = ( p + q ) ( p ¯ + q ¯ ) = ( p ∨ q ) ∧ ¬ ( p ∧ q ) = ( p + q ) ( p q ¯ ) {\displaystyle {\begin{matrix}p\oplus q&=&(p\land \lnot q)&\lor &(\lnot p\land q)&=&p{\overline {q}}+{\overline {p}}q\\[3pt]&=&(p\lor q)&\land &(\lnot p\lor \lnot q)&=&(p+q)({\overline {p}}+{\overline {q}})\\[3pt]&=&(p\lor q)&\land &\lnot (p\land q)&=&(p+q)({\overline {pq}})\end{matrix}}} {\displaystyle {\begin{matrix}p\oplus q&=&(p\land \lnot q)&\lor &(\lnot p\land q)&=&p{\overline {q}}+{\overline {p}}q\\[3pt]&=&(p\lor q)&\land &(\lnot p\lor \lnot q)&=&(p+q)({\overline {p}}+{\overline {q}})\\[3pt]&=&(p\lor q)&\land &\lnot (p\land q)&=&(p+q)({\overline {pq}})\end{matrix}}}

Quelques propriétés mathématiques

[modifier | modifier le code]
  • A ⊕ A = 0 {\displaystyle A\oplus A=0} {\displaystyle A\oplus A=0} (on le vérifie facilement sur la table pour les 2 valeurs possibles de A)
  • A ⊕ 0 = A {\displaystyle A\oplus 0=A} {\displaystyle A\oplus 0=A}
  • A ⊕ 1 = A ¯ {\displaystyle A\oplus 1={\bar {A}}} {\displaystyle A\oplus 1={\bar {A}}}
  • A ⊕ A ¯ = 1 {\displaystyle A\oplus {\bar {A}}=1} {\displaystyle A\oplus {\bar {A}}=1}
  • Commutativité A ⊕ B = B ⊕ A {\displaystyle A\oplus B=B\oplus A} {\displaystyle A\oplus B=B\oplus A}
  • Associativité A ⊕ ( B ⊕ C ) = ( A ⊕ B ) ⊕ C = A ⊕ B ⊕ C {\displaystyle A\oplus (B\oplus C)=(A\oplus B)\oplus C=A\oplus B\oplus C} {\displaystyle A\oplus (B\oplus C)=(A\oplus B)\oplus C=A\oplus B\oplus C}
  • A ⊕ B = A ⊙ B ¯ {\displaystyle A\oplus B={\overline {A\odot B}}} {\displaystyle A\oplus B={\overline {A\odot B}}} et A ⊕ B ⊕ C = A ⊙ B ⊙ C {\displaystyle A\oplus B\oplus C=A\odot B\odot C} {\displaystyle A\oplus B\oplus C=A\odot B\odot C} où ⊙ {\displaystyle \odot } {\displaystyle \odot } est la fonction coïncidence.
  • A ⊕ B = ( A + B ) ⊕ A ⋅ B {\displaystyle A\oplus B=(A+B)\oplus A\cdot B} {\displaystyle A\oplus B=(A+B)\oplus A\cdot B}
  • A ⊕ B = 0 {\displaystyle A\oplus B=0} {\displaystyle A\oplus B=0} si et seulement si A = B {\displaystyle A=B} {\displaystyle A=B} (dans un sens, c'est immédiat, dans l'autre, utilisation de la propriété d'associativité et de la propriété : A ⊕ 0 = A {\displaystyle A\oplus 0=A} {\displaystyle A\oplus 0=A})
  • A ⊕ B = A ¯ ⋅ B + A ⋅ B ¯ {\displaystyle A\oplus B={\bar {A}}\cdot B+A\cdot {\bar {B}}} {\displaystyle A\oplus B={\bar {A}}\cdot B+A\cdot {\bar {B}}} On déduit de cette propriété : A ⊕ B ¯ = A ⋅ B + A ¯ ⋅ B ¯ {\displaystyle {\overline {A\oplus B}}=A\cdot B+{\bar {A}}\cdot {\bar {B}}} {\displaystyle {\overline {A\oplus B}}=A\cdot B+{\bar {A}}\cdot {\bar {B}}} ou même encore : A ⊕ B ¯ = A ¯ ⊕ B = A ⊕ B ¯ {\displaystyle {\overline {A\oplus B}}={\overline {A}}\oplus B=A\oplus {\overline {B}}} {\displaystyle {\overline {A\oplus B}}={\overline {A}}\oplus B=A\oplus {\overline {B}}} et même encore : A ⊕ B = A ¯ ⊕ B ¯ {\displaystyle A\oplus B={\overline {A}}\oplus {\overline {B}}} {\displaystyle A\oplus B={\overline {A}}\oplus {\overline {B}}}
  • A ⊕ B = C {\displaystyle A\oplus B=C} {\displaystyle A\oplus B=C} alors C ⊕ B = A {\displaystyle C\oplus B=A} {\displaystyle C\oplus B=A} et A ⊕ C = B {\displaystyle A\oplus C=B} {\displaystyle A\oplus C=B}
  • ( A ⊕ B ) ⊕ B = A {\displaystyle (A\oplus B)\oplus B=A} {\displaystyle (A\oplus B)\oplus B=A} (Conséquence des deux premières propriétés et de l'associativité — utile en cryptographie (voir ci-dessous))
  • L'ensemble {0;1} muni des deux lois de composition interne OU exclusif et ET est un corps fini.

Exemple d'utilisation en cryptographie

[modifier | modifier le code]

Considérons un document numérique à chiffrer, il consiste en une suite de bits. Dans la méthode de chiffrement par flot, on doit disposer par ailleurs d'une suite de bits de même longueur, totalement aléatoire, que l'on appelle clé de chiffrement. On traite un à un les bits du document en clair, en le combinant avec le bit de même rang de la clé de chiffrement.

Appelons A un bit en clair et B le bit de même rang de la suite aléatoire.

Le chiffrement consiste à calculer le bit C par : C = A ⊕ B . C est le chiffré de A.

Pour déchiffrer C on utilise à nouveau le bit B de la suite aléatoire et on calcule : C ⊕ B.

Le résultat donne A, le bit en clair, car C ⊕ B = A ⊕ B ⊕ B = A ⊕ 0 = A, en utilisant les deux premières propriétés ci-dessus.

Cette méthode est l'une des manières d'effectuer un chiffrement symétrique, où la même clé sert à chiffrer et déchiffrer.

Ce système, bien que très simple dans son principe, peut s'avérer inviolable si la suite de bits de la clé est vraiment aléatoire. Cette dernière ne doit en outre être 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éatoire » qui s'avère être le plus difficile à mettre en œuvre. Mais lorsque la clé est vraiment aléatoire (techniquement, qu'elle est tirée selon la distribution uniforme parmi toutes les suites possibles de cette longueur), 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 aboutissant à une sécurité absolue, en théorie.

Voir aussi l'article : masque jetable

Illustration

[modifier | modifier le code]

Voici un exemple numérique de la méthode précédente :

M = 0110101011010100 (message en clair)

K = 0101011011100110 (la clé ; à garder secrète bien évidemment)

Convenons que le symbole ⊕ représente ici l'application de l'opérateur XOR à chacun des bits

Pour chiffrer, il faut utiliser la table de vérité: « M » est votre message et « K » représente la clé secrète.

Donc: M ⊕ K = C. Le « C » représente le message chiffré:

Chiffrement : C = M ⊕ K = 0011110000110010 (message chiffré)

Déchiffrement : M = C ⊕ K = 0110101011010100 (message déchiffré)

Histoire

[modifier | modifier le code]

Ce système de chiffrement a été utilisé pour le téléphone rouge, en fait un télex, 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.

Autres applications en cryptographie

[modifier | modifier le code]

La totalité des chiffreurs symétriques utilise l'opérateur XOR. L'algorithme de cryptographie haute sécurité symétrique AES (Rijndael) en particulier, en utilise un très grand nombre.

Application en électronique

[modifier | modifier le code]

Exemple d'utilisation : le circuit intégré 7486 TTL ou le circuit intégré CMOS 4070 intègre quatre portes logiques du type OU exclusif. Illustration : Exemple : La lampe s'allume si l'on appuie sur « a » ou « b » seulement, mais pas si l'on appuie sur « a » et « b » simultanément.

Schéma
Équation
L = a ⊕ b {\displaystyle L=a\oplus b} {\displaystyle L=a\oplus b}
L = ( a ¯ . b ) + ( a . b ¯ ) {\displaystyle L=({\bar {a}}.b)+(a.{\bar {b}})} {\displaystyle L=({\bar {a}}.b)+(a.{\bar {b}})}
Chronogramme
Symbole IEC
Symbole ANSI (appelé aussi militaire)

Applications en informatique

[modifier | modifier le code]

Outre les utilisations liées à la cryptographie, la fonction OU exclusif permet de remettre rapidement la valeur d'une variable (souvent un registre) à zéro.

Prenons par exemple le code en assembleur qui utilise le OU exclusif pour remettre la valeur du registre eax à zéro :

xor eax, eax

Sur les processeurs de type x86, cette instruction est plus courte (en nombre d'octets) que le code intuitif suivant :

mov eax, 0

Elle permet aussi la mise à zéro d'une variable lorsque les conditions ne permettent pas l'octet 0x00 dans le binaire (shellcode).

On peut également utiliser le OU exclusif pour échanger deux variables sans utiliser de variable temporaire.

Application en électricité domestique

[modifier | modifier le code]

Une application utilisée de l'opérateur logique OU exclusif en électricité domestique est dans les salles où une ampoule peut être allumée ou éteinte par deux interrupteurs placés près de deux entrées. Chacun des deux interrupteurs peut soit allumer ou éteindre l'ampoule quelle que soit la position de l'autre interrupteur. Pour obtenir une telle fonctionnalité, on doit brancher les deux interrupteurs afin de former un opérateur XOR. C'est le montage dit « va-et-vient ».

Notes et références

[modifier | modifier le code]
Cette section est vide, insuffisamment détaillée ou incomplète. Votre aide est la bienvenue ! Comment faire ?

Voir aussi

[modifier | modifier le code]

Articles connexes

[modifier | modifier le code]
  • Fonction logique
  • Fonction OUI
  • Fonction NON
  • Fonction ET
  • Fonction OU
  • Fonction NON-ET
  • Fonction NON-OU
  • Fonction Coïncidence

Liens externes

[modifier | modifier le code]

  • Notices dans des dictionnaires ou encyclopédies généralistesVoir et modifier les données sur Wikidata :
    • Britannica
    • Enciclopedia De Agostini
  • icône décorative Portail de la logique
  • icône décorative Portail de la cryptologie
  • icône décorative Portail de l’électricité et de l’électronique
Ce document provient de « https://fr.teknopedia.teknokrat.ac.id/w/index.php?title=Fonction_OU_exclusif&oldid=227584091 ».
Catégories :
  • Cryptologie
  • Fonction logique
Catégories cachées :
  • Article avec une section vide ou incomplète
  • Page utilisant un modèle Bases inactif
  • Page utilisant P1417
  • Page utilisant P6706
  • Page pointant vers des bases externes
  • Page pointant vers des dictionnaires ou encyclopédies généralistes
  • Page utilisant le modèle Autorité inactif
  • Portail:Logique/Articles liés
  • Portail:Mathématiques/Articles liés
  • Portail:Sciences/Articles liés
  • Portail:Cryptologie/Articles liés
  • Portail:Informatique/Articles liés
  • Portail:Électricité et électronique/Articles liés
  • Portail:Technologies/Articles liés

  • indonesia
  • Polski
  • الرية
  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • مصر
  • Nederlands
  • 本語
  • Português
  • Sinugboanong Binisaya
  • Svenska
  • Українска
  • Tiếng Việt
  • Winaray
  • 中文
  • Русски
Sunting pranala
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022
Email: pmb@teknokrat.ac.id