Diffie-Hellmann-Schlüsseltausch
Der Diffie-Hellmann-Schlüsseltausch ermöglicht es zwei Kommunikationspartnern einen geheimen Schlüssel zu vereinbaren.
Das Besondere dabei ist, dass mögliche Angreifer die gesamte Kommunikation mithören können, aber trotzdem nicht an den Schlüssel kommen.
Verfahren
Die beiden Kommunikationspartner (Alice und Bob) einigen sich auf eine Primzahl p und eine Primitivwurzel g modulo p.
Diese beiden Zahlen können öffentlich sein, d.h. auch mögliche Angreifer (Eve) dürfen sie erfahren.
Jetzt läuft das Verfahren wie folgt ab:
Alice | Kommunikation (belauscht von Eve!) |
Bob |
---|---|---|
--- | Alice und Bob einigen sich auf p und g | --- |
Alice denkt sich eine geheime Primzahl a aus. | --- | Bob denkt sich eine geheime Primzahl b aus. |
Alice berechnet A = g^a mod p | --- | Bob berechnet B = g^b mod p |
--- | Alice schickt A an Bob. Bob schickt B an Alice. |
--- |
Alice berechnet K = B^a mod p und hat den Schlüssel K! |
--- | Bob berechnet K = A^b mod p und hat ebenfalls den Schlüssel K! |
--- | Eve kann aus p, g, A und B den Schlüssel K nicht berechnen! |
--- |
Beispiel
Alice | Kommunikation (belauscht von Eve!) |
Bob |
---|---|---|
--- | Alice und Bob einigen sich auf p = 13 und g = 2 | --- |
Alice denkt sich eine geheime Primzahl aus: a = 5. | --- | Bob denkt sich eine geheime Primzahl b = 8. |
Alice berechnet A = g^a mod p A = 2^5 mod 13 = 32 mod 13 = 6 |
--- | Bob berechnet B = g^b mod p B = 2^8 mod 13 = 256 mod 13 = 9 |
--- | Alice schickt A = 6 an Bob. Bob schickt B = 9 an Alice. |
--- |
Alice berechnet K = B^a mod p K = 9^5 mod 13 = 59049 mod 13 = 3 und hat den Schlüssel K = 3! |
--- | Bob berechnet K = A^b mod p K = 6^8 mod 13 = 1679616 mod 13 = 3 und hat ebenfalls den Schlüssel K! |
--- | Eve kann aus p = 13, g = 2, A = 6 und B = 9 den Schlüssel K nicht berechnen! |
--- |