Diffie-Hellman Schlüsselaustausch
Öffentlicher Schlüsselanteil im Diffie-Hellman-Verfahren: A = g^a mod p. Generator g und Primzahl p sind öffentlich, der private Wert a bleibt geheim.
Diffie-Hellman Schlüsselaustausch berechnen
Öffentlicher Schlüsselanteil im Diffie-Hellman-Verfahren: A = g^a mod p. Generator g und Primzahl p sind öffentlich, der private Wert a bleibt geheim.
Worum geht es?
Beim Diffie-Hellman-Schlüsselaustausch vereinbaren zwei Teilnehmer ein gemeinsames Geheimnis über einen unsicheren Kanal. Beide Seiten berechnen einen öffentlichen Anteil aus dem gemeinsamen Generator g, der Primzahl p und ihrem privaten Wert: A = g^a mod p.
Die Sicherheit beruht auf dem diskreten Logarithmus-Problem: Aus A, g und p ist a praktisch nicht zu bestimmen.
Die Formel
A = g^a mod pDie Variablen
| Symbol | Bedeutung | Einheit | Erklärung |
|---|---|---|---|
| g | Generator | — | Primitivwurzel modulo p. |
| a | Privater Schlüssel | — | Geheimer Wert eines Teilnehmers. |
| p | Primzahl | — | Öffentliche Primzahl. |
| A | Öffentlicher Wert | — | Öffentlicher Schlüsselanteil. |
Minimal-Beispiel
g = 5, a = 6, p = 23:
A = 5^6 mod 23
= 15625 mod 23
= 8Praxis-Beispiele
Beispiel 1 — Gemeinsames Geheimnis
Alice (a = 6) und Bob (b = 15), g = 5, p = 23:
A = 5^6 mod 23 = 8 (Alice sendet)
B = 5^15 mod 23 = 19 (Bob sendet)
s = B^a mod 23 = 19^6 mod 23 = 2
s = A^b mod 23 = 8^15 mod 23 = 2
Gemeinsames Geheimnis: 2Beispiel 2 — Realistische Modullänge
Für Sicherheit auf modernem Niveau wird p mit mindestens 2048 Bit gewählt:
p ≈ 2^2048
a zufällig aus {2, …, p − 2}Beispiel 3 — Man-in-the-Middle
Diffie-Hellman authentifiziert die Teilnehmer nicht. Ohne zusätzliche Signaturen kann ein Angreifer in der Mitte zwei eigene Sitzungsschlüssel etablieren. In TLS wird DH deshalb stets mit Signaturen (z. B. RSA, ECDSA) kombiniert.
Alice ↔ Mallory ↔ Bob
Mallory wählt eigenes m,
sendet g^m an beide Seiten.