4.1 Diffie-Hellman-Merkle Key-Exchange
|
|
DHM KEX ist ein Schlüsselaustauschverfahren, mit dem zwei nicht authentifizierte Parteien über öffentliche, nicht verschlüsselte Kanäle sicher einen gemeinsamen Schlüssel generieren können. Es ist benannt nach den beiden Entwicklern Diffie und Hellman die den Algorithmus 1976 publizierten. Manchmal wird auch der Name Merkle hinzugefügt um anzuerkennen, dass der britische Geheimagent Merkle den Algorithmus eigentlich schon früher entwickelt hatte, ihn aber nicht veröffentlichen durfte.
Auch dieser Algorithmus funktioniert auf einem Restklassenkörper Z/pZ. Seine Sicherheit ist definiert über dem Problem des diskreten Logarithmus. Dabei wird angenommen, dass es nicht möglich ist eine bestimmte Hochzahl b der Gleichung ab mod p = c zu berechnen.
Das Verfahren benötigt eine große Primzahl p und eine Basiszahl g. Die Basiszahl ist mathematisch betrachtet ein sogenanntes erzeugendes Element bezüglich der Restklasse Z/pZ. Die Primzahl und die Basiszahl muss aber nicht jedes mal neu gesucht bzw. berechnet werden. Man kann einfach auf bestehende Paare zurückgreifen, denn die Kenntnis dieser Zahlen für eineN BelauscherIn (in der Kryptographie gerne "Eve" - von eavesdropping - benannt) keinerlei Vorteile wie wir noch sehen werden.
Lernstoff
|
4.2 Ablauf des Algorithmus
|
|
Wollen Alice und Bob einen gemeinsamen geheimen Schlüssel generieren, so können sie Dank DHM wie folgt vorgehen:
- Alice und Bob einigen sich auf eine gemeinsame Primzahl p und die Basiszahl g (nicht geheim!).
- Beide denken sich jeweils getrennt eine weitere Zufallszahl (muss nicht prim sein!) qA und qB, jeweils kleiner als (p-1) aus. Dies sind ihre privaten Schlüssel die sie geheim halten.
- Nun tauschen sie wieder öffentlich Zwischenergebnisse aus:
- Alice sendet Bob das Ergebnis: rA = gqA mod p
- Bob sendet Alice das Ergebnis: rB = gqB mod p
Es gibt wie gesagt keine bekannte Methode um qA bzw. qB aus rA bzw. rB schneller als ausprobieren zu berechnen.
- Nun können beide daraus eine Zahl berechnen:
- Alice berechnet: rBqA mod p = gqB*qA mod p =: K
- Bob berechnet: rAqB mod p = gqA*qB mod p =: K
Auf diese Art und Weise errechnen Alice und Bob getrennt voneinander die selbe Zahl K. Die Berechnung dieser Zahl ist, wie du dir leicht überlegen kannst, mit Eves Kenntnis von nur g, p und den Zwischenergebnissen rA und rB unmöglich. Ihr fehlt eine der beiden Geheimzahlen qA oder qB.
Damit wird mit Hilfe der Restklassen auf eine einfache Art ein allgemein schwieriges Problem gelöst: eine geheime Zahl zwischen zwei Personen auszutauschen.
Lernstoff, Vertiefung
|
Lernpfadseite als User öffnen (Login) Falls Sie noch kein registrierter User sind, können Sie sich einen neuen Zugang anlegen. Als registrierter User können Sie ein persönliches Lerntagebuch zu diesem Lernpfad anlegen.
|