Introduction
L'échange de clés Diffie-Hellman est un protocole cryptographique qui permet à deux parties de générer une clé secrète partagée sur un canal de communication non sécurisé. Ce protocole, inventé par Whitfield Diffie et Martin Hellman en 1976, est fondamental pour la cryptographie moderne et repose sur des principes mathématiques d'arithmétique modulaire.
Principe de base
Le protocole Diffie-Hellman repose sur la difficulté du problème du logarithme discret. Voici les étapes principales :
- Alice et Bob conviennent publiquement d'un nombre premier p et d'un générateur g (généralement une racine primitive modulo p).
- Alice choisit un nombre secret a, et Bob choisit un nombre secret b.
- Alice calcule A = g^a mod p et l'envoie à Bob.
- Bob calcule B = g^b mod p et l'envoie à Alice.
- Alice calcule la clé secrète K = B^a mod p.
- Bob calcule la même clé secrète K = A^b mod p.
Exemple numérique
Prenons p = 23 et g = 5 (qui est une racine primitive modulo 23).
1. Alice choisit a = 6, Bob choisit b = 15.
2. Alice calcule A = 5^6 mod 23 = 8 et l'envoie à Bob.
3. Bob calcule B = 5^15 mod 23 = 19 et l'envoie à Alice.
4. Alice calcule K = 19^6 mod 23 = 2.
5. Bob calcule K = 8^15 mod 23 = 2.
Alice et Bob ont maintenant une clé secrète partagée K = 2.
Démonstration interactive
Essayez vous-même l'échange de clés Diffie-Hellman :
Applications et importance
L'échange de clés Diffie-Hellman est utilisé dans de nombreux protocoles de sécurité, notamment :
- HTTPS (TLS/SSL) pour sécuriser les connexions web
- SSH pour les connexions sécurisées à distance
- VPN pour créer des réseaux privés virtuels
Sa force réside dans sa capacité à établir une clé secrète partagée sans jamais transmettre cette clé sur le réseau, ce qui le rend résistant aux attaques par interception passive.