Diffie–Hellman
Problem
Ihr Browser und ein Server möchten geheimes Schlüsselmaterial teilen.
Aber das Internet zwischen ihnen kann beobachtet werden.
Würde das Geheimnis direkt übertragen, könnte ein Beobachter es mitlesen.
Wie können beide Seiten ein gemeinsames Geheimnis ableiten, ohne dieses Geheimnis selbst zu übermitteln?
Lösung — Diffie–Hellman
Beide Seiten tauschen öffentliche Werte aus und verbinden sie mit ihren eigenen privaten Werten.
Client privat ─┐
→ gemeinsames Geheimnis
Server öffentlich ──┘
Server privat ─┐
→ dasselbe gemeinsame Geheimnis
Client öffentlich ──┘
Ein Beobachter sieht die ausgetauschten öffentlichen Werte, kann daraus das gemeinsame Geheimnis aber praktisch nicht berechnen.
Kerngedanke: Diffie-Hellman lässt zwei Parteien gemeinsames geheimes Material über ein beobachtbares Netzwerk erstellen.