Diffie-Hellman et ECDH

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche

Portail > Algorithmes

L'échange Diffie-Hellman (1976) permet à deux parties d'établir un secret partagé sur un canal public, sans jamais le transmettre. ECDH en est la version sur courbes elliptiques. C'est le socle de l'échange de clés moderne.

Principe (DH classique)

Paramètres publics : un générateur g et un module premier p.

<mermaid> flowchart LR

   A["Alice : privé a
public A = gᵃ mod p"] -- A --> B B["Bob : privé b
public B = gᵇ mod p"] -- B --> A A -->|calcule Bᵃ| S["Secret partagé
g^(ab) mod p"] B -->|calcule Aᵇ| S

</mermaid>

(Schéma en Mermaid.)

Chacun calcule g^(ab) mod p sans révéler son exposant privé. Un espion qui voit A et B ne peut pas en déduire le secret (problème du logarithme discret).

ECDH

Même principe sur le groupe des points d'une courbe elliptique : clés bien plus courtes à sécurité égale, calculs plus rapides. Courbes courantes : X25519 (Curve25519, recommandée) et P-256. Le secret partagé est ensuite passé dans une KDF.

Éphémère et forward secrecy

En utilisant des clés éphémères (DHE, ECDHE), régénérées à chaque session, on obtient la forward secrecy : compromettre une clé long terme plus tard ne permet pas de déchiffrer les sessions passées. C'est le mode standard en TLS moderne.

Authentification indispensable

Diffie-Hellman seul n'authentifie pas les parties : il est vulnérable à l'« homme du milieu », un attaquant établissant un secret avec chacun. Il faut donc authentifier l'échange — par signature (ECDSA, EdDSA) ou via un certificat. En TLS, c'est le rôle du certificat serveur.

KEM

La formalisation moderne de l'établissement de clé est le KEM (Key Encapsulation Mechanism). C'est sous cette forme que sont définis les algorithmes post-quantiques (ML-KEM), souvent déployés en hybride avec ECDH.

Points clés à retenir

  • DH/ECDH établit un secret partagé via des valeurs publiques (log discret / ECDLP).
  • ECDH (X25519, P-256) : clés courtes, rapide → standard.
  • Clés éphémères ⇒ forward secrecy.
  • Non authentifié seul → toujours coupler à une signature/certificat (sinon MITM).

Voir aussi

Cryptographie asymétrique — Portail
Fondamentaux Principe · Problèmes difficiles · Usages
Algorithmes RSA · Diffie-Hellman et ECDH · ElGamal · DSA · ECDSA · EdDSA
Sécurité Tailles de clés · Attaques · Post-quantique