Einführung in den Diffie Hellman-Schlüsselaustauschalgorithmus

Der Diffie Hellman-Schlüsselaustauschalgorithmus ist eine der ersten praktischen Implementierungen des Austauschs öffentlicher Schlüssel auf dem Gebiet der Kryptographie. Der Diffie Hellman-Schlüsselaustauschalgorithmus ist eine der Methoden, mit denen ein gemeinsamer Schlüssel generiert und die Geheimhaltung zwischen zwei Parteien so aufgeteilt werden kann, dass wir sicher sein können, dass niemand die Kommunikation mitverfolgen kann. Es gibt eine wichtige Tatsache, die beim Algorithmus beachtet werden muss: Wir geben die Informationen nicht im Austausch weiter, sondern erstellen einen Schlüssel, der später zum Austausch von Informationen verwendet werden kann. Da diese Technik es uns ermöglicht, einen Verschlüsselungsschlüssel mit dem anderen Teilnehmer zu erstellen, können wir die laufenden und empfangenen Nachrichten verschlüsseln. Man stellt fest, auch wenn jemand die Übertragungsdaten aufzeichnet, gibt es keine Möglichkeit, die Daten zu entschlüsseln.

Diffie Hellman-Schlüsselaustauschalgorithmus zur Schlüsselgenerierung

Der Algorithmus basiert auf der Elliptic Curve Cryptography, einer Methode für die Public-Key-Kryptographie, die auf der Algebra-Struktur elliptischer Kurven über endlichen Feldern basiert. Der DH verwendet die Trapdoor-Funktion ebenso wie viele andere Methoden zur Verschlüsselung mit öffentlichen Schlüsseln. Die einfache Idee, den DH-Algorithmus zu verstehen, ist die folgende

1. Der erste Teilnehmer wählt zwei Primzahlen g und p und teilt sie dem zweiten Teilnehmer mit.

2. Der zweite Teilnehmer wählt dann eine Geheimnummer (nennen wir sie a) und berechnet dann g a mod p und sendet das Ergebnis zurück an den ersten Teilnehmer. Rufen wir das Ergebnis A an. Beachten Sie, dass die Geheimnummer nicht gesendet wird Für jeden ist nur das Ergebnis.

3. Dann macht der erste Teilnehmer dasselbe, wählt eine Geheimzahl b aus und berechnet das Ergebnis B ähnlich dem

4. Schritt 2. Dieses Ergebnis wird dann an die zweite Partei gesendet.

5. Der zweite Teilnehmer nimmt die empfangene Nummer B und berechnet B a mod p

6. Der erste Teilnehmer nimmt die empfangene Nummer A und berechnet A b mod p

Hier wird es interessant, die Antwort in Schritt 5 ist die gleiche wie die Antwort in Schritt 4. Dies bedeutet, dass beide Parteien unabhängig von der Reihenfolge der Exponentiation die gleiche Antwort erhalten.

(g a mod p) b mod p = g ab mod p
(g b mod p) a mod p = g ba mod p

Die Nummer, die wir in den Schritten 4 und 5 erhalten haben, wird als gemeinsamer geheimer Schlüssel verwendet. Mit diesem Schlüssel können nun alle zu übertragenden Daten wie Blowfish, AES usw. verschlüsselt werden.

Diffie-Hellman-Algorithmus

1. key = (Y A ) XB mod q -> dies ist das gleiche wie von B berechnet

2. Globale öffentliche Elemente

  • q: q ist eine Primzahl
  • a: a <q und α ist die Urwurzel von q

3. Schlüsselgenerierung für Benutzer A

  • Wählen Sie einen privaten Schlüssel X A Hier X A

Nun wird die Berechnung des öffentlichen Schlüssels Y A Y A = a XA mod q

4. Schlüsselgenerierung für Benutzer B

  • Wählen Sie einen privaten Schlüssel X B Hier X B
  • Nun wird die Berechnung des öffentlichen Schlüssels Y B Y B = a Xb mod q

5. Berechnung des geheimen Schlüssels durch A

  • Taste = (Y B ) XA mod q

6. Berechnung des geheimen Schlüssels durch B

  • Taste = (Y A ) XB mod q

Beispiel

1. Alice und Bob benutzen beide öffentliche Nummern P = 23, G = 5

2. Alice wählte den privaten Schlüssel a = 4 und Bob b = 3 als privaten Schlüssel

3. Sowohl Alice als auch Bob berechnen nun den Wert von x und y wie folgt:

  • Alice: x = (5 4 mod 23) = 4
  • Bob: y = (5 3 mod 23) = 10

4. Nun tauschen Alice und Bob öffentliche Nummern miteinander aus.

5. Alice und Bob berechnen nun die symmetrischen Schlüssel

  • Alice: k a = y a mod p = 10 4 mod 23 = 18
  • Bob: k b = x b mod p = 4 3 mod 23 = 18

6. 18 ist der gemeinsame geheime Schlüssel.

Verwendung des Diffie Hellman-Algorithmus

Abgesehen von der Verwendung des Algorithmus zum Generieren öffentlicher Schlüssel gibt es einige andere Stellen, an denen der DH-Algorithmus verwendet werden kann:

  • Verschlüsselung: Der Diffie Hellman-Schlüsselaustauschalgorithmus kann für die Verschlüsselung verwendet werden. Eines der ersten Verfahren war die ElGamal-Verschlüsselung. Ein modernes Beispiel dafür ist das integrierte Verschlüsselungsschema, das Sicherheit gegen ausgewählte Klartext- und ausgewählte Zwischenablage-Angriffe bietet.
  • Kennwortauthentifizierte Vereinbarung: Wenn zwei Parteien ein Kennwort gemeinsam verwenden, kann eine kennwortauthentifizierte Schlüsselvereinbarung verwendet werden, um den Mann vor einem Angriff zu schützen. Diese Schlüsselvereinbarung kann in Form von Diffie-Hellman vorliegen. Secure Remote Password Protocol ist ein gutes Beispiel, das auf dieser Technik basiert.
  • Vorwärtsgeheimnis: Vorwärtsgeheimnis-basierte Protokolle können für jede neue Sitzung neue Schlüsselpaare generieren und diese am Ende automatisch verwerfen, wenn die Sitzung ebenfalls beendet ist. In diesen Forward-Secrecy-Protokollen wird meistens der Diffie-Hellman-Schlüsselaustausch verwendet.

Vorteile des Diffie-Hellman-Algorithmus

  • Absender und Empfänger benötigen keine Vorkenntnisse.
  • Sobald die Schlüssel ausgetauscht sind, kann die Datenübertragung über einen unsicheren Kanal erfolgen.
  • Die Weitergabe des geheimen Schlüssels ist sicher.

Nachteile des Diffie-Hellman-Algorithmus

  • Der Algorithmus kann nicht für einen Austausch asymmetrischer Schlüssel verwendet werden.
  • Ebenso kann es nicht zum Signieren von digitalen Signaturen verwendet werden.
  • Da keine Partei in der Übertragung authentifiziert wird, ist der Diffie Hellman-Schlüsselaustausch anfällig für einen Man-in-the-Middle-Angriff.

Fazit

Aufgrund seiner Vorteile hat sich der Diffie Hellman-Schlüsselaustausch als nützliches Schlüsselaustauschsystem erwiesen. Während es für jemanden, der das Netzwerk ausspioniert, sehr schwierig ist, die Daten zu entschlüsseln und die Schlüssel zu erhalten, ist es dennoch möglich, wenn die generierten Zahlen nicht völlig zufällig sind. Das Schlüsselaustauschsystem ermöglicht es auch, einen Mann in der Mitte anzugreifen, um dies zu vermeiden, sollten beide Parteien zu Beginn des Austauschs sehr vorsichtig sein.

Empfohlener Artikel

Dies war eine Anleitung zum Diffie Hellman-Schlüsselaustauschalgorithmus. Hier diskutieren wir die Verwendungen, verschiedene Algorithmen, Vor- und Nachteile. Sie können auch unsere anderen Artikelvorschläge durchgehen, um mehr zu erfahren -

  1. Algorithmen für maschinelles Lernen
  2. Verschlüsselungsalgorithmus
  3. Klassifizierungsalgorithmen
  4. Arten von Algorithmen