E01 Diffie-Hellmann Schlüsselaustausch

Der Diffie-Hellmann Schlüsselaustausch ist mit wenigen Zeilen Programmcode nutzbar und ist dennoch ein vollwertiger Algorithmus.

Hier noch einmal in Kurzform die Vorgehensweise: beide Partner erzeugen ihre Schlüsselpaare (KeyPairs) und tauschen dann ihre öffentlichen Schlüssel (public keys) aus. Im Programm geschieht das einfach durch „Vertauschen“ in der Ansicht, in der Praxis werden die öffentlichen Schlüssel z.B. auf einer persönlichen Webseite veröffentlicht. Dann erzeugen beide Partner den  gemeinsamen geheimen Schlüssel (shared secret key), der dann z.B. für eine symmetrische Verschlüsselung genutzt werden kann. In diesem Beispiel ist der gemeinsame geheime Schlüssel 64 Byte lang und damit „zu lang“ für eine AES-Verschlüsselung (Schlüssellänge maximal 32 Byte). Für eine „sichere“ Kürzung des Schlüssels sorgt hier der SHA-256-Hash-Algorithmus; alternativ wäre auch die Nutzung von HKDF (Kryptografische Erzeugung von abgeleiteten Schlüsseln) denkbar.

Schlüsselaustauschsteckbrief
Name des Verfahrens DH
Langname Diffie-Hellmann Schlüsselaustausch
Basis Diskreter Logarithmus
Blocklänge (Byte)
Schlüssellänge (Byte/Bit) 64/512, 128/1024, 256/2048, 512/4096, 1024/8192
Padding genutzt Nein
Sicherheit nur ab 2048 Bit Schlüssellänge
Besonderes

Der nachfolgende Quellcode ist durch die Ausgaberoutinen deutlich länger als der „eigentliche“ Programmcode.

Bitte die nachfolgende Routine nicht für den Echteinsatz nutzen, da sie aus kryptographischer Sicht angreifbar ist !

Auf der Konsole seht Ihr die Ergebnisse:

Die Lizenz zum obigen Beispiel findet Ihr auf der eigenen Lizenz-Seite.

Letzte Aktualisierung: 18.01.2019