diff --git a/20240418/ad-20240418.txt b/20240418/ad-20240418.txt new file mode 100644 index 0000000000000000000000000000000000000000..56bf6ff55026ed27f80127e00df8b2c2f5662e1f --- /dev/null +++ b/20240418/ad-20240418.txt @@ -0,0 +1,59 @@ +Erweiterter euklidischer Algorithmus, 11.04.2024, 16:38:59 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +gegeben: a, b +berechnet: ggT(a,b) = s · a + t · b # "ggT" = größter gemeinsamer Teiler + ~~~ ~ ~ + +RSA: +gegeben: e, N = p · q, e teilerfremd zu N +gesucht: d mit d · e % N = 1 + +Was hat das eine mit dem anderen zu tun? + +--> Problem umformulieren, so daß es "s · a + t · b" ähnlicher wird + +d · e % N = 1 --> Trick: aus "%" ein "+" machen + +Schreibe "16 % 7 = 2" als "16 = Vielfaches von 7 + 2" als "16 = m · 7 + 2" + +--> d · e + m · N = 1 (m darf auch negativ sein.) + +Dort, wo wir gerne eine 1 hätten, steht der ggT. +Was ist in unserem Fall der ggT? --> = 1, weil e teilerfremd zu N ist. + +Wähle: a = e, b = N, dann gibt uns der erweiterte euklidische Algorithmus: +1 = s · e + t · N +--> s · e + ein Vielfaches von N = 1 +--> s ist das gesuchte d. :-) + +Korrektur, 18.04.2024, 16:55:43 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ChatGPT: + ... allerdings sollte N ... tatsächlich \phi(N) sein ... und nicht N selbst. + ... + \phi(N) ist definiert als (p - 1) · (q - 1). + +Praktikumsunterlagen HP, Versuch 1: + + Berechnen Sie N = p · q sowie eine natürliche + Zahl d mit der Eigenschaft: + + (e · d) % (p - 1) · (q - 1) = 1 + +--> Ersetze oben alle "N" durch "n", wobei n = (p - 1) · (q - 1) ist. + +Gelöste Probleme: + - Das "b" im erweiterten euklidischen Algorithmus muß (p - 1) · (q - 1) sein, nicht N. + - s und t können auch negativ sein. --> int64_t statt uint64_t + - Der Rückgabewert ist s_{i - 1}, nicht s_i. + - negatives Ergebnis durch Addieren von (p - 1) · (q - 1) positiv machen + +Warum? Wie sind negative Ergebnisse zu interpretieren? +Sei n = (p - 1) · (q - 1). +Der Algorithmus liefert: 1 = s · e + t · n, wobei s und t negativ sein können. +Das "t · n" steht für "modulo n". Wir können t ignorieren. +Wenn s negativ ist, ist es das inverse Element der Addition + in dem Ring ( { 0, ..., n - 1 }, +, · ). +In diesem Ring wird alles modulo n gerechnet. +--> Zahlen außerhalb von 0 bis n - 1 müssen wir durch Addieren/Subtrahieren von n + in diesen Zahlanbereich bringen. (Addition/Subtraktion von n entspricht +- 0.) diff --git a/20240418/gruppen-ringe-koerper-2-01-potenz-und-mod-6.png b/20240418/gruppen-ringe-koerper-2-01-potenz-und-mod-6.png new file mode 100644 index 0000000000000000000000000000000000000000..437e3c335531d585a033d1ad2fdb748b1491d989 Binary files /dev/null and b/20240418/gruppen-ringe-koerper-2-01-potenz-und-mod-6.png differ diff --git a/20240418/gruppen-ringe-koerper-2-02-koerper.png b/20240418/gruppen-ringe-koerper-2-02-koerper.png new file mode 100644 index 0000000000000000000000000000000000000000..dcb4b3863fbc5f0348d994e5dfcdb14404708303 Binary files /dev/null and b/20240418/gruppen-ringe-koerper-2-02-koerper.png differ diff --git a/20240418/gruppen-ringe-koerper-2-03-schiefkoerper.png b/20240418/gruppen-ringe-koerper-2-03-schiefkoerper.png new file mode 100644 index 0000000000000000000000000000000000000000..159a3c7d1408f383079a7809fc2c27f73c87683d Binary files /dev/null and b/20240418/gruppen-ringe-koerper-2-03-schiefkoerper.png differ diff --git a/20240418/gruppen-ringe-koerper-2-04-rsa.png b/20240418/gruppen-ringe-koerper-2-04-rsa.png new file mode 100644 index 0000000000000000000000000000000000000000..11fe1859da5639661b26094508c2116cdfcfe884 Binary files /dev/null and b/20240418/gruppen-ringe-koerper-2-04-rsa.png differ diff --git a/20240418/gruppen-ringe-koerper-2-05-elgamal-und-diffie-hellman.png b/20240418/gruppen-ringe-koerper-2-05-elgamal-und-diffie-hellman.png new file mode 100644 index 0000000000000000000000000000000000000000..980c1c3489ca67779071ba859c6fd7c0a559eced Binary files /dev/null and b/20240418/gruppen-ringe-koerper-2-05-elgamal-und-diffie-hellman.png differ diff --git a/20240418/gruppen-ringe-koerper-2.xcf.gz b/20240418/gruppen-ringe-koerper-2.xcf.gz new file mode 100644 index 0000000000000000000000000000000000000000..d240e75c43059627aafba3ec4d07bbf190cbe032 Binary files /dev/null and b/20240418/gruppen-ringe-koerper-2.xcf.gz differ