# 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 gerechnen jeweils ihren
Zwichenexponenten 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 [modpow](modmath.py)):

    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)