AccueilCryptographieÉchange de clés Diffie-Hellman

🤝 Échange de clés Diffie-Hellman

Deux parties établissent un secret partagé sur un canal non sécurisé. L'analogie du mélange de couleurs rend intuitif le problème du logarithme discret.

Cryptographie3DFacile60 IPS
diffie-hellman ↗ Ouvrir en autonome

🔑 Échange de clés Diffie-Hellman

Deux parties établissent un secret partagé sur un canal non sécurisé en utilisant l'exponentiation modulaire. Une analogie de mélange de couleurs rend intuitif le problème du logarithme discret — la fonction à sens unique au cœur de DH.

🔬 Ce que ça démontre

Alice et Bob choisissent chacun un secret, calculent publiquement g^a mod p et g^b mod p, puis élèvent la valeur publique de l'autre à leur propre puissance secrète. Les deux arrivent à g^(ab) mod p — le secret partagé qu'Eve ne peut calculer sans résoudre le problème du logarithme discret.

🎮 Comment utiliser

Suivez le protocole étape par étape : choisissez les nombres premiers p et g, sélectionnez les secrets a et b. Observez l'analogie du mélange de couleurs se dérouler. Essayez de calculer le secret partagé à partir des valeurs publiques — vous verrez pourquoi c'est infaisable en pratique.

💡 Le saviez-vous ?

Diffie-Hellman (1976) fut le premier protocole à clé publique publié. Whitfield Diffie et Martin Hellman ont reçu le prix Turing en 2015. James Ellis et Malcolm Williamson du GCHQ ont découvert la même idée en 1969 mais elle est restée classifiée.

À propos de l'échange de clés Diffie-Hellman

Cette simulation montre comment deux parties, Alice et Bob, conviennent d'un secret partagé sur un canal ouvert sans jamais le transmettre. Elle utilise l'exponentiation modulaire dans un groupe cyclique fini : à partir de valeurs publiques, un nombre premier p et un générateur g, chaque partie calcule g élevé à son exposant privé, modulo p. La sécurité repose sur le problème du logarithme discret, qui fait de l'opération une fonction à sens unique pratique.

Vous choisissez le nombre premier public p et le générateur g dans les menus déroulants, puis fixez le secret a d'Alice et le secret b de Bob avec les curseurs. Le panneau étape par étape évalue A = g^a mod p, B = g^b mod p et le secret partagé g^(ab) mod p, tandis que la toile de mélange de couleurs illustre l'idée. Diffie-Hellman sous-tend l'accord de clé HTTPS, SSH et VPN dans le monde entier.

Foire aux questions

Qu'est-ce que l'échange de clés Diffie-Hellman ?

C'est une méthode, publiée en 1976, qui permet à deux parties qui ne se sont jamais rencontrées de convenir d'une clé secrète partagée sur un canal public. Chacune conserve un nombre privé et n'échange qu'une valeur publique dérivée. Un espion voit les valeurs publiques mais ne peut pas reconstruire le secret de façon réalisable.

Comment le protocole fonctionne-t-il réellement ?

Les deux parties conviennent d'un nombre premier public p et d'un générateur g. Alice calcule A = g^a mod p et Bob calcule B = g^b mod p, puis ils échangent A et B ouvertement. Alice élève B à son secret a, Bob élève A à son secret b, et les deux arrivent à la même valeur g^(ab) mod p.

Que font les contrôles sur cette page ?

Les listes déroulantes Nombre premier p et Générateur g définissent les paramètres publics visibles par tous. Les curseurs Alice a et Bob b, allant de 2 à 20, définissent les deux exposants privés. Modifier n'importe quel contrôle recalcule instantanément les clés publiques et le secret partagé dans le panneau mathématique.

Pourquoi les deux parties obtiennent-elles le même secret ?

Parce que l'exponentiation commute : (g^a)^b mod p équivaut à (g^b)^a mod p, les deux étant g^(ab) mod p. Alice calcule B^a et Bob calcule A^b, ils arrivent donc au même nombre identique même si aucun n'a appris l'exposant privé de l'autre.

Qu'est-ce que le problème du logarithme discret ?

Étant donné p, g et la valeur g^a mod p, retrouver l'exposant a est le problème du logarithme discret. Il n'existe aucun algorithme efficace connu pour les grands nombres premiers, donc cette difficulté est ce qui protège le secret partagé même lorsque les clés publiques sont visibles.

Que peut voir un espion, et pourquoi ne peut-il pas le casser ?

Eve observe p, g, A et B, tous envoyés en clair. Pour trouver le secret, elle devrait résoudre le logarithme discret pour retrouver a ou b. Avec les petits nombres premiers utilisés ici, c'est facile à la main, mais avec des nombres premiers de 2048 bits, c'est infaisable en pratique avec le matériel actuel.

Cette simulation est-elle cryptographiquement précise ?

Les mathématiques sont exactes : elle utilise une véritable exponentiation modulaire via l'algorithme rapide d'exponentiation binaire sur de grands entiers, donc A, B et le secret partagé sont corrects. Les petits nombres premiers et la plage limitée des curseurs sont choisis pour la clarté, pas pour la sécurité, donc les vrais systèmes utilisent des paramètres bien plus grands.

Quel est le rôle du générateur g ?

Le générateur g est une base dont les puissances, prises modulo p, parcourent un grand ensemble de résidus. Un bon générateur produit de nombreuses valeurs distinctes, offrant plus de secrets partagés possibles. En pratique, g est choisi pour que le groupe qu'il engendre soit grand et dépourvu de petits sous-groupes qui affaibliraient l'échange.

Diffie-Hellman fournit-il une authentification ?

Non. Le Diffie-Hellman simple assure la confidentialité de la clé mais pas l'identité, ce qui le rend vulnérable à un attaquant de l'homme du milieu placé entre les parties. Les déploiements réels le combinent avec des signatures ou des certificats pour authentifier les valeurs publiques avant de leur faire confiance.

Où Diffie-Hellman est-il utilisé dans le monde réel ?

Il sécurise l'étape d'accord de clé dans TLS pour les sites HTTPS, dans les connexions distantes SSH, dans IPsec et d'autres VPN, et dans les applications de messagerie. Des variantes modernes comme le Diffie-Hellman éphémère et le Diffie-Hellman à courbe elliptique ajoutent la confidentialité persistante et utilisent des clés plus petites et plus rapides.

⚙ Sous le capot

Deux parties établissent un secret partagé sur un canal non sécurisé. L'analogie du mélange de couleurs rend intuitif le problème du logarithme discret.

Canvas 2DDHLogarithme discret

3D · Rendu Three.js / WebGL · 60 IPS cible · s'exécute entièrement côté client, sans installation

Qu'avez-vous trouvé ?

Ajouter des étapes de reproduction (facultatif)