Établissez une clé secrète partagée sans jamais l'échanger directement !
📢 Paramètres publics Visibles par tous
Les paramètres publics sont fixes et utilisent le groupe DH standard RFC 3526 - Group 14 (2048 bits).
Ces valeurs sont visibles par tous et utilisées pour l'échange de clés.
👤 Alice (Utilisateur A)
👤 Bob (Utilisateur B)
✅ Vérification
ℹ️ Comment fonctionne Diffie-Hellman classique ?
Diffie-Hellman permet à deux personnes (Alice et Bob) d'établir une clé secrète partagée en communiquant uniquement sur un canal public (non sécurisé).
1️⃣
Génération des paramètres publics (p, g) - Visibles par tous
• p = grand nombre premier (2048 bits - RFC 3526 Group 14)
• g = générateur du groupe (fixé à 2)
2️⃣
Alice génère sa clé privée (a) aléatoire et calcule sa clé publique : A = g^a mod p
3️⃣
Bob génère sa clé privée (b) aléatoire et calcule sa clé publique : B = g^b mod p
4️⃣
Alice et Bob échangent leurs clés publiques (A et B) sur le canal public
5️⃣
Alice calcule : s = B^a mod p
6️⃣
Bob calcule : s = A^b mod p
7️⃣
Les deux obtiennent la même clé secrète partagée : s = g^(ab) mod p
🔐 Mathématiques :
Alice calcule : B^a mod p = (g^b)^a mod p = g^(ba) mod p
Bob calcule : A^b mod p = (g^a)^b mod p = g^(ab) mod p
Comme ab = ba, ils obtiennent la même clé !
🛡️ Sécurité : Un attaquant qui intercepte p, g, A et B ne peut pas calculer la clé partagée sans connaître a ou b. C'est le problème du logarithme discret, considéré comme très difficile mathématiquement.
⚙️ Implémentation : Cette version utilise BigInt natif de JavaScript pour les calculs sur grands nombres (2048 bits). Les paramètres utilisent le groupe DH standard RFC 3526 (Group 14).