Diffie Hellmann: Unterschied zwischen den Versionen

Aus xinux.net
Zur Navigation springen Zur Suche springen
(Die Seite wurde geleert.)
 
(16 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
=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.
 
 
[[Datei:Diffie-Hellman-Key-Exchange.png|300px]]
 
=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 <math>p = 13</math> und <math>g = 2</math>.
 
*Alice wählt die Zufallszahl <math>a = 5</math> als geheimen Schlüssel und Bob <math>b = 8</math>.
 
*Nun berechnet Alice <math>A = g^a\ \bmod\ p = 2^5\ \bmod\ 13 = 6</math> und sendet <math>A</math> an Bob.
 
*Bob berechnet <math>B = g^b\ \bmod\ p = 2^8\ \bmod\ 13 = 9</math> und sendet <math>B</math> an Alice.
 
*Alice berechnet <math>K_1 = B^a\ \bmod\ p = 9^5\ \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>.
 
 
==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.
 
==Lauschen==
 
*Mit Hilfe der abgefangenen Nachrichten kann Eve immerhin die folgenden Gleichungen aufstellen:
 
*:<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
 
*:<math>K = g^{ab}\ \bmod\ p</math> berechnen.
 
*Wenn jedoch die Primzahl <math>p</math> groß genug gewählt wird und <math>g</math>
 
*ein Generator der Gruppe <math>\Z_p^*</math> ist, ist es für Eve zu aufwändig,
 
*um alle Zahlen zwischen <math>1</math> und <math>p-1</math> durchzuprobieren,
 
*die als Resultat der modularen Potenz <math>g^a\ \bmod\ p</math> in Frage kommen
 

Aktuelle Version vom 16. November 2019, 17:20 Uhr