Diffie Hellmann: Unterschied zwischen den Versionen

Aus xinux.net
Zur Navigation springen Zur Suche springen
(Die Seite wurde geleert.)
 
(11 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
=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.
 
 
[[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.
 
*Nun berechnet Alice <math>A = g^a\ \bmod\ p = 2^5\ \bmod\ 13 = 6</math>
 
*Alice sendet <math>A</math> an Bob.
 
*Bob wählt die Zufallszahl <math>b = 8</math> als geheimen Schlüssel
 
*Bob berechnet <math>B = g^b\ \bmod\ p = 2^8\ \bmod\ 13 = 9</math>
 
*Bob 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
 
==Script zum berechnen==
 
*[[Diffie-Hellman-Script]]
 

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