Vous êtes sur la page 1sur 87

Cryptographie

R3.09 : Cryptographie et sécurité

CM

1/87
Un peu d'histoire

Chirement symétrique

Chirement asymétrique

Le protocole HTTPS

Les codes correcteurs d'erreurs

2/87
Avec l'essor d'Internet, certains échanges comme les
achats en ligne, les démarches administratives ou encore
les transactions bancaires nécessitent de pouvoir garantir
l'authenticité et la condentialité des données échangées.
Dans ce cours, la première partie permet d'illustrer le
principe de chirement symétrique avec des exemples
classiques comme le chire de César ou bien le chirement
de Vernam. Puis de faire le lien avec des chirements
symétriques plus récents comme DES et AES.
La deuxième partie aborde le principe de chirement
asymétrique en prenant comme exemple le chirement
RSA.
La troisième partie se concentre sur l'échange d'une clef
symétrique en utilisant un protocole symétrique pour
sécuriser une communication HTTPS.
3/87
Un peu d'histoire
Les temps anciens
La formalisation
La mécanisation
Les temps modernes

Chirement symétrique

Chirement asymétrique

Le protocole HTTPS

Les codes correcteurs d'erreurs


4/87
Un peu d'histoire
Les temps anciens
La formalisation
La mécanisation
Les temps modernes

5/87
Les codes secrets jalonnent l'histoire mondiale politique,
diplomatique, militaire, économique, etc.
Quelques anecdotes célèbres sont parvenues jusqu'à nous,
les premières datant de l'Antiquité grecque :
▶ message transmis sur des tablettes en bois
recouvertes de cire,
▶ message écrit sur le crâne rasé d'un esclave, et donc
caché par ses cheveux ayant repoussé,
▶ message écrit à l'encre invisible, etc.

6/87
Ces méthodes sont des exemples de stéganographie.
C'est une forme de dissimulation d'information : si un
adversaire mal intentionné trouve la cachette,
l'information lui est directement révélée.
A l'inverse, le but de la cryptographie est plutôt de
réussir à transmettre publiquement un message chiré,
de sorte qu'il reste inintelligible même s'il tombe dans les
mains de l'ennemi.

7/87
Les méthodes ancestrales de cryptographie peuvent être
séparées en deux types :
▶ les méthodes par transposition dans lesquelles on
se contente de mélanger les lettres du message,
comme une anagramme.

8/87
Par exemple, avec la scytale spartiate (ou le bâton de
Plutarque), l'expéditeur enroule une bande de cuir ou de
parchemin autour d'un bâton en bois et il écrit dessus son
message, dont les lettres seront mélangées une fois la
bande déroulée. Le destinataire n'aura alors qu'à enrouler
la bande autour d'un bâton de même diamètre pour lire le
message.

Scytale

9/87
▶ Les méthodes par substitution (qui incluent celles
par permutation).
Le chirement de César est le premier exemple connu
de substitution. Il consiste à décaler l'alphabet de trois
lettres. Par extension, on continue à appeler chirement
de César tout décalage de l'alphabet d'un nombre
arbitraire de lettres.

Chirement de César
10/87
Remarques

▶ La stéganographie et la cryptographie ne sont


pas incompatibles et peuvent même être combinées,
comme ce fut le cas pendant les deux guerres
mondiales avec l'usage de micropoints (sortes de
microlms),contenant de l'information elle-même
chirée.
▶ La stéganographie est encore utilisée de nos jours
pour cacher de l'information dans des images
(tatouage numérique).

11/87
Un peu d'histoire
Les temps anciens
La formalisation
La mécanisation
Les temps modernes

12/87
On voit dans ces exemples que le système de
chirement peut facilement être deviné par l'ennemi et
qu'une notion de clef apparaît. Ceci sera formalisé par
Kerckhos en 1883 dans son traité La cryptographie
militaire, dans lequel il énonce six principes, dont trois
sont assez révolutionnaires :
▶ Le système doit être matériellement, sinon
mathématiquement indéchirable.
▶ Il faut qu'il n'exige pas le secret, et qu'il puisse sans
inconvénient tomber entre les mains de l'ennemi.
▶ La clef doit pouvoir être communiquée et retenue
sans le secours de notes écrites, et être changée ou
modiée au gré des correspondants.
13/87
La sécurité d'un système cryptographique ne doit donc pas
reposer sur le caractère secret de son mécanisme, mais
uniquement sur une donnée secrète (idéalement) de
petite taille, appelée la clef.
▶ Pour le chirement de César, la clef est la valeur
du décalage ;
▶ pour la scytale, il s'agit du diamètre du bâton.

Les méthodes de cryptanalyse sont les attaques pour


déchirer les systèmes sans connaître cette clef
secrète.

14/87
Les systèmes mono-alphabétiques (comme César)
remplacent toujours la même lettre dans le message clair
par la même lettre dans le message chiré.
Ils sont vulnérables à une attaque par analyse de
fréquences. Si la langue du message clair est connue,
l'idée est d'étudier la répartition des lettres dans le
message chiré et de la comparer aux fréquences connes
dans cette langue.
Par exemple, en français, la lettre la plus répandue dans le
message chiré représente probablement un E.

15/87
Dans un système poly-alphabétique, une lettre du
message clair n'est pas toujours remplacée par la même
lettre dans le message chiré.
Ainsi, au xvie siècle, le système de Vigenère combine
plusieurs chirements de César suivant la position des
lettres dans le message clair.
Il est parvenu à résister aux attaques par analyse de
fréquences jusqu'aux travaux de Kasiski et Babbage qui
ont exploité son caractère cyclique à la n du xixe siècle.
Pour remédier à ce problème, la méthode du
chirement de Vernam (ou méthode du masque
jetable) fut inventée en 1912 et utilise une clef de la
taille du message.
16/87
Remarque

La première description connue des attaques par analyse


de fréquences remonte à Al-Kindi, au IXe siècle, dans son
Manuscrit sur le déchirement des messages
cryptographiques.

17/87
Un peu d'histoire
Les temps anciens
La formalisation
La mécanisation
Les temps modernes

18/87
La continuelle amélioration des techniques de
cryptanalyse ainsi que l'invention en 1894 de la TSF
(télégraphie sans l) par Marconi ont rendu urgent le
besoin d'un système de chirement sûr, ce qui provoqua
au XXe siècle l'essor des machines à chirer, comme :
▶ le Chire ADFGVX ; ▶ la machine Enigma ;
▶ les machines de ▶ la machine de Lorenz ;
Hagelin ; ▶ la machine Myosotis

19/87
La machine Enigma combinait astucieusement
transposition et substitution.

Machine Enigma

20/87
Réussir à déchirer certains messages a largement
inuencé l'issue de la Seconde Guerre mondiale. Alan
Turing et son équipe de Bletchley Park ont pour cela
conçu les premières machines informatiques modernes (la
Bombe, puis le Colossus pour la machine de Lorenz).

Une Bombe reconstruite


21/87
Remarque
Babbage, qui a inventé une
machine à calculer destinée
au calcul de tables
mathématiques, eu l'idée de
l'équiper en 1834 de cartes
du métier à tisser Jacquard.

Cartes perforées
22/87
Cette machine est considérée comme l'ancêtre des
ordinateurs actuels, plusieurs dizaines d'années avant
l'invention de l'informatique moderne dans les années
1940 par Alan Turing lors des travaux de cryptanalyse
d'Enigma.

Machine de Babbage
23/87
Un peu d'histoire
Les temps anciens
La formalisation
La mécanisation
Les temps modernes

24/87
Après la guerre, les travaux théoriques de Shannon et
l'apparition progressive des ordinateurs ont permis deux
principales avancées dans les années 1970 :
1. Le chirement symétrique DES (Data
Encryption Standard)
2. Le chirement asymétrique : échange de
clefs de Die-Hellman en 1976 et système
RSA en 1978
Aujourd'hui, la cryptographie est utilisée quotidiennement,
notamment par les navigateurs Web des internautes, dans
le cadre des communications  HTTPS  et du protocole
sous-jacent SSL/TLS qui sécurisent les échanges.
25/87
Un peu d'histoire

Chirement symétrique
Dénitions
Le chire de César
Le chirement ane
Le chire de Vernam
Le chirement AES

Chirement asymétrique

Le protocole HTTPS

Les codes correcteurs d'erreurs


26/87
Chirement symétrique
Dénitions
Le chire de César
Le chirement ane
Le chire de Vernam
Le chirement AES

27/87
La cryptographie (du grec ancien kruptos,  caché ,
et graphein,  écrire ) a pour objectif de protéger des
messages.
Le chirement consiste à transformer, à l'aide d'une
clef, un message compréhensible (dit texte clair) en un
message incompréhensible (dit texte chiré).
Il est extrêmement dicile, voire impossible, de retrouver
le texte clair à partir du texte chiré pour toute personne
qui ne dispose pas de la clef de chirement.
Le texte chiré peut alors être envoyé sur un média qui
n'est pas sécurisé, puisqu'il est incompréhensible sans la
clef.
28/87
Le chirement symétrique, ou à clef partagée, permet
de chirer et de déchirer des messages à l'aide d'une
même clef. Cette clef doit donc être partagée par
l'expéditeur et son destinataire tout en n'étant connue que
par eux.

29/87
Chirement symétrique
Dénitions
Le chire de César
Le chirement ane
Le chire de Vernam
Le chirement AES

30/87
Le chire de César

L'exemple le plus connu de chirement symétrique, et un


des plus simples, est le chire de César.
Cette méthode de communication chirée aurait été
inventée par Jules César lui-même . 1

Pour obtenir le texte chiré, le chire de César consiste à


remplacer chaque lettre du texte en clair par la lettre
obtenue après un décalage d'un nombre xe de lettres
dans l'alphabet.

31/87
1. La vie des douze Césars de Suétone
Pour un décalage de 3 lettres, le A devient D, le B devient
E. . .

Le nombre 3, qui correspond au nombre de lettres à


décaler, est appelé la clef secrète de chirement.
Pour déchirer le message, il sut de donner la clef de
chirement au destinataire du message qui réalise
l'opération inverse pour déchirer le message.
32/87
Jules César et son destinataire utilisent la même clef de
chirement et elle n'est connue que par eux. Ce
chirement est donc symétrique et cette clef est la clef
partagée.
33/87
Le chirement de César est limité :
▶ Le nombre de clefs possibles est limité à 25. Il est
donc possible de toutes les tester (attaque par 
force brute ) ;
▶ Une analyse des fréquences d'apparition de chaque
lettre du message chiré peut permettre de déchirer
ce dernier.

34/87
Le chire de César est un exemple simple de chirement
symétrique.
Dans une des dernières utilisations connues, l'armée russe
chira certaines de ses communications avec le chire de
César durant la Première Guerre mondiale, mais les
analystes autrichiens et allemands cassèrent ce code très
simplement.
De nos jours, le chire de César n'est uniquement utilisé
qu'à des ns pédagogiques, car il est trop facilement
déchirable.

35/87
Chirement symétrique
Dénitions
Le chire de César
Le chirement ane
Le chire de Vernam
Le chirement AES

36/87
Le chirement ane est, à l'instar du chire de César,
une méthode de cryptographie basée sur un chirement
par substitution mono-alphabétique, c'est-à-dire que
chaque lettre du texte clair d'origine est remplacée par une
unique autre lettre.
Pour chirer un message, on choisit deux nombres entiers
secrets a et b et on applique la fonction ane
f : x 7→ ax + b à chaque lettre du texte d'origine, où x
représente la lettre convertie en entier avec la convention
A = 0, B = 1, C = 2, etc. Si le résultat dépasse 25, on
soustrait 26 pour revenir dans l'intervalle [0; 25].

37/87
Chirement symétrique
Dénitions
Le chire de César
Le chirement ane
Le chire de Vernam
Le chirement AES

38/87
Le chirement symétrique dit de Vernam (ou  masque
jetable ) utilise comme clef partagée une chaîne de
caractères aussi longue que le message à chirer.
L'algorithme consiste alors à :
▶ faire correspondre chaque lettre du message à chirer
avec chaque lettre de la clef partagée ;
▶ décaler dans l'alphabet chaque lettre du message à
chirer. Ce décalage est égal au rang de la lettre qui
a la même position dans la clef partagée.
Cela revient à eectuer un chirement de César
avec un décalage diérent pour chaque lettre du
message à chirer.
39/87
Attention : pour garantir la sécurité de la méthode, la clef
doit être choisie de façon aléatoire et ne pourra servir
qu'une fois (d'où le nom de masque jetable).
Par exemple, le texte :

chiré avec la clé :

devient :

40/87
Prenons l'exemple de la lettre S à chirer. Sa lettre
correspondante dans la clef est C. Ceci occasionne un
décalage de 2 dans l'alphabet et donc la lettre S devient U.
Autre exemple : la lettre R présente 3 fois dans le message
clair est respectivement remplacée par les lettres A B et H
dans le message chiré.
Une cryptanalyse par analyse des fréquences est donc
impossible.

41/87
Une attaque par force brute n'est pas non plus réalisable,
car on peut faire dire  n'importe quoi  avec une clef
adéquate.
Par exemple, si on déchire  awqusabiobuynhoubu 
avec  qwrboklepycfotdujq , on décode la phrase  la
terre est plate .

42/87
Dans le cas où les données sont codées en binaire, le
décalage est alors un modulo 2 et la méthode est encore
plus simple et rapide.
En eet, on peut démontrer qu'elle consiste à utiliser un
opérateur booléen  ou exclusif  ou  XOR  sur chaque
bit du message en clair et du bit correspondant de la clef.
Le déchirement est tout aussi simple en utilisant
l'opérateur booléen  XOR  entre le message chiré et
la clef.

43/87
On rappelle ci-après la table de vérité de l'opérateur XOR :
A B A XOR B
0 0 0
0 1 1
1 0 1
1 1 0

44/87
Reprenons l'exemple de la lettre S à chirer (position 18),
avec sa lettre correspondante dans la clef qui est U
(position 21).
1810 = 100102 et 2110 = 101012
Alors : 10010 XOR 10101 = 00111
Pour déchirer : 00111 XOR 10101 = 10010 qui
correspond bien à 18 en base décimale.

45/87
Utilisé correctement, cet algorithme est théoriquement
inviolable. Il faut néanmoins faire attention à certains
écueils :
▶ Une clef de chirement déjà utilisée ne doit pas être
réutilisée puisque si deux messages ont été chirés
avec la même clef de chirement, il sut d'eectuer
une soustraction pour annuler l'eet du masque et
avec un peu plus de travail, de retrouver les deux
textes en clair.

46/87
▶ La clef se doit d'être aléatoire, par exemple en la
générant avec un générateur aléatoire. Si ce n'est pas
le cas, il est possible de retrouver la séquence qui l'a
générée.
▶ Comme la clef, aussi grande que les données
échangées, n'est pas réutilisable, il faut au préalable
partager, par un autre canal sécurisé, une assez
grande quantité de données pour permettre les futurs
échanges.

47/87
Ce système a été utilisé durant la guerre froide par le 
Téléphone rouge  entre le Kremlin et la Maison-Blanche,
qui était en fait plus un téléscripteur qu'un réel téléphone.
La  clef , quant à elle, était échangée par valise
diplomatique.

48/87
Chirement symétrique
Dénitions
Le chire de César
Le chirement ane
Le chire de Vernam
Le chirement AES

49/87
Le chirement AES (Advanced Encryption Standard) est
un des algorithmes les plus utilisés actuellement et il est à
l'heure actuelle considéré comme sûr.
▶ Chirement des données lors de l'ajout d'un mot de
passe à un chier PDF ou ZIP ;
▶ Sécurisation des connexions via l'utilisation de VPN.
▶ Sécurisation des données utilisateurs lors de
l'utilisation d'outils de gestion de mots de passe.
▶ Protection de serveurs multi-joueurs contre les
attaques (ex. Grand Theft Auto).
▶ Chirement des communications lors de l'utilisation
de messageries instantanées (ex. WhatsApp).
50/87
Ce chirement symétrique utilise une clef de 128, 192 ou
256 bits. Cette dernière est utilisée pour paramétrer une
suite de transformations qui permettent de chirer ou de
déchirer le message.
Le fonctionnement plus complexe de ce chirement par
bloc dépasse le cadre de ce cours. Pour aller plus loin, il
est possible de prendre connaissance, par exemple, du
cours sur le sujet édité par le laboratoire lorrain de
recherche en informatique et ses applications (LORIA) . 2

51/87
2. https://members.loria.fr/PZimmermann/cours/id12-2005-4.pdf
Un peu d'histoire

Chirement symétrique

Chirement asymétrique
Principes
Le chirement RSA
Signature numérique

Le protocole HTTPS

Les codes correcteurs d'erreurs


52/87
Chirement asymétrique
Principes
Le chirement RSA
Signature numérique

53/87
▶ Dans le cas du chirement symétrique, la clef est
partagée.
Elle est alors commune à l'émetteur et au récepteur
du message chiré.
Le chirement est symétrique, car une unique clef
permet à la fois de chirer et de déchirer le message.
▶ Pour le chirement asymétrique, la clef est en
fait un couple de clefs, appelées clef privée et
clef publique.
Chaque clef peut être utilisée pour chirer un
message, mais il n'est alors déchirable qu'avec
l'autre clef du couple.
54/87
▶ Dans les faits, la clef publique chire et la clef privée
déchire :

Plus précisément, dans une communication, lorsqu'on


chire un message avec un algorithme asymétrique,
on utilise la clef publique du destinataire.
Le message ou les données ne sont alors déchirables
que par la personne qui possède l'autre clef du couple,
normalement la clef privée du destinataire.
Contrairement à la clef publique, la clef privée n'est
jamais diusée.
55/87
56/87
▶ Le chirement asymétrique repose sur des fonctions
mathématiques à sens unique.
En eet, une fois qu'elles ont été appliquées, il est
très dicile de les inverser sans connaître
l'information contenue dans la clef de déchirement.

▶ Les chirements asymétriques sont plus coûteux en


temps de traitement que les chirements
symétriques, et à niveau de sécurité équivalent, les
clefs sont généralement plus longues que les clefs des
algorithmes symétriques.
57/87
Chirement asymétrique
Principes
Le chirement RSA
Signature numérique

58/87
▶ Le concept de chirement asymétrique est attribué à
Whiteld Die et à Martin Hellman, qui l'ont
présenté en 1976.
Le premier exemple de chirement asymétrique est le
chirement RSA (abréviation des noms de ses
inventeurs Ronald Rivest, Adi Shamir, Loenard
Adleman).
▶ La sécurité du RSA repose sur la facilité à multiplier
deux nombres premiers entre eux et la diculté de
factoriser le produit de deux nombres premiers,
pourvu qu'ils soient susamment grands.
C'est à l'heure actuelle l'algorithme de chirement
asymétrique le plus utilisé.
59/87
▶ Pour comprendre les mécanismes sous-jacents au
chirement RSA, on pourra lire l'article édité sur
Interstices.info qui propose aussi une animation
interactive de ce chirement.
▶ Il existe d'autres algorithmes asymétriques, comme,
par exemple, la cryptographie sur les courbes qui
permet d'avoir un niveau de sécurité comparable à
celui de RSA, mais en utilisant une clef beaucoup
plus courte.
Cette clef plus courte engendre des calculs plus
rapides ainsi qu'une utilisation moins importante de
mémoire et d'énergie.
60/87
Chirement asymétrique
Principes
Le chirement RSA
Signature numérique

61/87
▶ Le chirement asymétrique permet également de
réaliser une signature numérique.
Par analogie avec la signature traditionnelle d'un
document papier, la signature numérique :
relie un document à son auteur ;
est dicilement imitable.

Contrairement à une signature  papier , la


signature numérique possède des propriétés
supplémentaires :
elle appartient à un seul et unique message. Il est donc
impossible de la copier-coller sur un autre message ;
elle ne peut pas être falsiée ni reniée.

62/87
▶ La signature numérique est calculée à partir de la clef
privée du signataire et peut être vériée en utilisant
la clef publique du signataire.

63/87
Un peu d'histoire

Chirement symétrique

Chirement asymétrique

Le protocole HTTPS
Authentication du site
Chirement des communications
Résumé

Les codes correcteurs d'erreurs


64/87
▶ Le protocole HTTPS est la version sécurisée du
protocole HTTP.
▶ L'objectif du protocole HTTP est de recevoir et
d'envoyer des informations de et vers des serveurs
web sans se soucier de la façon dont ces informations
se déplacent d'un endroit à un autre.
Le protocole HTTP n'étant pas sécurisé, il est donc
possible de :
falsier un site : on ne peut avoir la garantie que le site
auquel on se connecte est bien le bon ;
intercepter et altérer les communications : n'importe
quel élément du réseau sur le chemin de la connexion
peut consulter les données échangées, et même les
modier au passage.
65/87
Pour résoudre ces problèmes, HTTPS utilise la suite de
protocoles SSL/TLS qui met en jeu les 3 principes vus
précédemment : signature numérique, cryptographie
asymétrique et cryptographie symétrique.

66/87
Le protocole HTTPS
Authentication du site
Chirement des communications
Résumé

67/87
▶ Lors de l'accès à un site utilisant le protocole
HTTPS, le serveur envoie sa clef publique, ainsi
qu'une signature numérique de cette clef, c'est ce
qu'on appelle le certicat du site.
Pour être valide, la signature du certicat du site doit
avoir été réalisée par une autorité en laquelle le
navigateur a conance.

68/87
▶ En pratique, le navigateur ou le système
d'exploitation maintiennent une liste de clefs
publiques en laquelle ils ont conance, appelés
certicats racines, et avec lesquelles ils vérient le
certicat présenté par le serveur web.
Un principe résume correctement cette vérication :
 les amis de mes amis sont mes amis . Cela
permet de ne pas avoir à stocker dans le navigateur
l'intégralité des certicats des sites sûrs

69/87
▶ L'inconvénient de cette méthode est que cette liste
de certicats racines est critique. En eet si une
entrée  malveillante  est ajoutée, tous les sites qui
auront été signés avec cette entrée seront considérés
comme sûrs par le navigateur.
▶ En pratique, d'autres informations sont vériées
comme la date de validité et la liste de révocations.

70/87
Le protocole HTTPS
Authentication du site
Chirement des communications
Résumé

71/87
▶ Une fois le serveur authentié, la communication
peut commencer. Les algorithmes de chirement
asymétrique sont en général assez coûteux en temps
de calcul, c'est donc un algorithme de chirement
symétrique qui va être utilisé pour chirer les
échanges.
Le problème est alors celui du partage de la clef.
▶ Une possibilité est que le client génère une clef, puis
qu'il la partage avec le serveur en utilisant la clef
publique du serveur pour la chirer. De cette façon,
seul le serveur pourra déchirer la clef partagée et
l'échange pourra continuer en utilisant cette clef et
un algorithme symétrique.
72/87
▶ Une autre possibilité est d'utiliser un autre protocole
appelé l'échange de clefs Die-Hellman du nom de
ses auteurs, en 1976.
Cet algorithme permet aux deux participants de se
mettre d'accord sur la clef partagée, sans que celle-ci
ait à transiter, même cryptée, sur le réseau.
Cet échange est d'ailleurs obligatoire dans les
versions récentes du protocole et il est utilisé, entre
autres, par le réseau Tor.

73/87
Le protocole HTTPS
Authentication du site
Chirement des communications
Résumé

74/87
75/87
▶ L'implémentation du protocole SSL/TLS, et donc du
protocole HTTPS, est assez complexe.
Les algorithmes utilisés en pratique sont en quelque
sorte négociés entre le client et le serveur lors de
l'établissement de la connexion.
En revanche, il faut être attentif à tous les détails
pour que la sécurité soit assurée.

76/87
▶ Aujourd'hui, la cryptographie est partout, notamment
dans les échanges informatiques pour protéger sa vie
privée, sécuriser les échanges entre entreprises ou
clients, acheter ou vendre en ligne, etc.
▶ La recherche dans le domaine est permanente, qu'elle
soit d'ordre :
mathématique : nouveaux algorithmes, nouvelles
attaques ;
informatique : augmentation de la puissance de calcul,
innovation technologique (ordinateur quantique. . .).
▶ Pour ne citer qu'un seul exemple, le chirement DES
(Data Encryption Standard), adopté comme standard
en 1976, est devenu obsolète en 2001 à cause de
l'augmentation de la puissance de calcul des
77/87
ordinateurs.
Un peu d'histoire

Chirement symétrique

Chirement asymétrique

Le protocole HTTPS

Les codes correcteurs d'erreurs


Le code de Hamming

78/87
▶ Lorsque les données transitent, celles-ci peuvent-être
modiées en subissant des perturbations.
En eet, celles-ci sont transmises sous forme d'un
signal (onde) qui, s'il rencontre des obstacles (murs,
autre onde, ...), peut être altéré.
C'est par exemple ce qu'il se passe lorsque l'on est au
téléphone et que l'on entend des grésillements.
Il est donc nécessaire de pouvoir détecter et corriger
ces erreurs an de retransmettre le signal original.
C'est le rôle des codes correcteurs d'erreurs, et c'est
grâce à eux que l'on peut tenir une conversation au
téléphone sans entendre de grésillements.
79/87
Les codes correcteurs d'erreurs
Le code de Hamming

80/87
Pour illustrer comment fonctionne le code de Hamming,
faisons le petit jeu suivant : petit tour de magie

81/87
Le but est de retrouver un personnage parmi les 16 = 24.
Si on les numérote, cela revient à retrouver un nombre
entre 0 et 15.

82/87
Notons n ce nombre à trouver.
En base 2 il s'écrit : n = a3a2a1a0 avec les ai ∈ {0; 1}.
Il y a donc 4  digits  à trouver et seulement 4 questions
susent si on n'a pas menti (si l'on répond  oui , alors
on sait que le digit correspondant vaut 1, 0 sinon) :
▶ La première sert à trouver a0 et revient à demander
si n est impair (tous les nombres impairs ont des
lunettes, les autres non).

83/87
▶ La deuxième sert à trouver a1 et revient à
demander si n est congru à 2 ou 3 modulo 4 (2, 3, 6,
7, 10, 11, 14 et 15 : tous ces nombres ont une
chemise, les autres non).
▶ La troisième sert à trouver a2 et revient à
demander si n est congru à 4, 5, 6 ou 7 modulo 8 (4,
5, 6, 7, 12, 13, 14 et 15 : tous ces nombres ont une
moustache, les autres non).
▶ La quatrième sert à trouver a3 et revient à
demander si n est supérieur ou égal à 8 (tous ces
nombres ont des cheveux, les autres non).
84/87
Les autres questions servent à détecter la présence d'une
éventuelle erreur.
Pour celà, on rajoute 3 caractérisques que l'on
répartit sur les personnages de sorte que le nombre
minimal de diérences entre 2 personnages
diérents soit égal 3.
Si on ment 1 fois, on crée un personnage ctif qui :
▶ est à une distance de 1 du personnage choisi,
▶ est à une distance d'au moins 2 de tous les autres,
où la distance est le nombre de caractérisques qui dièrent.
☞ Il sut donc de trouver le personnage le plus
proche du personnage ctif que l'on a crée.
85/87
En revanche, si on ment 2 fois, on crée un personnage
ctif qui :
▶ est à une distance de 2 du personnage choisi,
▶ est à une distance de 1 d'un autre personnage.

☞ On ne peut donc pas retrouver le personnage


que l'on a choisi au départ si on ment 2 fois,
mais on sait que l'on a menti.

86/87
Le fait de rajouter de l'information et de les répartir pour
que chacun des  mots du code  (ici les personnages)
soient à une distance minimale xée (aient un nombre
mininal de diérences xé) est typique des codes
correcteurs d'erreurs.
Le code de Hamming que nous venons de décrire a une
distance minimale de 3, il peut donc détecter 2
erreurs (mensonges : c'est à dire que l'on peut savoir si
l'on a menti une ou deux fois), et peut en corriger une
seule (on ne retrouve le personnage d'origine que si l'on
ment une fois, pas plus).

87/87

Vous aimerez peut-être aussi