From 489a4fb6807750c9f47fc3f19cf2a90d0da787ac Mon Sep 17 00:00:00 2001 From: Oshgnacknak Date: Sun, 30 Jan 2022 21:03:46 +0100 Subject: [PATCH] Add Diffie-Hellman II write up --- diffie-hellman-ii.md | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 diffie-hellman-ii.md diff --git a/diffie-hellman-ii.md b/diffie-hellman-ii.md new file mode 100644 index 0000000..b6421de --- /dev/null +++ b/diffie-hellman-ii.md @@ -0,0 +1,39 @@ +# 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)