1.1 Les tables de vérité
| Expression a | Expression b | a AND b | a NAND b | a OR b | a NOR b | a XOR b |
|---|---|---|---|---|---|---|
| FAUX | FAUX | FAUX | VRAI | FAUX | VRAI | FAUX |
| FAUX | VRAI | FAUX | VRAI | VRAI | FAUX | VRAI |
| VRAI | FAUX | FAUX | VRAI | VRAI | FAUX | VRAI |
| VRAI | VRAI | VRAI | FAUX | VRAI | FAUX | FAUX |
Nous avons vu comment l'ordinateur avait été concu et pensé au fil du temps.
Nous avons vu qu'il comporte plusieurs parties indépendantes mais communicantes :
Nous allons aujourd'hui nous pencher sur la délicate question de l'action de l'UAL.
Que peut faire l'UAL rapidement, et comment ? Comment fonctionne cette partie de l'ordinateur ?
Nous allons notamment reparler des XOR :
Les schémas électriques interactifs de cette page ont été générés à l'aide du site https://logic.modulo-info.ch/.
Evaluation ✎ : -
Documents de cours : open document ou pdf
| Expression a | Expression b | a AND b | a NAND b | a OR b | a NOR b | a XOR b |
|---|---|---|---|---|---|---|
| FAUX | FAUX | FAUX | VRAI | FAUX | VRAI | FAUX |
| FAUX | VRAI | FAUX | VRAI | VRAI | FAUX | VRAI |
| VRAI | FAUX | FAUX | VRAI | VRAI | FAUX | VRAI |
| VRAI | VRAI | VRAI | FAUX | VRAI | FAUX | FAUX |
Attention, les symboles + et . ci-dessous ne correspondent pas à l'addition et la multiplication classique. Ils ne s'appliquent qu'à des termes booléens et l'addition réagit de cette façon :
1 + 1 = 1
1 + 1 + 1 = 1
Le AND correspond à la multiplication booléenne : \({a.b}\)
Le OR correspond à l'addition booléenne : \({a+b}\)
Le NAND est le complément du AND : \(\overline{a.b}\)
Le NOR est le complément du OR : \(\overline{a+b}\)
Le XOR : \(a \oplus b = a.\overline{b}+\overline{a}.b\)
\(\overline{a.b} = \overline{a} + \overline{b}\)
not(a and b) = (not a) or (not b)
not(a and b) = not a or not b
Version symétrique avec le OR :
\(\overline{a+b} = \overline{a} . \overline{b}\)
not(a or b) = (not a) and (not b)
not(a or b) = not a and not b
L'informatique est basée de nos jours sur l'électricité et plus particulièrement l'électronique.
L'un des composants matériels de base des ordinateurs est le transistor. On le trouve dans toutes les parties de ces machines.
Survolons donc rapidement les notions que vous devriez connaître, à défaut de vraiment maitriser.
Un courant électrique est dû à un mouvement global d'électrons. Les électrons se dirigent massivement dans la même direction. C'est l'analogie du courant d'eau où les molécules d'eau se dirigent globalement dans la même direction.
On caractérise l'importance d'un courant électrique par une grandeur algébrique
Pour information, 1A correspond au transport de plus de 6 milliards de milliards d'électrons par seconde. Plus facile de mesurer ça en Ampère non ?
Un courant électrique est constitué d'électrons. Encore faut-il leur donner envie de bouger !
C'est là qu'intervient la tension électrique entre deux points, A et B par exemple. Plus la tension électrique entre deux points est grande, plus les électrons auront tendance à se déplacer.
C'est d'ailleurs la raison physique de l'existence des éclairs lors des orages : la tension électrique entre les deux zones devient tellement grande que les électrons parviennent à se déplacer alors que l'air est normalement un isolant électrique ! Il faut dire qu'on atteint plusieurs millions de Volt.
Une fois les électrons déplacés, la tension repasse sous le seuil où l'air est isolant. C'est fini, jusqu'à la recharge progressive et l'arrivée du prochain éclair.
On peut donc voir la tension électrique entre deux points A et B comme une mesure de la différence de charges électriques entre le point A et le point B.
On définit pour cela la tension électrique UAB = VA - VB où VA désigne le potentiel électrique du point A.
Tensions et potentiels se mesurent en VOLT.
On peut voir le potentiel électrique VA comme une mesure des charges électriques présentes au point A.
Ainsi une batterie possède bien
SI on permet aux électrons de se déplacer en plaçant un conducteur entre les deux, l'intensité électrique sera d'autant plus forte que la tension électrique est forte.
Le danger pour un être humain est bien la différence de tension entre deux points (main - pied par exemple).
Avec un système générant une tension continue
Avec un système générant une tension alternative
Un conducteur dit ohmique possède une caractéristique : il s'oppose au courant électrique sans être isolant.
On caractérise cette opposition au passage du courant continu par une grandeur algébrique
Sur un tel conducteur, on peut utiliser la loi d'Ohm :
$$U = R.I$$
On peut déduire de la loi d'Ohm que pour une source de tension U constante, on a :
$$I = \frac{U}{R}$$.
Cela veut donc dire que plus la résistance électrique est grande, plus l'intensité électrique est petite. Logique.
Fil conducteur : R = 0
Un fil conducteur est conçu pour laisser passer le courant. On peut considérer que sa résistance est nulle en première approche.
D'après la loi d'Ohm, on en déduit facilement que U = 0.I = 0V.
Il n'existe donc aucune tension aux bornes d'un fil conducteur et la tension est intégralement retransmise : si l'un des côtés est à 5V, l'autre côté est à 5V également. En réalité, l'intégralité du fil est à 5V.
Résistor non parcouru par un courant : I = 0
Un résistor dont l'intensité I est nulle possède à ses bornes une tension U de 0V : U = R.0 = 0V.
Il se comporte donc comme un simple fil conducteur et on peut donc le remplacer mentalement par un fil.
01° Calculer la tension nécessaire pour établir une intensité de 0,002 A à travers un résistor de 2000 Ω.
...CORRECTION...
U = R . I = 2000 * 0.002
U = 4 V
02° Calculer l'intensité obtenue pour une tension continue de 5V et une résistance de 40 Ω.
...CORRECTION...
U = R . I
U / R = I
I = 5 / 40
I = 0.125 A
Aucune connaissance n'est exigible sur les transistors en NSI. Toute cette partie n'est qu'un ensemble de connaissances de culture générale.
Le transitor est le composant électronique principal de tout ordinateur, que ce soit dans le processeur ou dans la mémoire.
Dans le cadre de cette introduction à l'architecture interne d'un ordinateur, on peut voir le transistor comme un interrupteur commandé par une action électrique plutôt que mécanique.
Voyez le transistor comme un composant possédant 3 bornes :
Il existe plusieurs technologies de transistors. En voici trois :
La borne de gauche est placée à 5V :
La borne de gauche est placée à 5V :
La borne d'entrée (à gauche) est placée à 0V :
La borne de gauche est placée à 0V :
Bon, et c'est quoi le rapport avec l'informatique ?
On peut donc construire une porte logique NON à l'aide d'un transistor.
Voici comment on gère les états Vrai et Faux dans un ordinateur :
L'état HAUT (ou 1 ou True en Python) est encodé physiquement par une tension différente de 5V.
Techniquement, on prend plus large : toute tension supérieure à 2.5 V.
L'état BAS (ou 0 ou False en Python) est encodé physiquement par une tension de 0V.
Techniquement, on prend plus large : toute tension inférieure à 2.5 V.
| Etat | Nombre | Python | Tension |
|---|---|---|---|
| HAUT | différent de 0 | True | U > 2.5 V (5V) |
| BAS | égal à 0 | False | U < 2.5 V (0V) |
Si on reprend les deux possibilités précédentes mais en plaçant les états True et False, on obtient ceci :
Nous venons de créer l'équivalent d'un NOT / NON.
C'est comme cela que l'UAL parvient à exécuter électroniquement un not de Python :
>>> a = 12
>>> a > 5
True
>>> not(a > 5)
False
Première opération possible pour l'UAL : l'inversion ou le complément.
On considère une expression booléenne notée a et une valeur booléenne de sortie notée s.
Voici la table de vérité du NON :
En version FAUX / VRAI
| Expression a | Sortie s |
|---|---|
| FAUX | VRAI |
| VRAI | FAUX |
En version 0 / 1
| Expression a | Sortie s |
|---|---|
| 0 | 1 |
| 1 | 0 |
Au début de la généralisation des microprocesseurs, les circuits étaient conçus à l'aide des deux technologies susnommées.
Ce qui amène à ces deux cas possibles en fonction de l'état de l'entrée :
C'est le cas des portes logiques actuelles. On utilise un ou des couples de transistors : l'un avec un canal N, l'autre avec un canal P (même symbole mais un rond en entrée pour symboliser l'inversion de fonctionnement).
| Canal N | Canal P | |
|---|---|---|
| Symbole | ||
| Interrupteur fermé entre DS si sa tension UGS est |
UGS > 0 | UGS < 0 |
| Interrupteur ouvert entre DS si sa tension UGS est |
UGS ≤ 0 | UGS ≥ 0 |
Voici le montage à réaliser pour obtenir un NON :
Entrée à 5V
Entrée à 0V
L'avantage du montage CMOS est liée à l'absence du résistor de dissipation, encombrant physiquement et thermiquement.
On note 1 à l'intérieur de la boîte qui ne possède qu'une entrée unique a. Pour indiquer qu'on inverse la sortie par rapport au OUI, on rajoute un rond ou une barre oblique sur la sortie.
On trouve également le symbole suivant qui correspond à la norme ANSI américaine :
Un processeur X bits est capable de manipuler X bits d'un seul coup.
Sur l'exemple ci-dessus, l'UAL 8 bits est donc capable d'inverser en une opération les 8 bits d'un octet.
Un exemple avec les 8 bits :
Le AND n'est VRAI que si toutes les expressions d'entrée sont VRAIES.
Le NAND n'est FAUX que si toutes les expressions d'entrée sont VRAIES.
Avec 2 expressions :
| Expression a | Expression b | a NAND b |
|---|---|---|
| FAUX | FAUX | VRAI |
| FAUX | VRAI | VRAI |
| VRAI | FAUX | VRAI |
| VRAI | VRAI | FAUX |
On peut réaliser un NAND avec deux transistors en série :
Le schéma de principe (la différence avec le AND vient de la position de la sortie et du résistor) :
Les 4 cas possibles :
Lors des trois premiers cas, aucun courant ne peut circuler dans le résistor du haut : il se comporte comme un fil et la tension 5V se retrouve en sortie.
Sur le dernier cas, le 0V se retrouve en sortie et le résistor chauffe.
Les 4 cas possibles :
On symbolise le NON-ET comme une porte logique ET en rajoutant le cercle symbolisant qu'on complémente (inverse) l'état de sortie.
On trouve également le symbole suivant qui correspond à la norme ANSI américaine :
On notera la présence d'un trait droit du côté de l'entrée, symbolisant le fait qu'il faut que les deux entrées soient à VRAI.
03° Trouver les deux opérateurs logiques qu'on parvient à simuler en combinant des portes logiques NAND de cette façon.
...CORRECTION...
Dans le premier cas, il s'agit d'un NON puisque le montage parvient à inverser l'entrée.
Le schéma en notation européenne donne ceci :
Pour le deuxième, c'est un ET : on voit que la réponse est réalisée en deux temps.
Le premier NAND permet de réaliser une fonction NAND.
Le second NAND permet de réaliser une fonction NOT.
Avec des explications sur les schémas :
04° En utilisant la table de vérité du AND, démontrer a NAND a = NOT a.
...CORRECTION...
On place deux fois la même valeur a sur les deux entrées du NAND.
| Expression a | Expression b | a NAND b |
|---|---|---|
| FAUX | FAUX | VRAI |
| FAUX | VRAI | VRAI |
| VRAI | FAUX | VRAI |
| VRAI | VRAI | FAUX |
La seule utilisation de la table de vérité dans laquelle b = a permet de voir qu'on a bien une inversion avec les deux seuls cas possibles.
05° Démontrer NOT(a NAND b) = a AND b en utilisant simplement la définition du NAND et le fait que deux négations successives revient à ne pas avoir de négation.
...CORRECTION...
La démonstration attendue
On obtient NON (a NAND b) = NON ( NON (a AND b)) = a AND b
Avec des explications sur les schémas :
La démonstration algébrique
Le circuit peut s'écrire algébriquement \(\overline{\overline{a.b}}=a.b \)
On applique une entrée de X bits à un NAND acceptant X bits en entrée. Il fournit un seul bit de réponse : Vrai ou Faux.
Cette porte logique répond FAUX si et seulement si tous les bits sont à 1.
La question est donc "L'octet d'entrée est-il différent du maximum ?"
Le ET est VRAI si et seulemnet si toutes les expressions d'entrée sont VRAIES.
Avec 2 expressions :
| Expression a | Expression b | a ET b |
|---|---|---|
| FAUX | FAUX | FAUX |
| FAUX | VRAI | FAUX |
| VRAI | FAUX | FAUX |
| VRAI | VRAI | VRAI |
Avec 3 expressions :
| Expression a | Expression b | Expression c | a ET b ET c |
|---|---|---|---|
| FAUX | FAUX | FAUX | FAUX |
| FAUX | FAUX | VRAI | FAUX |
| FAUX | VRAI | FAUX | FAUX |
| FAUX | VRAI | VRAI | FAUX |
| VRAI | FAUX | FAUX | FAUX |
| VRAI | FAUX | VRAI | FAUX |
| VRAI | VRAI | FAUX | FAUX |
| VRAI | VRAI | VRAI | VRAI |
On peut réaliser un AND à partir de deux transistors en série :
Le schéma de principe (la différence avec le NAND vient de la position de la sortie et du résistor) :
Les 4 cas possibles :
Lors des trois premiers cas, aucun courant ne peut circuler dans le résistor du bas : il se comporte comme un fil et la tension 0V se retrouve en sortie.
Sur le dernier cas, le 5V se retrouve en sortie et le résistor chauffe.
Malheureusement, on ne peut pas vraiment être aussi symétrique qu'avec le NAND.
Le plus simple est de prendre le montage d'un NAND et d'INVERSER la sortie.
On symbolise le ET comme un carré avec un &.
On trouve également le symbole suivant qui correspond à la norme ANSI américaine :
On notera la présence d'un trait droit du côté de l'entrée, symbolisant le fait qu'il faut que les deux entrées soient à VRAI.
On notera qu'on peut vérifier facilement la propriété d'associativité du ET : on peut calculer s = a . b . c comme on le veut.
s = a . b . c = (a . b) . c = a . (b . c)
On peut vérifier facilement la commutativité du ET.
Il s'agit de la propriété qui précise que a ET b est identique à b ET a.
Mathématiquement, cela donne s = a . b = b . a
On applique une entrée de X bits à un AND acceptant X bits en entrée. Il fournit un seul bit de réponse.
La porte logique répond VRAI si et seulement si tous les bits sont à 1.
La question est donc "L'entrée est-elle au maximum (composée intégralement de 1) ?"
On a deux entrées comportant chacune X bits.
On applique AND sur chaque couple de bits ayant le même poids.
On obtient un bit de sortie à 1 indique que les deux bits correspondant des entrées sont à 1.
06° Aller sur https://logic.modulo-info.ch/ (ou utiliser le schéma ci-dessous) puis réaliser un AND 8 bits à l'aide du schéma fourni pour réaliser un AND 4 bits.
Remarques :
...CORRECTION...
Le OR n'est FAUX que si toutes les expressions d'entrée sont FAUSSES.
Le NOR n'est VRAI que si toutes les entrées sont FAUSSES.
Avec 2 expressions :
| Expression a | Expression b | a NOR b |
|---|---|---|
| FAUX | FAUX | VRAI |
| FAUX | VRAI | FAUX |
| VRAI | FAUX | FAUX |
| VRAI | VRAI | FAUX |
On peut réaliser un NOR avec deux transistors en parallèle :
Le schéma de principe :
Les 4 cas possibles :
Sur le premier cas, aucun courant ne peut circuler dans le résistor du haut : il se comporte comme un fil et la tension 5V se retrouve en sortie.
Sur les autres cas, le 0V se retrouve en sortie et le résistor chauffe.
Les 4 cas possibles :
On symbolise le NON-OU comme une porte logique OU en rajoutant le cercle symbolisant qu'on complémente (inverse) l'état de sortie.
On trouve également le symbole suivant qui correspond à la norme ANSI américaine :
On notera la présence d'un trait arrondi, "souple" du côté de l'entrée, symbolisant le fait qu'il suffit qu'une des deux entrées soit à VRAI.
Il s'agit d'appliquer une entrée de X bits à un NOR acceptant X bits en entrée. Il fournit un seul bit de réponse : Vrai ou Faux.
La porte logique répond VRAI si et seulement si tous les bits sont à 0.
On pose la question "L'entrée est-elle à 0 ?"
On a deux entrées comportant chacune X bits.
On applique NOR sur chaque couple de bits ayant le même poids.
On obtient une réponse de X bits où un bit à 1 indique que les deux bits correspondant des entrées est à 0.
Le OU est FAUX si et seulement si toutes les expressions d'entrée sont FAUSSES.
Avec 2 expressions :
| Expression a | Expression b | a OU b |
|---|---|---|
| FAUX | FAUX | FAUX |
| FAUX | VRAI | VRAI |
| VRAI | FAUX | VRAI |
| VRAI | VRAI | VRAI |
Avec 3 expressions :
| Expression a | Expression b | Expression c | a OU b OU c |
|---|---|---|---|
| FAUX | FAUX | FAUX | FAUX |
| FAUX | FAUX | VRAI | VRAI |
| FAUX | VRAI | FAUX | VRAI |
| FAUX | VRAI | VRAI | VRAI |
| VRAI | FAUX | FAUX | VRAI |
| VRAI | FAUX | VRAI | VRAI |
| VRAI | VRAI | FAUX | VRAI |
| VRAI | VRAI | VRAI | VRAI |
Remarquez bien que ce OU ne correspond pas au OU usuel du Français : la plupart du temps, on veut dire que l'UNE des choses est possible à la fois. Ici, toutes peuvent être vraies en même temps également.
On peut réaliser un OR à partir de deux transistors en parallèle :
Le schéma de principe (la différence avec le NOR vient de la position de la sortie et du résistor) :
Les 4 cas possibles :
Sur le premier cas, aucun courant ne peut circuler dans le résistor. La sortie est alors à 0V.
Lors des trois autres cas, la sortie est à 5V.
Malheureusement, on ne peut pas vraiment être aussi symétrique qu'avec le NOR.
Le plus simple est de prendre le montage d'un NOR et d'INVERSER la sortie.
On symbolise le OU comme un carré avec >=1.
Pourquoi >=1 : on peut considérer que tout ce qui n'est pas 0 est donc VRAI.
On trouve également le symbole suivant qui correspond à la norme ANSI américaine :
On notera la présence d'un trait arrondi, "souple" du côté de l'entrée, symbolisant le fait qu'il suffit qu'une des deux entrées soit à VRAI.
On notera qu'on peut vérifier facilement la propriété d'associativité du OU : on peut calculer s = a + b + c
On notera d'ailleurs qu'on peut vérifier facilement la commutativité du OU.
Il s'agit de la propriété qui précise que a OU b est identique à b OU a.
Mathématiquement, cela donne s = a + b = b + a
Il s'agit d'appliquer une entrée de X bits à un OR acceptant X bits en entrée. Il fournit un seul bit de réponse : Vrai ou Faux.
La porte logique répond FAUX si et seulement si tous les bits sont à 0.
On pose la question "L'entrée est-elle différente de 0 ?"
On a deux entrées comportant chacune X bits.
On applique OR sur chaque couple de bits ayant le même poids.
On obtient une réponse de X bits où un bit à 0 indique que les deux bits correspondant des entrées est à 0.
07° Aller sur https://logic.modulo-info.ch/ et réaliser une porte OR en utilisant uniquement une porte NOR, une porte INVERSEUR.
...CORRECTION...
Le XOR n'est VRAI que si UNE UNIQUE EXPRESSION d'entrée est VRAIE.
Le X du XOR vient du X de eXclusif.
Ce OU correspond au OU usuel du Français : fromage ou dessert ?
Avec 2 expressions :
| Expression a | Expression b | a XOR b |
|---|---|---|
| FAUX | FAUX | FAUX |
| FAUX | VRAI | VRAI |
| VRAI | FAUX | VRAI |
| VRAI | VRAI | FAUX |
Avec 3 expressions :
| Expression a | Expression b | Expression c | a XOR b XOR c |
|---|---|---|---|
| FAUX | FAUX | FAUX | FAUX |
| FAUX | FAUX | VRAI | VRAI |
| FAUX | VRAI | FAUX | VRAI |
| FAUX | VRAI | VRAI | FAUX |
| VRAI | FAUX | FAUX | VRAI |
| VRAI | FAUX | VRAI | FAUX |
| VRAI | VRAI | FAUX | FAUX |
| VRAI | VRAI | VRAI | FAUX |
Comme les autres portes logiques, on peut créer un XOR soit avec la technologie TTL, soit avec la technologie CMOS.
Néanmoins, dans un cas comme dans l'autre, le schéma de principe est assez conséquent, notamment car il faut utiliser à la fois les entrées a et b mais également obtenir leurs compléments avec des inverseurs.
Je ne présente donc pas ici le schéma de principe, même s'il existe. Nous verrons par contre comment construire un XOR en utilisant les autres portes, ce qui permettra d'obtenir un schéma compréhensible.
En conclusion, les portes XOR existent et utilisent à la fois des montages parallèles, séries et inverseurs.
On symbolise le XOR comme un carré avec =1.
Pourquoi =1 : il faut que la somme donne exactement 1 pour obtenir VRAI en sortie.
On trouve également le symbole suivant qui correspond à la norme ANSI américaine :
On notera la présence de deux traits arrondis en entrée, le OR n'en comporte qu'un seul.
Il s'agit d'appliquer une entrée de X bits à un XOR acceptant X bits en entrée. Il fournit un seul bit de réponse : Vrai ou Faux.
La porte logique répond VRAI si l'entrée comporte un nombre IMPAIR de bits à 1.
On a deux entrées comportant chacune X bits.
On applique XOR sur chaque couple de bits ayant le même poids.
On obtient une réponse de X bits où un bit à 1 indique que les deux bits correspondant sont différents sur les deux entrées.
Une réponse ne comportant que des "1" indique que les deux entrées n'ont aucun bit en commun.
Une réponse ne comportant que des "0" indique que les deux entrées sont identiques.
08° Aller sur https://logic.modulo-info.ch/ (ou utiliser le schéma ci-dessous) puis réaliser une porte XOR à 8 bits d'entrée en continuant le schéma proposé. Vous devriez comprendre pourquoi la sortie n'est sur VRAI que s'il y a un nombre impair de 1 en entrée.
...CORRECTION...
Vous venez de voir que l'UAL est en capacité de réaliser des opérateurs logiques classiques :
Mais on peut aussi faire des opérations BIT à BIT :
En appliquant bit à bit XOR entre deux mots de X bits, on obtient :
Python possède des opérateurs permettant de réaliser les opérations BIT à BIT. Vous allez les découvrir ici.
09° Utiliser ce programme et vérifier bit par bit que l'opérateur Python & permet de réaliser un ET bit à bit entre les deux entrées fournies.
1
2
3
4
5
6
7 | |
...CORRECTION...
x 00001011
y 00000110
--------
x&y 00000010
Si on regarde la colonne jaune, on obtient bien (0 AND 1) = 0
Si on regarde la colonne bleue, on obtient bien (1 AND 1) = 1
Si on regarde la colonne verte, on obtient bien (1 AND 0) = 0
10° Utiliser ce programme et vérifier bit par bit que l'opérateur Python | permet de réaliser un ET bit à bit entre les deux entrées fournies.
1
2
3
4
5
6
7 | |
...CORRECTION...
x 00001011
y 00000110
--------
x|y 00001111
Si on regarde la colonne jaune, on obtient bien (0 OR 1) = 1
Si on regarde la colonne bleue, on obtient bien (1 OR 1) = 1
Si on regarde la colonne verte, on obtient bien (1 OR 0) = 1
11° Utiliser ce programme et vérifier bit par bit que l'opérateur Python ^ permet de réaliser un ET bit à bit entre les deux entrées fournies.
1
2
3
4
5
6
7 | |
...CORRECTION...
x 00001011
y 00000110
--------
x|y 00001101
Si on regarde la colonne jaune, on obtient bien (0 XOR 1) = 1
Si on regarde la colonne bleue, on obtient bien (1 XOR 1) = 0
Si on regarde la colonne verte, on obtient bien (1 XOR 0) = 1
12° En terminal NSI, l'une des parties permet d'aborder le chiffrement des données, la "cryptographie". Or, on y utilise énormement le XOR. Si l'UAL sait réaliser cette opération rapidement à l'aide d'une porte logique, le calcul sera bien entendu rapide. Voyons comment cela fonctionne :
On veut envoyer le message "Bonjour" avec une clé valant 124 par exemple.
Fournir alors la suite de nombres chiffrés qui représente le message "Bonjour" : 62 ...
...CORRECTION...
ord('B') donne 66 et 66^124 donne 62
ord('o') donne 111 et 111^124 donne 19
ord('n') donne 110 et 110^124 donne 18
ord('j') donne 106 et 106^124 donne 22
ord('o') donne 111 et 111^124 donne 19
ord('u') donne 117 et 117^124 donne 9
ord('r') donne 114 et 114^124 donne 14
62 - 19 - 18 - 22 - 19 - 9 - 14
13° Pour décoder le message, il faut connaître la valeur de la clé.
Par exemple, pour le premier : 62 ^ 124 donne 66.
...CORRECTION...
n^124 vaut 66 et chr(66) donne B
n^124 vaut 111 et chr(111) donne o
n^124 vaut 110 et chr(110) donne n
n^124 vaut 106 et chr(106) donne j
n^124 vaut 111 et chr(111) donne o
n^124 vaut 117 et chr(117) donne u
n^124 vaut 114 et chr(114) donne r
14° Utiliser ce schéma qui permet de voir comment l'UAL via ces circuits peut chiffrer puis tenter de déchiffrer les bits d'un message.
Pour rendre le circuit compréhensible, on se limite ici à 4 bits mais cela ne change rien au principe : avec une machine 8, 16, 32 ou 64 bits, il a juste plus de portes.
Utilisation
Utiliser des clés différentes pour chiffrer et déchiffrer pour visualiser qu'on ne peut déchiffrer correctement le message que si on connaît la valeur de la clé qui a permis le chiffrement.
Activité publiée le 31 12 2023
Dernière modification : 11 01 2024
Auteur : ows. h.