/ Kryptographie & Hashing

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
01 · Eingabe

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.

A = g^a mod p

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

Formel Diffie-Hellman
A = g^a mod p

Die Variablen

SymbolBedeutungEinheitErklärung
gGeneratorPrimitivwurzel modulo p.
aPrivater SchlüsselGeheimer Wert eines Teilnehmers.
pPrimzahlÖffentliche Primzahl.
AÖffentlicher WertÖffentlicher Schlüsselanteil.

Minimal-Beispiel

g = 5, a = 6, p = 23:

Rechnung DH-Beispiel
A = 5^6 mod 23
  = 15625 mod 23
  = 8

Praxis-Beispiele

Beispiel 1 — Gemeinsames Geheimnis

Alice (a = 6) und Bob (b = 15), g = 5, p = 23:

Rechnung Austausch
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: 2

Beispiel 2 — Realistische Modullänge

Für Sicherheit auf modernem Niveau wird p mit mindestens 2048 Bit gewählt:

Rechnung Modulgröße
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.

Hinweis MITM
Alice ↔ Mallory ↔ Bob
Mallory wählt eigenes m,
sendet g^m an beide Seiten.