Diffie Hellmann: Unterschied zwischen den Versionen

Aus xinux.net
Zur Navigation springen Zur Suche springen
Zeile 14: Zeile 14:
 
Das folgende Beispiel dient zur Veranschaulichung und benutzt deshalb sehr kleine Zahlen.  
 
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.
 
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 <math>p = 13</math> und <math>g = 2</math> (<math>2</math>.
 
*Alice und Bob einigen sich auf die beiden öffentlichen Schlüssel <math>p = 13</math> und <math>g = 2</math> (<math>2</math>.
 
*Alice wählt die Zufallszahl <math>a = 5</math> als geheimen Schlüssel und Bob <math>b = 8</math>.
 
*Alice wählt die Zufallszahl <math>a = 5</math> als geheimen Schlüssel und Bob <math>b = 8</math>.
Zeile 21: Zeile 22:
 
*Bob berechnet <math>K_2 = A^b\ \bmod\ p = 6^8\ \bmod\ 13 = 3</math>.
 
*Bob berechnet <math>K_2 = A^b\ \bmod\ p = 6^8\ \bmod\ 13 = 3</math>.
 
*Beide erhalten das gleiche Ergebnis <math>K = K_1 = K_2 = 3</math>.
 
*Beide erhalten das gleiche Ergebnis <math>K = K_1 = K_2 = 3</math>.
 
+
==Sicherheit==
Die Lauscherin Eve kann zwar die Zahlen 13, 2, 6 und 9 mithören, das eigentliche gemeinsame Geheimnis von Alice und Bob <math>K = 3</math> bleibt ihr aber verborgen. <math>K = 3</math> kann als Schlüssel für die nachfolgende Kommunikation verwendet werden.
+
*Die Lauscherin Eve kann zwar die Zahlen 13, 2, 6 und 9 mithören,  
 
+
*Das eigentliche gemeinsame Geheimnis von Alice und Bob <math>K = 3</math> bleibt ihr aber verborgen.  
Mit Hilfe der abgefangenen Nachrichten kann Eve immerhin die folgenden Gleichungen aufstellen:
+
*<math>K = 3</math> kann als Schlüssel für die nachfolgende Kommunikation verwendet werden.
 
+
==Lauschen==
:<math>6 = 2^a\ \bmod\ 13</math>
+
*Mit Hilfe der abgefangenen Nachrichten kann Eve immerhin die folgenden Gleichungen aufstellen:
:<math>9 = 2^b\ \bmod\ 13</math>
+
*:<math>6 = 2^a\ \bmod\ 13</math>
 
+
*:<math>9 = 2^b\ \bmod\ 13</math>
Daraus kann sie beispielsweise durch Ausprobieren die beiden geheimen Zahlen <math>a=5</math> und <math>b=8</math> bestimmen. Den vereinbarten Schlüssel <math>K</math> von Alice und Bob kann sie nun mit
+
*Daraus kann sie beispielsweise durch Ausprobieren die beiden geheimen Zahlen <math>a=5</math> und <math>b=8</math> bestimmen.  
 
+
*Den vereinbarten Schlüssel <math>K</math> von Alice und Bob kann sie nun mit
:<math>K = g^{ab}\ \bmod\ p</math>
+
*:<math>K = g^{ab}\ \bmod\ p</math>

Version vom 15. Februar 2018, 11:06 Uhr

Grundlagen

Der Diffie-Hellman-Schlüsselaustausch oder Diffie-Hellman-Merkle-Schlüsselaustausch bzw. -Schlüsselvereinbarung (auch kurz DHM-Schlüsselaustausch oder DHM-Protokoll[1]) 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 und Bob .
  • Nun berechnet Alice und sendet an Bob.
  • Bob berechnet und 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