Diffie Hellmann

Aus xinux.net
Zur Navigation springen Zur Suche springen

Grundlagen

  • Der Diffie-Hellman-Schlüsselaustausch ist ein Protokoll zur Schlüsselvereinbarung.
  • Es ermöglicht, dass zwei Kommunikationspartner über eine öffentliche, abhörbare Leitung einen gemeinsamen geheimen Schlüssel in Form einer Zahl vereinbaren können, den nur diese kennen und ein potenzieller Lauscher nicht berechnen kann.
  • Der dadurch vereinbarte Schlüssel kann anschließend für ein symmetrisches Kryptosystem verwendet werden.
  • Unterschiedliche Varianten des Diffie-Hellman-Merkle-Verfahrens werden heute für die Schlüsselverteilung in den Kommunikations- und Sicherheitsprotokollen des Internet eingesetzt.

Veranschaulichung der Grundidee anhand gemischter Farben

  • Zunächst soll die Grundidee des Diffie-Hellman-Merkle-Schlüsselaustauschs anhand von „Farbmischen“ anschaulich dargestellt werden, wie es die Illustration links veranschaulicht. In Wirklichkeit wären die Farben Zahlen und das Mischen von Farben entspräche der diskreten Exponentialfunktion.
  • Das Mischen von Farben wird hier als eine Einwegfunktion aufgefasst: Es ist „leicht“, zwei oder mehrere verschiedene Farben zu mischen.
    • Die Umkehrung, das Zerlegen einer Farbmischung in ihre ursprünglichen Farb-Komponenten, ist jedoch sehr aufwändig, das heißt nicht effizient durchführbar.
  • Alice und Bob einigen sich zunächst öffentlich auf eine gemeinsame Farbe (im Beispiel Gelb).
  • Außerdem wählt jeder der beiden Kommunikationspartner für sich eine geheime Farbe (Alice Orange und Bob Türkis).
  • Bob und Alice mischen nun jeweils die gemeinsame Farbe mit ihrer geheimen Farbe.
    • Im Beispiel entsteht dabei für Alice Beige und für Bob Graublau.
  • Diese Farbmischungen tauschen Alice und Bob nun über die abhörbare Leitung aus.
  • Einer potenziellen Lauscherin Eve ist es nicht effizient möglich, aus den öffentlichen Informationen (gelb, beige, graublau) auf die geheimen Farben von Alice und Bob zu schließen.
  • In einem letzten Schritt mischen nun Alice und Bob die Farbmischung ihres Gegenübers mit ihrer eigenen geheimen Farbe.
  • Daraus entsteht wiederum eine neue Farbe (im Beispiel Ockerbraun), die für beide Kommunikationspartner gleich ist (gelb + orange + türkis = gelb + türkis + orange = ockerbraun).
  • Somit haben Alice und Bob eine gemeinsame geheime Farbe.
  • Für Eve ist es unmöglich, diese herauszufinden, da sie Alices und Bobs geheime Farbzutaten nicht kennt.

Diffie-Hellman-Key-Exchange.png

Beispiel

Das folgende Beispiel dient zur Veranschaulichung und benutzt deshalb sehr kleine Zahlen. In der tatsächlichen Anwendung werden dagegen Zahlen mit mindestens mehreren hundert Stellen benutzt.

Berechnung

  • Alice und Bob einigen sich auf die beiden öffentlichen Schlüssel und .
  • Alice wählt die Zufallszahl als geheimen Schlüssel.
  • Nun berechnet Alice
  • Alice sendet an Bob.
  • Bob wählt die Zufallszahl als geheimen Schlüssel
  • Bob berechnet
  • Bob sendet an Alice.
  • Alice berechnet .
  • Bob berechnet .
  • Beide erhalten das gleiche Ergebnis .

Sicherheit

  • Die Lauscherin Eve kann zwar die Zahlen 13, 2, 6 und 9 mithören,
  • Das eigentliche gemeinsame Geheimnis von Alice und Bob bleibt ihr aber verborgen.
  • kann als Schlüssel für die nachfolgende Kommunikation verwendet werden.

Lauschen

  • Mit Hilfe der abgefangenen Nachrichten kann Eve immerhin die folgenden Gleichungen aufstellen:
  • Daraus kann sie beispielsweise durch Ausprobieren die beiden geheimen Zahlen und bestimmen.
  • Den vereinbarten Schlüssel von Alice und Bob kann sie nun mit
    berechnen.
  • Wenn jedoch die Primzahl groß genug gewählt wird und
  • ein Generator der Gruppe ist, ist es für Eve zu aufwändig,
  • um alle Zahlen zwischen und durchzuprobieren,
  • die als Resultat der modularen Potenz in Frage kommen

Script zum berechnen