Zum Inhalt springen
ecdsa.com

ECDH (Diffie-Hellman auf elliptischen Kurven)

Schlüsseleinigung, bei der jede Partei ihren eigenen privaten Schlüssel auf einer elliptischen Kurve mit dem öffentlichen Schlüssel der anderen kombiniert und so dasselbe gemeinsame Geheimnis berechnet: die x-Koordinate von d_A·d_B·G.
Auch geschrieben alsElliptic Curve Diffie-HellmanECDH key agreementECC CDH

Jede Seite hat einen privaten Skalar d und einen öffentlichen Punkt Q = d·G; beide berechnen Z, die x-Koordinate von d_A·Q_B = d_B·Q_A. Z ist kein Schlüssel, sondern durchläuft erst eine Schlüsselableitungsfunktion wie HKDF (TLS 1.3), die One-Step-KDF aus SP 800-56C oder die Concat-KDF (JOSE ECDH-ES). NIST SP 800-56A Rev. 3 spezifiziert das Primitiv und die Varianten des Verfahrens (ephemer-ephemer, ephemer-statisch und weitere).

Der Empfänger muss den Punkt der Gegenseite validieren: auf der Kurve, nicht der Punkt im Unendlichen, in der richtigen Untergruppe (SP 800-56A §5.6.2.3). Fehlt diese Prüfung, werden Invalid-Curve-Angriffe möglich, die einen statischen privaten Schlüssel mit einigen hundert Anfragen extrahieren; 2017 trafen sie ECDH-ES in mehreren JOSE-Bibliotheken. Durch das Design von X25519 beschränkt sich die Prüfung darauf, ein Ergebnis aus lauter Nullen abzulehnen.

Ephemere Schlüssel (ECDHE) bieten Forward Secrecy und sind die einzige Art, die TLS 1.3 verwendet; ECDH mit statischem Empfängerschlüssel kommt in ECIES, JWE ECDH-ES und HPKE vor. Verwendete Gruppen sind secp256r1, secp384r1, x25519 und x448. ECDH und ECDSA nutzen dieselben Kurven und Schlüsselformate, doch SP 800-57 Teil 1 empfiehlt, jeden Schlüssel nur für einen Zweck zu verwenden. NIST IR 8547 (Entwurf) schlägt vor, ECDH nach 2035 nicht mehr zuzulassen; hybride Verfahren wie X25519MLKEM768 sind der Migrationspfad.

Standards und Quellen

Alle Begriffe