L'Algorithme qui Sécurise Internet (entre autres...)

ScienceEtonnante
12 Mar 202418:42

Summary

TLDRLe script vidéo présente l'algorithme de Diffie-Hellman, une technique de cryptographie permettant deux personnes de échanger des secrets malgré des écoutes. Il explique comment les méthodes de chiffrement par décalage de César et par substitution sont vulnérables aux attaques statistiques. Le script détaille ensuite le processus d'établissement d'une clé commune entre Alice et Bob à travers des opérations de puissance et modulo, sans échanger explicitement la clé sur un canal non sécurisé. Il met en garde contre les risques d'usurpation d'identité et souligne l'importance d'utiliser un générateur de nombres aléatoires sûr pour la sécurité.

Takeaways

  • 🔐 La cryptographie permet l'échange de secrets entre deux personnes, même sous surveillance constante.
  • 🤔 L'algorithme de DifFelman est une technique incroyable qui résout le problème de l'échange de clés de chiffrement à distance.
  • 🔡 Les techniques de chiffrement comme le décalage de César et la substitution sont vulnérables aux attaques statistiques basées sur les fréquences des lettres.
  • 🔄 Pour se prémunir contre les attaques, on peut utiliser des méthodes de chiffrement à clé, comme le chiffrement à mot de passe qui change les décalages de lettres.
  • 🔢 Le problème de l'échange de clé se pose quand deux personnes doivent se mettre d'accord sur une clé secrète sans la partager ouvertement.
  • 🎓 DifFelman et Hellman ont résolu ce problème en 1976 en créant un algorithme qui permet de partager une clé secrète sans communication préalable.
  • 🔧 L'algorithme fonctionne en utilisant des opérations de puissance et un modulo pour mélanger les informations de manière à ce qu'elles soient difficiles à inverser.
  • 📈 La clé de chiffrement commune est calculée de manière indépendante par chaque partie, qui utilise un nombre secret et un nombre public choisis ensemble.
  • 🔍 Eve, l'espion, peut connaître les valeurs publiques et les résultats intermédiaires, mais ne peut pas facilement déterminer les nombres secrets ou la clé finale.
  • 🔨 Le choix du nombre premier P et d'une racine primitive G est crucial pour maximiser le nombre de possibilités et la sécurité de l'algorithme.
  • 🛡️ L'algorithme de DifFelman-Hellman est largement utilisé pour sécuriser les communications sur Internet, notamment dans le protocole TLS.
  • 💡 Il est important que les nombres secrets choisis par les parties soient suffisamment aléatoires pour éviter la prédiction et la usurpation d'identité.

Q & A

  • Quel est le sujet principal de cette vidéo ?

    -Le sujet principal de cette vidéo est l'algorithme de Diffie-Hellman, une technique de cryptographie permettant l'échange de secrets entre deux personnes malgré la présence d'un espion.

  • Comment le chiffrement par décalage de César fonctionne-t-il ?

    -Le chiffrement par décalage de César consiste à décaler toutes les lettres de l'alphabet d'une certaine quantité. Par exemple, si le décalage est de 3, le A est remplacé par le C, le B par le D, et ainsi de suite jusqu'au W qui devient Z et X, Y, Z qui deviennent A, B et C. Le message semble brouillé mais peut être déchiffré en appliquant le décalage inverse.

  • Quelle est une technique plus robuste que le décalage de César pour chiffrer un message ?

    -Le chiffrement par substitution est plus robuste que le décalage de César. Il consiste à remplacer chaque lettre de l'alphabet par une autre lettre sans logique particulière. Cela rend difficile la déchiffrage en utilisant des statistiques sur les fréquences des lettres et de leurs enchaînements.

  • Comment se prémunir contre les attaques statistiques sur les chiffrements par substitution ?

    -Pour se prémunir contre les attaques statistiques, on peut utiliser des méthodes de Monte Carlo par chaîne de Markov ou un mot-clé pour dicter les décalages de lettres, ce qui change les lettres fréquentes et rend l'analyse statistique plus complexe.

  • Quel est le problème avec l'échange de clé dans la cryptographie ?

    -Le problème de l'échange de clé est de se mettre d'accord sur une clé de chiffrement commune à distance, sans jamais l'écrire explicitement, car si on est écouté en permanence, un curieux pourrait découvrir la clé.

  • Comment les mathématiciens Diffie et Hellman ont-ils résolu le problème de l'échange de clé ?

    -Diffie et Hellman ont résolu le problème en utilisant une fonction à sens unique qui est facile à faire pour Alice et Bob mais quasi impossible à inverser pour Eve. Ils ont utilisé des puissances et le modulo pour mélanger les informations de manière que seuls Alice et Bob puissent déterminer la clé commune.

  • Quelle est l'opération de mélange utilisée par Diffie et Hellman ?

    -L'opération de mélange utilisée par Diffie et Hellman est l'exponentiation (puissances) combinée avec le modulo. Cette combinaison rend l'opération à sens unique et difficile à inverser.

  • Pourquoi faut-il choisir un nombre premier et une racine primitive pour le chiffrement Diffie-Hellman ?

    -Choisir un nombre premier et une racine primitive garantit que les puissances de G modulo P s'étendent bien entre 1 et P-1, ce qui maximise le nombre de possibilités pour la clé et rend l'attaque par déchiffrage par le biais du logarithme discret très difficile.

  • Quel est le protocole qui utilise souvent une variante de l'algorithme de Diffie-Hellman ?

    -Le protocole TLS (Transport Layer Security) utilise souvent une variante de l'algorithme de Diffie-Hellman pour sécuriser les communications sur Internet.

  • Comment l'algorithme de Diffie-Hellman peut-il être compromis ?

    -L'algorithme de Diffie-Hellman peut être compromis si Eve usurpe l'identité d'Alice ou de Bob, se plaçant entre eux et interceptant ou modifiant les échanges. Il est donc important d'utiliser des méthodes pour vérifier les identités des communicants.

  • Quelle précaution doit-on prendre lors de la sélection des nombres secrets dans l'algorithme de Diffie-Hellman ?

    -Il faut que les nombres secrets choisis par Alice et Bob soient suffisamment aléatoires et difficiles à deviner pour éviter que des tiers ne puissent facilement déterminer la clé commune. Utiliser un bon générateur de nombres aléatoires est essentiel pour assurer la sécurité.

Outlines

00:00

🔐 Introduction à la cryptographie et problème de la clé

Le paragraphe introduit le concept de cryptographie en discutant de la technique qui permet à deux personnes de communiquer secrètement malgré d'éventuels espions. Il explique les méthodes de chiffrement comme le décalage de César et le chiffrement par substitution, soulignant leur vulnérabilité aux attaques statistiques. Le sujet principal est l'algorithme de Diffie-Hellman, une méthode pour établir un secret partagé entre deux parties communicantes à distance, sans être intercepté par un espion.

05:02

🔢 Méthode de clé partagée et ses vulnérabilités

Ce paragraphe explore les tentatives et les défis de la création d'une clé partagée entre deux parties, traditionnellement appelées Alice et Bob, qui peuvent communiquer à distance sur une ligne non sécurisée. Il décrit les méthodes qui ne sont pas sécurisées, comme le choix d'un nombre de base partagé, et montre comment un espion peut facilement déterminer la clé partagée en utilisant des informations interceptées. Le paragraphe met en évidence le problème de l'échange de clé, qui est de trouver un moyen de se mettre d'accord sur une clé de chiffrement commune sans la divulguer.

10:03

🔄 La solution de Diffie-Hellman : une fonction à sens unique

Le paragraphe explique la solution proposée par les mathématiciens Diffie et Hellman en 1976 pour résoudre le problème de l'échange de clé. Il décrit comment Alice et Bob peuvent utiliser une fonction à sens unique, appelée modulo, pour mélanger leurs nombres secrets de manière à ce qu'ils puissent déterminer une clé commune sans la transmettre explicitement. Le paragraphe détaille le processus d'utilisation de puissances et de modulo pour arriver à une clé partagée, tout en expliquant pourquoi cette méthode rend difficile l'interception de la clé par un espion.

15:04

💡 Optimisation de l'algorithme de Diffie-Hellman

Dans ce paragraphe, l'algorithme de Diffie-Hellman est affiné en choisissant un nombre premier P et une racine primitive g modulo P pour maximiser le nombre de possibilités et compliquer l'attaque de l'espion. Il est expliqué comment éviter les cycles de valeurs répétitives en choisissant correctement g et P, ce qui augmente la sécurité de l'algorithme. Le paragraphe conclut en soulignant l'utilisation de l'algorithme pour sécuriser les communications sur Internet, notamment le protocole TLS, et en recommandant l'utilisation d'un générateur de nombres aléatoires pour assurer la sécurité de la clé partagée.

Mindmap

Keywords

💡Cryptographie

La cryptographie est l'art et la science de la transformation de l'information en un format codé pour assurer sa sécurité contre l'interception ou la modification non autorisée. Dans la vidéo, la cryptographie est utilisée pour permettre à deux personnes de communiquer secrètement, même lorsqu'elles sont écoutées par un espion.

💡Algorithme de Dif-Hellman

L'algorithme de Dif-Hellman est un protocole de cryptographie qui permet à deux parties, traditionnellement appelées Alice et Bob, de partager une clé secrète sur un canal non sécurisé, sans avoir besoin de partager de secrets préalables. Cela est possible grâce à une opération de mélange qui est facile à effectuer pour les deux parties mais presque impossible à inverser pour un tiers, même s'il intercepte les échanges.

💡Espion

Dans le contexte de la vidéo, un espion (ou Eve) représente une tierce partie qui cherche à intercepter et à décrypter les communications entre deux parties, Alice et Bob, pour espionner leurs échanges secrets. L'algorithme de Dif-Hellman est conçu pour s'assurer que même si un espion suit les échanges, il ne peut pas déterminer la clé secrète partagée.

💡Chiffrement

Le chiffrement est le processus de transformation d'un message en clair en un format codé qui ne peut être lu que par une personne ayant la clé correspondante. Il est utilisé pour protéger la confidentialité des informations. Dans le script, les différentes techniques de chiffrement sont présentées comme des moyens pour Alice et Bob de communiquer secrètement.

💡Décalage de César

Le décalage de César est une méthode de chiffrement dans laquelle chaque lettre de l'alphabet est déplacée de manière prédéfinie dans l'alphabet. C'est l'une des techniques les plus anciennes et les plus simples de chiffrement. Cependant, comme le script l'indique, elle est facilement brisée en essayant toutes les possibilities de décalage.

💡Chiffrement par substitution

Le chiffrement par substitution est une méthode de cryptographie qui consiste à remplacer chaque lettre de l'alphabet par une autre lettre sans logique particulière. Cela rend le message illisible pour quiconque n'a pas la connaissance de la correspondance entre les lettres originales et les lettres de substitution.

💡Mot de passe

Un mot de passe est une séquence de caractères secrètes utilisée pour authentifier l'identité d'un utilisateur ou pour protéger l'accès à une information. Dans le contexte du script, un mot de passe est utilisé pour déterminer les décalages de lettres dans le chiffrement par mot de passe, ce qui ajoute une couche de sécurité supplémentaire par rapport aux méthodes de chiffrement plus simples.

💡Problème de l'échange de clé

Le problème de l'échange de clé est un défi dans la cryptographie où deux parties doivent établir une clé secrète commune sans la transmettre sur un canal non sécurisé. Cela doit être fait de manière à ce que même si un tiers intercepte les échanges, il ne puisse pas déterminer la clé.

💡Fonction à sens unique

Une fonction à sens unique est une fonction mathématique qui est facile à calculer dans une direction, mais difficile à inverser. Dans le script, l'algorithme de Dif-Hellman utilise une telle fonction pour mélanger les informations de manière à ce qu'elles soient faciles à calculer pour Alice et Bob, mais difficiles à décomposer pour un espion qui intercepte les échanges.

💡Module op

Le modulo est une opération mathématique qui consiste à trouver le reste de la division entière de deux nombres. Dans le contexte de la cryptographie, l'opération modulo est utilisée pour mélanger les valeurs de manière à rendre l'inversion de l'opération difficile, ajoutant ainsi une couche de sécurité.

💡Logarithme discret

Le logarithme discret est un concept mathématique utilisé pour résoudre des équations de l'forme a^x ≡ b (mod p), où a, b et p sont des nombres entiers. C'est un moyen de trouver un nombre x tel que la puissance de a à ce pouvoir soit égale à b, modulo p. Dans le script, le logarithme discret est le problème que doit résoudre un espion pour déterminer la clé secrète partagée par Alice et Bob.

💡Racine primitive

Une racine primitive d'un nombre premier p est un nombre g tel que toutes les puissances de g jusqu'à p-1 sont différentes modulo p. Cela garantit que les valeurs de g^x (mod p) sont bien réparties entre 1 et p-1, ce qui est important pour éviter que les valeurs ne se répètent et facilitent ainsi la découverte de la clé secrète.

Highlights

L'algorithme de DifFelman est une technique de cryptographie qui permet à deux personnes d'échanger des secrets même sous surveillance constante.

Le chiffrement par décalage de César est une méthode simple mais vulnérable, où les lettres de l'alphabet sont décalées de manière prédéfinie.

Le chiffrement par substitution est plus sécurisé, où chaque lettre est remplacée par une autre sans logique particulière.

Les méthodes de Monte Carlo et de chaîne de Markov peuvent être utilisées pour casser rapidement les chiffrements par substitution.

Pour se prémunir contre les attaques statistiques, on peut utiliser un mot-clé pour dicter les décalages de lettres.

Le problème de l'échange de clé est crucial pour la sécurité des communications cryptées.

L'algorithme de DifFelman a été développé en 1976 par les mathématiciens DifFelman et Hellman.

La clé dans le protocole DifFelman n'est pas un mot, mais un nombre.

Le modulo est utilisé dans l'algorithme de DifFelman pour créer une fonction à sens unique difficile à inverser.

Le choix du nombre P et de G (racine primitive) dans l'algorithme de DifFelman est crucial pour éviter les répétitions et maximiser la sécurité.

L'algorithme de DifFelman est largement utilisé pour sécuriser les communications sur Internet, notamment le protocole TLS.

L'algorithme de DifFelman permet de générer une clé de chiffrement commune sans l'échanger explicitement sur un canal non sécurisé.

La sécurité de l'algorithme de DifFelman repose sur la difficulté du problème de l' logarithme discret.

L'algorithme de DifFelman est vulnérable si l'identité d'Alice ou de Bob est usurpée, permettant à l'espion de se placer entre eux.

Les nombres secrets choisis par Alice et Bob doivent être générés de manière aléatoire pour assurer la sécurité du protocole.

L'algorithme de DifFelman est un exemple de la manière dont la cryptographie peut résoudre des problèmes de sécurité complexes.

La cryptographie moderne repose sur des techniques comme celle de DifFelman pour garantir la confidentialité des échanges de données.

L'utilisation de racines primitives et de nombres premiers dans l'algorithme de DifFelman est une pratique recommandée pour optimiser la sécurité.

Transcripts

play00:00

bonjour à tous aujourd'hui on va parler

play00:02

d'une technique de cryptographie

play00:04

incroyable qui permet à deux personnes

play00:06

de s'échanger des secret même quand

play00:09

elles sont en permanence écouté par un

play00:11

espion cette méthode qu'on appelle

play00:13

l'algorithme de difi Elman paraît assez

play00:16

invraisemblable et les premières fois

play00:18

que j'en ai entendu parler je me suis

play00:20

dit que ça n'était pas possible qu'une

play00:22

telle technique puisse exister et

play00:24

pourtant on va voir que ça marche

play00:28

vraiment

play00:32

si deux personnes souhaitent s'échanger

play00:34

un message dans le plus grand secret

play00:36

vous allez me dire que c'est facile he

play00:37

il suffit de coder le message

play00:39

techniquement on appelle ça une

play00:40

opération de chiffrement on part d'un

play00:43

message en clair par exemple rendez-vous

play00:46

ce soir au parc et on va essayer de le

play00:49

transformer en un charabia

play00:50

incompréhensible mais qui pourra être

play00:52

déchiffré par notre

play00:54

interlocuteur une des plus vieilles

play00:56

techniques c'est ce qu'on appelle le

play00:57

décalage de César puisque puisquelle

play01:00

aurait été popularisée par le célèbre

play01:02

général romain l'idée est de simplement

play01:05

décaler toutes les lettres de l'alphabet

play01:07

d'une certaine quantité par exemple si

play01:09

on décale de 3 on remplace le a par le D

play01:12

le B par le E le C par le F et cetera

play01:15

jusqu'au W qui devient Z et X Y Z qui

play01:18

deviennent A B et C avec ça le message

play01:22

semble complètement brouillé mais notre

play01:24

interlocuteur pourra sans problème le

play01:26

reconstituer en appliquant le décalage

play01:28

inverse cette technique est toutefois

play01:31

assez superficielle hein si un espion

play01:33

devine que le message a été chiffré de

play01:35

cette façon il n'a que 26 possibilités

play01:37

de décalage à essayer et même seulement

play01:39

25 en fait et donc il aura assez vite

play01:42

fait de tout tester jusqu'à découvrir le

play01:44

message secret pour faire plus robuste

play01:47

que la méthode de César on peut utiliser

play01:49

ce qu'on appelle le chiffrement par

play01:51

substitution ça consiste à remplacer

play01:54

chaque lettre de l'alphabet par une

play01:56

autre lettre mais sans logique

play01:58

particulière pour chiffre et déchiffrer

play02:00

le message il faut donc connaître

play02:02

l'ensemble de la table de conversion et

play02:05

c'est très efficace he car cette fois il

play02:06

y a factoriel 26 possibilités soit de

play02:10

l'ordre d'un milliard de milliards de

play02:12

milliards mais malgré ça on sait aussi

play02:15

très bien casser ces chiffrements par

play02:17

substitution en faisant des statistiques

play02:19

sur les fréquences des lettres et de

play02:21

leurs enchaînements par exemple comme

play02:23

c'est toujours la même lettre qui

play02:24

représente le E sur un message en

play02:26

français suffisamment long on arrive

play02:28

facilement à l'identifier et idem pour

play02:31

des lettres fréquentes comme le a ou le

play02:32

S et ainsi de suite j'avais d'ailleurs

play02:35

fait une vidéo sur comment casser ce

play02:37

type de chiffrement très rapidement de

play02:39

façon automatisée en utilisant ce qu'on

play02:41

appelle des méthodes de Monte Carlo par

play02:43

chaîne de Markov pour se prémunir de ces

play02:46

attaques il faut essayer un autre type

play02:49

de chiffrement une option c'est par

play02:51

exemple d'utiliser un mot- clé qui va

play02:53

dicter les décalages de lettres prenons

play02:56

le mot jardin et écrivons-le en dessous

play02:59

de notre message chacune des lettres du

play03:01

mot va représenter un décalage en

play03:03

fonction de sa position dans l'alphabet

play03:06

le J c'est neu le a c'est 0 le r C'est

play03:08

17 et cetera et on applique ensuite

play03:11

chaque décalage aux lettres de notre

play03:13

message le r on décale de 9 ça fait un a

play03:17

le E on décale de 0 ça fait un e le N on

play03:20

décale de 17 ça devient aussi un E et

play03:22

cetera et on répète le mot-cé autant de

play03:25

fois que nécessaire jusqu'à avoir tout

play03:28

fait si la personne qui reçoit le

play03:30

message possède la clé ça ne pose pas de

play03:32

problème pour elle il suffit de

play03:34

soustraire les décalages l'intérêt de

play03:36

cette méthode vous le voyez c'est que

play03:38

les deux e du message d'origine seront

play03:40

représentés par des lettres différentes

play03:42

dans le message chiffré et inversement

play03:45

la même lettre dans le message chiffré

play03:47

peut représenter deux lettres

play03:48

différentes dans le message d'origine et

play03:51

cela va donc considérablement gêner les

play03:54

attaques utilisant des approches

play03:55

statistiques pour que la méthode soit

play03:57

assez robuste il faut bien sûr utiliser

play03:59

un mot clé suffisamment long mais ça n'a

play04:01

même pas besoin d'être un vrai mot en

play04:03

fait hein ça peut être simplement une

play04:05

longue suite de lettres prises au hasard

play04:08

qu'on appellera alors la clé de

play04:10

chiffrement elle permettra à la fois à

play04:12

l'envoyeur de chiffrer son message et au

play04:15

destinataire de le

play04:16

déchiffrer le gros problème de cette

play04:19

technique c'est que si deux personnes

play04:21

souhaitent communiquer ainsi elles

play04:23

doivent à un moment donné se mettre

play04:25

d'accord sur la clé à utiliser alors si

play04:28

c'est la CIA qui envoie un agent sur le

play04:30

terrain ben il y a pas de problème he

play04:31

ils peuvent convenir d'une clé à

play04:32

l'avance avant le

play04:38

départ mais si on a deux personnes à

play04:41

distance qui n'ont pas la possibilité de

play04:43

se voir physiquement si on ne fait que

play04:45

se téléphoner ou s'envoyer des messages

play04:47

par internet comment se fixer une clé de

play04:51

chiffrement qui soit secrète on peut pas

play04:54

avoir juste un des deux qui décide d'une

play04:56

clé et puis qui écrivent à l'autre bah

play04:58

on a qu'à utiliser la clé bateau parce

play05:01

que si ce message là est intercepté et

play05:03

bien l'espion connaîtra la clé

play05:04

évidemment il faut donc trouver un moyen

play05:07

de se mettre d'accord sur une clé mais

play05:09

sans jamais vraiment l'écrire

play05:11

explicitement c'est ce qu'on appelle le

play05:14

problème de l'échange de clé ou de

play05:16

l'établissement de clés comment se

play05:18

mettre d'accord à distance sur une clé

play05:21

de chiffrement commune sachant qu'on est

play05:24

potentiellement écouté en permanence à

play05:27

première vue ça paraît quasi impossible

play05:29

à résoudre si on a aucun moyen

play05:31

d'échanger des infos secrètement comment

play05:34

est-ce qu'on pourrait se mettre d'accord

play05:35

à distance sur une même clé sans qu'un

play05:37

curieux ne puisse la connaître aussi et

play05:40

bien c'est ce problème qu'ont résolu les

play05:43

mathématiciens difi et Elman en 1976

play05:46

alors classiquement en cryptographie on

play05:49

décrit les choses de la façon suivante

play05:51

imaginons deux personnes

play05:53

traditionnellement nommé alice et Bob

play05:56

qui ne se sont jamais vu ou parler

play05:57

auparavant mais qui peuvent communiquer

play06:00

à distance sur une ligne qui n'est pas

play06:02

sécurisée et d'ailleurs on a une

play06:04

personne usuellement nommée

play06:06

qui s'est justement brancher sur cette

play06:08

ligne et qui peut capter absolument tout

play06:10

ce qui va s'y raconter comment alice et

play06:14

Bob peuvent se mettre d'accord sur une

play06:16

clé commune sans qu'ev ne puisse

play06:18

connaître cette clé ça paraît impossible

play06:22

alors petite précision avant de

play06:24

commencer dans la méthode de difi Elman

play06:26

la clé ne sera pas un mot ou une suite

play06:28

de lettres mais un nombre mais dans le

play06:30

fond ça change pas grand-chose hein

play06:32

c'est très facile de fabriquer l'un à

play06:34

partir de l'autre pour vous montrer

play06:36

comment alice et Bob peuvent procéder

play06:38

pour décider d'une clé numérique je vais

play06:40

commencer doucement par une méthode qui

play06:43

ne marche pas mais qui va nous mettre

play06:45

sur la voix imaginons qu'Alice et Bob

play06:48

s'appellent et décident ensemble d'un

play06:50

nombre de base qu'on va appeler g

play06:52

maisons il choisissent g = 17 et

play06:56

évidemment la ligne n'est pas sécurisée

play06:57

donc EV entend tout et enregistre cette

play07:00

valeur de G ensuite alice et Bob

play07:03

choisissent chacun de leur côté un

play07:05

nombre secret qu'on note a pour Alice et

play07:08

B pour Bob il vut ensuite chacun

play07:11

multiplier leur nombre secret par le

play07:13

nombre commun g Alice fabriquera donc le

play07:16

nombre g X a et Bob g x B si Alice

play07:19

choisit 4 et Bob 6 ça fera 68 et

play07:23

102 puis il communique à l'autre le

play07:26

résultat de cette multiplication donc

play07:28

Alice envoie g X a à Bob qui lui envoie

play07:32

g x B et cela se fait sans sécurisation

play07:35

donc là à nouveau est au courant de ses

play07:37

valeurs et enfin dernière étape chacun

play07:40

multiplie ce nombre qu'il vient de

play07:42

recevoir par son propre nombre secret

play07:44

Alice fabrique donc le nombre g x B X a

play07:48

ça fera 408 et Bob g X a x B ça fera 408

play07:52

aussi évidemment et voilà ils peuvent

play07:54

maintenant décider d'utiliser ce

play07:56

résultat commun comme clé de chiffrement

play07:59

vous voyez qu'avec ce protocole ils

play08:01

auront bien à la fin chacun le même

play08:03

nombre g X a x B ils se sont donc bien

play08:06

mis d'accord sur une clé commune mais

play08:09

sans qu'à aucun moment cette clé n'ê

play08:11

explicitement transité sur la ligne non

play08:14

sécurisée aucun moment ils n'ont

play08:16

communiqué l'un à l'autre le nombre

play08:18

408 alors le souci vous le voyez hein

play08:21

c'est keV connaît g c'est 17 mais

play08:24

connait également g X a 68 et G x B 102

play08:28

bah à partir de là c'est très facile

play08:29

pour elle de retrouver les nombres

play08:31

secrets d'Alice et Bob par exemple a

play08:34

s'obtient en divisant g par G ici 68 par

play08:37

17 on retrouve 4 et donc F pourra sans

play08:40

problème reconstituer elle-même la clé

play08:43

complète donc la méthode que je viens de

play08:45

proposer n'est pas terrible hein car

play08:47

même si la clé ne transite pas

play08:49

explicitement EV a suffisamment

play08:51

d'informations pour la refabriquer

play08:53

facilement pour essayer de contourner ce

play08:56

problème essayons une variante plus

play08:57

compliquée on garde le nombre commun g

play09:00

et les nombres secrets A et B mais cette

play09:03

fois on va prendre la puissance au lieu

play09:05

de faire la

play09:06

multiplication ça veut dire qu'Alice

play09:08

fabrique le nombre g^iss a qu'elle

play09:10

envoie à Bob et Bob fabrique g^iss B

play09:13

qu'il lui envoie en retour et ensuite

play09:17

chacun prend la puissance avec son

play09:19

propre nombre secret donc Alice fait

play09:21

g^iss B puissance a tantis que Bob fait

play09:24

g^iss a puissance B et à nouveau avec ce

play09:27

protocole ils auront à la fin le même

play09:29

résultat g^issance a x B donc une clé

play09:33

commune sans l'avoir jamais

play09:34

explicitement communiqué sur la ligne F

play09:37

de son côté connaît seulement ce qu'elle

play09:39

a intercepté à savoir g g^iss A et g^iss

play09:42

B sauf qu'à nouveau elle peut s'en

play09:45

sortir rien qu'avec ses infos si f

play09:48

connaît le nombre g puissance a elle

play09:50

peut prendre son logarithme qui vaut a x

play09:53

logarithme g et ensuite en divisant par

play09:56

le logarithme de G elle peut isoler a

play09:59

donc à nouveau elle peut reconstituer

play10:01

facilement les nombres secrets et donc

play10:03

la clé commune ça va toujours pas

play10:06

l'origine fondamentale du problème c'est

play10:08

qu'Alice et Bob essayent à chaque fois

play10:10

de maquiller leur nombre secret en le

play10:13

mélangeant en quelque sorte avec G mais

play10:15

à chaque fois F peut défaire ce mélange

play10:18

et retrouver les nombres secrets si on

play10:20

utilise la multiplication F peut

play10:22

utiliser la division si on utilise la

play10:24

puissance EV utilise le logarithme pour

play10:27

que l'idée fonctionne il faudrait une

play10:29

opération de mélange qui soit facile à

play10:31

faire pour alice et Bob mais quasi

play10:33

impossible à inverser pour

play10:35

c'est ce qu'on appelle en cryptographie

play10:37

une fonction à sens unique et bien on

play10:39

peut justement en créer une à partir de

play10:41

notre tentative précédente en ajoutant

play10:44

juste un ingrédient le

play10:51

modulo le modulo c'est une opération qui

play10:54

calcule le reste de la division entière

play10:56

par un nombre par exemple 17 modulo 3 ça

play10:59

fait 2 parce que si vous faites la

play11:01

division entière de 17 par 3 vous

play11:03

trouvez 5 il vous reste 2 à la fin de

play11:06

même 14 modulo 5 ça fait 4 ou encore 42

play11:09

modulo 6 ça fait 0 et cetera l'idée de

play11:12

la méthode de difi Elman c'est de

play11:14

choisir un nombre P qu'Alice et Bob se

play11:16

communique publiquement comme j'ai et

play11:19

ensuite de faire exactement comme dans

play11:21

mon exemple avec les puissances mais

play11:23

cette fois après chaque opération on va

play11:26

appliquer module op c'est-à-dire qu'avec

play11:28

son nombre secret a Alice calcule g^iss

play11:32

a moduo P et l'envoie à Bob Bob de son

play11:36

côté calcule g^iss B module P et

play11:38

l'envoie à Alice et ensuite chacun

play11:41

applique la puissance de son nombre

play11:43

secret et prend à nouveau moduo op et là

play11:47

ça ne se voit pas forcément mais en

play11:48

faisant ça ils auront exactement le même

play11:51

nombre à la fin qui est en fait g^iss a

play11:55

x B module P d'ailleurs ceux qui font ê

play11:57

expert en terminal peent peuvent essayer

play11:59

de démontrer ça avec les congruences

play12:02

grâce à cette technique qui est presque

play12:04

la même que la précédente mais en

play12:06

appliquant le module op après chaque

play12:07

opération alice et Bob auront à nouveau

play12:10

réussi à se mettre d'accord sur une clé

play12:12

commune sans jamais la faire circuler

play12:15

explicitement sauf que pour Eve

play12:17

qu'est-ce que ça change est-ce qu'elle

play12:19

peut pas à nouveau extraire A ou B des

play12:22

infos dont elle dispose et reconstituer

play12:24

la clé comme avant et bien non car pour

play12:27

quelqu'un qui intercepte même toutes les

play12:30

conversations ça devient très très

play12:32

compliqué à démêler à cause du modulo

play12:35

qui en quelque sorte mélange tout

play12:38

mathématiquement même en connaissant g P

play12:41

et g^iss à moduo P il est très difficile

play12:45

de retrouver a l'opération de puissance

play12:48

avec MODULO est très difficile à

play12:49

inverser c'est une opération à sens

play12:52

unique comme on le souhaitait on peut le

play12:54

voir sur un exemple si vous voulez

play12:55

prenons P = 17 et G = 5 sur lesquel

play12:59

alice et Bob se mettent d'accord

play13:01

publiquement donc

play13:03

est parfaitement au courant de ces deux

play13:04

valeurs Alice choisit son nombre secret

play13:07

disons 4 et Bob choisit 6 Alice met 5 à

play13:12

la puissance 4 ça fait 625 et prend

play13:14

modulo 17 il reste 13 pareil pour Bob il

play13:18

calcule 5^ 6 prend modulo 17 ça fait 2

play13:22

et chacun envoie le résultat à l'autre

play13:24

qui applique sa propre puissance Alice

play13:26

prend 2^iss 4 module 10 ça fait 16 Bob

play13:30

fait 13 puiss 6 modulo 17 ça fait 16

play13:33

aussi on a donc bien une clé commune

play13:36

pour les deux interlocuteur de son côté

play13:38

F connaît P = 17 et G = 5 bien sûr mais

play13:43

ne dispose que de 13 et 2 comme

play13:46

intermédiaire pour retrouver par exemple

play13:48

a le nombre secret d'Alice elle doit

play13:51

trouver un nombre qui quand on

play13:52

l'applique en puissance à 5 redonne 13

play13:55

modulo 17 et ça n'a pas l'air comme ça

play13:58

mais mais c'est très difficile comme

play14:00

équation l'opération qu'on doit résoudre

play14:02

pour trouver la solution c'est ce qu'on

play14:04

appelle le problème du logarithme

play14:06

discret dans ma méthode précédente avec

play14:08

juste les puissances F s'en sortait en

play14:10

appliquant un simple logarithme

play14:12

maintenant à cause du modulo il faut

play14:15

résoudre le logarithme discret ce qui

play14:17

est possible en théorie mais très très

play14:19

fastidieux en pratique il faut quasiment

play14:22

essayer toutes les possibilités alors je

play14:25

dis que c'est très compliqué il faut

play14:26

quand même faire un peu attention quand

play14:28

on prend un nombre modulo p le résultat

play14:31

est forcément entre 0 et P -1 c'est le

play14:34

reste d'une division entière donc si on

play14:37

veut qu'il y ait un maximum de

play14:39

possibilités différentes à tester pour

play14:40

EV il faut déjà prendre un P le plus

play14:43

grand possible ça n'est pas tout il faut

play14:46

aussi bien le choisir et surtout bien

play14:48

choisir le G qui va avec je vous

play14:51

illustre ça avec un exemple si je prends

play14:54

P = 15 et G = 4 on sait que la clé sera

play14:58

à la fin fin g^iss Ab module P donc

play15:01

g^issance quelque chose module P et on

play15:04

peut regarder ce que valent les

play15:06

différentes puissance de G module P avec

play15:09

mon choix de valeur g^iss 1 module P

play15:11

c'est 4 g^ 2 module P c'est 1 g^iss 3

play15:15

module P c'est 4 g^ 4 module P c'est 1

play15:18

et cetera on se rend compte que bien

play15:21

qu'on ait choisi P = 15 les puissances

play15:23

de G tombent toujours sur 1 ou 4 donc on

play15:27

croyait avoir 15 clés possibles que F

play15:29

devait essayer mais on en a seulement

play15:31

deux il faut absolument éviter ce genre

play15:34

de situation car en réduisant ainsi

play15:37

l'espace des possibilités on facilite

play15:39

considérablement la tâche devev qui

play15:41

cherche à percer notre clé heureusement

play15:44

il existe une solution l'idéal c'est de

play15:47

prendre un nombre P qui soit premier et

play15:50

un nombre G qui soit ce qu'on appelle

play15:52

une racine primitive module op une

play15:55

racine primitive ça veut dire que si

play15:56

vous élevez g à toutes les puiss

play15:58

puissance entre 1 et P -1 vous allez

play16:01

trouver tous les nombres possibles entre

play16:03

1 et P - 1 donc on sera dans un cas où

play16:06

il y aura un maximum de possibilités on

play16:09

peut le voir sur un exemple avec P = 13

play16:12

par exemple je vous le démontre pas mais

play16:13

les racines primitif sont uniquement 2 6

play16:17

7 et 11 donc si on prend g = 6 les

play16:20

puissances de 6 modulo 13 s'étalent bien

play16:22

entre 1 et 12 c'est parfait mais avec G

play16:25

= 5 ça marche pas bien car les

play16:27

puissances ne boucle que sur 5 12 8 et 1

play16:31

donc il y a seulement quatre

play16:32

possibilités au lieu de 12 d'où

play16:35

l'intérêt qu'il y a à bien choisir pour

play16:37

G une racine primitive du nombre P qu'on

play16:40

a sélectionné avec ces petites

play16:43

précautions on a ainsi l'essence de

play16:45

l'algorithme de DII Elman qui résout

play16:48

donc le problème de la détermination

play16:49

d'une clé de chiffrement commune quand

play16:51

on est sur un canal public cet

play16:54

algorithme a été d'abord publié en 1976

play16:56

et breeveté aux États-Unis l'année

play16:58

suivante mais heureusement il est

play17:00

maintenant dans le domaine public et il

play17:02

est très largement utilisé pour

play17:04

sécuriser une grande partie des

play17:05

communications sur internet ainsi quand

play17:08

deux ordinateurs ont besoin de mettre en

play17:10

place un canal de communication chiffré

play17:12

pour ne pas que vos données soient

play17:13

diffusées en clair sur le réseau ils

play17:16

utilisent souvent une variante de

play17:17

l'algorithme de difi Elman et c'est

play17:19

d'ailleurs ce principe qui sécurise

play17:21

notamment le protocole TLS qui se trouve

play17:24

derrière la plupart des visites que vous

play17:26

pouvez faire sur des sites web donc

play17:29

merci difi et Elman malgré tout comme

play17:31

toujours la méthode n'est pas non plus

play17:33

totalement inviolable par exemple il

play17:36

faut faire attention à ce qu'ev n'arrive

play17:38

pas à usurper les identités d'Alice et

play17:40

Bob ça lui permettrait de se mettre

play17:43

entre les deux en se faisant passer pour

play17:45

Bob aux yeux d'Alice et inversement et

play17:47

là c'est open bar pour Eve en dehors de

play17:50

ce risque il faut aussi s'assurer que

play17:52

quand alice et Bob choisissent chacun

play17:54

leur nombre secret de leur côté

play17:57

ne puisse pas le deviner facilement et

play17:59

donc idéalement il faut qu'ils fassent

play18:01

leur choix en utilisant un bon

play18:03

générateur de nombre aléatoire et

play18:06

d'ailleurs cette question de comment

play18:08

faire un générateur aléatoire je me dis

play18:10

que ça ferait un très bon sujet pour un

play18:12

prochain épisode merci d'avoir suivi la

play18:14

vidéo abonnez-vous pour ne rien rater

play18:16

des futures publications rejoignez-moi

play18:18

sur le discord de science étonnante je

play18:19

vous mets le lien en description et puis

play18:21

je vous dis à très vite pour une

play18:23

nouvelle vidéo à

play18:24

[Musique]

play18:27

bientôt

play18:30

[Musique]

Rate This

5.0 / 5 (0 votes)

Related Tags
CryptographieDiffie-HellmanSécuritéCommunicationsEspionnageChiffrementCésarSubstitutionClé de chiffrementÉchange de clés
Do you need a summary in English?