Cryptography Reference
In-Depth Information
ruhig erfahren. In der Praxis ist es ohnehin meist so, dass g und p vorgegeben sind
und von vielen Anwendern verwendet werden. Außerdem wählt Alice eine natür-
liche Zahl x < p , Bob wählt eine natürliche Zahl y < p . Diese Zahlen behalten Alice
und Bob jeweils für sich. Nun beginnt folgender Ablauf:
1. Alice berechnet die Zahl a = g x (mod p ). Sie schickt a an Bob.
2. Bob berechnet die Zahl b = g y (mod p ). Er schickt b an Alice.
3. Alice berechnet aus dem erhaltenen b die Zahl k 1 := b x (mod p ).
4. Bob berechnet aus dem erhaltenen a die Zahl k 2 := a y (mod p ).
Jetzt gilt k 1 = k 2 (warum, das können Sie selbst nachrechnen), weshalb wir dafür
k schreiben. Mallory, der die Kommunikation abhört, kennt dieses k nicht, er
kann es auch nicht berechnen. Dazu müsste er nämlich den diskreten Logarith-
mus lösen, und das ist nach heutigem Kenntnisstand nicht möglich, wenn die
Zahlen groß genug sind. Alice und Bob können also k (z.B. in eine 128-Bit-Zahl
umgewandelt) gefahrlos für eine symmetrische Verschlüsselung nutzen.
Und warum ist das Ganze ein Public-Key-Verfahren? Weil a der öffentliche
und x der private Schlüssel von Alice ist. Analog hat Bob den privaten Schlüssel y
und den öffentlichen Schlüssel b . Man beachte, dass erwartungsgemäß in beiden
Fällen der öffentliche vom privaten Schlüssel abhängt. Auch wenn das Diffie-
Hellman-Verfahren selbst nicht zum Verschlüsseln verwendet werden kann, so
löst es doch immerhin das Schlüsselaustauschproblem. Daher gilt es zu Recht als
asymmetrisches Verfahren und als einfachster Vertreter dieser Zunft obendrein.
Ein Beispiel
Schauen wir uns einmal ein Beispiel für den Einsatz des Diffie-Hellman-Verfah-
rens an, bei dem wir kleine Zahlen verwenden. Alice und Bob einigen sich (wobei
Mallory mithören darf) auf g =3 und p =7. Wie Sie nachrechnen können, ist 3 ein
Generator von Z(7,·). Alice wählt als privaten Schlüssel x =2, Bob legt für seinen
privaten Schlüssel y =5 fest. Nun können die beiden einen Diffie-Hellman-Schlüs-
selaustausch abarbeiten:
1. Alices öffentlicher Schlüssel ist a = g x (mod p ) = 3 2 = 2 (mod 7).
2. Bobs öffentlicher Schlüssel ist b = g y (mod p ) = 3 5 = 5 (mod 7).
3. Alice berechnet nun k 1 : k 1 = b x = 5 2 = 4 (mod 7).
4. Bob kann nun k 2 berechnen: k 2 = a y = 2 5 = 4 (mod 7).
Wie gewünscht, ist k 1 = k 2 = k . k hat den Wert 4. Mit diesem Schlüssel können
Alice und Bob nun ihre Nachrichten verschlüsseln.
Search WWH ::




Custom Search