Der Diffie-Hellman-Schlüsselaustausch ist ein kryptographisches Protokoll, mit dem sich zwei Kommunikationspartner durch den Austausch nicht geheimer Informationen auf ein gemeinsames Geheimnis einigen können. Dieses Geheimnis dient dann als Sitzungsschlüssel für eine symmetrische Verschlüsselung der ausgetauschten Nachrichten.
Die Kommunikationspartner Alice und Bob einigen sich zunächst auf eine Primzahl p und eine dazu passende Primitivwurzel g. Alice erzeugt eine geheime Zufallszahl a, berechnet g^a Modulo p und schickt das Ergebnis an Bob. Bob erzeugt ebenfalls eine geheime Zufallszahl b, berechnet g^b Modulo p und sendet Alice das Ergebnis. Alice berechnet das Geheimnis nun aus ihren Informationen mit
(g^b)^a mod p = g^(ba) mod p = k
und Bob bestimmt denselben Wert mit den ihm bekannten Informationen, indem er
(g^a)^b mod p = g^(ab) mod p = k
berechnet. Damit haben Alice und Bob ein gemeinsames Geheimnis k, das für die weitere Kommunikation verwendet werden kann. Die Zufallszahlen a und b werden nicht mehr gebraucht und werden verworfen.
Da das DH-Protokoll keine Authentisierung der Partner vorsieht, ist es anfällig für Man-In-The-Middle-Angriffe: Ist ein Angreifer in der Lage, sich aktiv in die Kommunikation zwischen den beiden Partnern einzuschleifen, so kann er gegenüber beiden vorgeben, der jeweils andere Partner zu sein und so selbst mit beiden ein gemeinsames Geheimnis vereinbaren. In der Praxis wird DH daher immer zusammen mit einem zusätzlichen Authentisierungsverfahren verwendet, in der Regel auf Basis von digitalen Signaturen.
Rückfragen und Anregungen zum Glossar bitte an glossar@heise.de.