Diffie Hellman: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
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]]

Version vom 10. Mai 2026, 12:44 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

Vorlage:Drawio:dh2-

Prinzip

Dh1.png

Beispiel

Das folgende 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 Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle A = g^a\ \bmod\ p = 2^5\ \bmod\ 13 = 32 \bmod\ 13 = 6 }
  • Alice sendet Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle g,p,A} an Bob.
  • Bob wählt die Zufallszahl Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle b = 8} als geheimen Schlüssel.
  • Bob berechnet Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle B = g^b\ \bmod\ p = 2^8\ \bmod\ 13 = 256 \bmod\ 13 = 9}
  • Bob sendet Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle B} an Alice.
  • Alice berechnet Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle K_1 = B^a\ \bmod\ p = 9^5\ \bmod\ 13 = 59049 \bmod\ 13 = 3} .
  • Bob berechnet Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle K_2 = A^b\ \bmod\ p = 6^8\ \bmod\ 13 = 1679616 \bmod\ 13 = 3} .
  • 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

https://www.youtube.com/watch?v=Yjrfm_oRO0w