741 B
741 B
Diffie-Hellman II
Gegegen sind die Parameter für den Diffie-Hellman-Algorithmus:
In [1]: a = 6
...: b = 4
...: g = 16
...: P = 19
Dabei kennt Alice die Zahlen a
, g
und P
.
Bob kennt analog b
, g
, und P
.
Lösung
Alice und Bob Berechnen jeweils ihren Zwischenexponenten und übertragen ihn.
A = g^a mod P
B = g^b mod P
Damit können beide den Schlüssel berechnen:
K = A^b mod P
= (g^a)^b mod P
= g^(a*b) mod P
= g^(b*a) mod P
= (g^b)^a mod P
= B^a mod P
Das gibt uns (siehe Weak Hybrid Encryption für Code):
In [3]: A = modpow(g, a, P)
In [4]: B = modpow(g, b, P)
In [5]: K = modpow(B, a, P)
In [6]: A, B, K
Out[6]: (7, 5, 7)