🔄 Échange de clés Diffie-Hellman

É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 :
🛡️ 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).

🔄 Version moderne : ➡️ Découvrir ECDH (Elliptic Curve Diffie-Hellman) - Version moderne basée sur les courbes elliptiques, plus rapide et plus compact !