Diffie Hellman: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| (12 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 4: | Zeile 4: | ||
*Der dadurch vereinbarte Schlüssel kann anschließend für ein symmetrisches Kryptosystem verwendet werden. | *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. | *Unterschiedliche Varianten des Diffie-Hellman-Merkle-Verfahrens werden heute für die Schlüsselverteilung in den Kommunikations- und Sicherheitsprotokollen des Internet eingesetzt. | ||
| + | =Farbmodell= | ||
| + | {{#drawio:dh2-}} | ||
| + | |||
=Prinzip= | =Prinzip= | ||
[[Datei:dh1.png|500px]] | [[Datei:dh1.png|500px]] | ||
{{#drawio:dh-1}} | {{#drawio:dh-1}} | ||
| − | |||
=Beispiel= | =Beispiel= | ||
| − | Das | + | Das Beispiel dient zur Veranschaulichung und benutzt deshalb sehr kleine Zahlen. |
| − | In der tatsächlichen Anwendung werden dagegen | + | In der tatsächlichen Anwendung werden dagegen Primzahlen mit mindestens mehreren hundert Stellen benutzt. |
==Berechnung== | ==Berechnung== | ||
*Alice legt die beiden öffentlichen Schlüssel <math>p = 13</math> und <math>g = 2</math> fest. | *Alice legt die beiden öffentlichen Schlüssel <math>p = 13</math> und <math>g = 2</math> fest. | ||
| − | *p muss auf | + | *p muss auf jeden Fall eine Primzahl sein. |
*Alice wählt die Zufallszahl <math>a = 5</math> als geheimen Schlüssel. | *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 = 32 \bmod\ 13 = 6 </math> | *Nun berechnet Alice <math>A = g^a\ \bmod\ p = 2^5\ \bmod\ 13 = 32 \bmod\ 13 = 6 </math> | ||
*Alice sendet <math>g,p,A</math> an Bob. | *Alice sendet <math>g,p,A</math> an Bob. | ||
| − | *Bob wählt die Zufallszahl <math>b = 8</math> als geheimen Schlüssel | + | *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 = 256 \bmod\ 13 = 9</math> | *Bob berechnet <math>B = g^b\ \bmod\ p = 2^8\ \bmod\ 13 = 256 \bmod\ 13 = 9</math> | ||
*Bob sendet <math>B</math> an Alice. | *Bob sendet <math>B</math> an Alice. | ||
| − | *Alice berechnet <math>K_1 = B^a\ \bmod\ p = 9^5\ \bmod\ 13 = | + | *Alice berechnet <math>K_1 = B^a\ \bmod\ p = 9^5\ \bmod\ 13 = 59049 \bmod\ 13 = 3</math>. |
*Bob berechnet <math>K_2 = A^b\ \bmod\ p = 6^8\ \bmod\ 13 = 1679616 \bmod\ 13 = 3</math>. | *Bob berechnet <math>K_2 = A^b\ \bmod\ p = 6^8\ \bmod\ 13 = 1679616 \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== | ==Sicherheit== | ||
| − | *Die Lauscherin Eve kann zwar die Zahlen 13, 2, 6 und 9 mithören | + | *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. | *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. | *<math>K = 3</math> kann als Schlüssel für die nachfolgende Kommunikation verwendet werden. | ||
| Zeile 38: | Zeile 39: | ||
*ein Generator der Gruppe <math>\Z_p^*</math> ist, ist es für Eve zu aufwändig, | *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, | *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 | + | *die als Resultat der modularen Potenz <math>g^a\ \bmod\ p</math> in Frage kommen. |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| + | =Perfect Forward Secrecy= | ||
| + | *Früher wurden neue Sitzungsschlüssel aus den alten berechnet. | ||
| + | *Das führte zu dem Problem, dass wenn ein Schlüssel geknackt wurde, man den gesamten mitgeschnittenen Datenverkehr entschlüsseln konnte. | ||
| + | *Mittlerweile werden Sitzungsschlüssel mit dem Diffie-Hellman-Verfahren erzeugt. | ||
| + | *Vorteil: Wird ein Sitzungsschlüssel gefunden, kann damit nur ein kleiner Teil des Datenverkehrs entschlüsselt werden. | ||
==Script zum berechnen== | ==Script zum berechnen== | ||
*[[Diffie-Hellman-Script]] | *[[Diffie-Hellman-Script]] | ||
| − | |||
=Videos= | =Videos= | ||
*Diffie-Hellman principle | *Diffie-Hellman principle | ||
| Zeile 58: | Zeile 53: | ||
*Math part | *Math part | ||
https://www.youtube.com/watch?v=Yjrfm_oRO0w | https://www.youtube.com/watch?v=Yjrfm_oRO0w | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
Aktuelle Version vom 19. Mai 2026, 07:13 Uhr
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.
Farbmodell
Prinzip
Beispiel
Das Beispiel dient zur Veranschaulichung und benutzt deshalb sehr kleine Zahlen. In der tatsächlichen Anwendung werden dagegen Primzahlen mit mindestens mehreren hundert Stellen benutzt.
Berechnung
- Alice legt die beiden öffentlichen Schlüssel und fest.
- p muss auf jeden Fall eine Primzahl sein.
- 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.
Perfect Forward Secrecy
- Früher wurden neue Sitzungsschlüssel aus den alten berechnet.
- Das führte zu dem Problem, dass wenn ein Schlüssel geknackt wurde, man den gesamten mitgeschnittenen Datenverkehr entschlüsseln konnte.
- Mittlerweile werden Sitzungsschlüssel mit dem Diffie-Hellman-Verfahren erzeugt.
- Vorteil: Wird ein Sitzungsschlüssel gefunden, kann damit nur ein kleiner Teil des Datenverkehrs entschlüsselt werden.
Script zum berechnen
Videos
- Diffie-Hellman principle
https://www.youtube.com/watch?v=NmM9HA2MQGI
- Math part

