Mathematische Grundlagen Blatt 11 I. Köster WS 2015/2016 F. Stoll Gruppenübungen am 13.01.2016 Alle Aufgaben sollen schriftlich bearbeitet und am 13. Januar 2016 in der Übung abgegeben werden. Jeder Student muss eine eigene Version abgeben! Ziel ist es, das sogenannte RSA-Verfahren herzuleiten. Das RSA-Verfahren ist ein kryptographisches Verfahren, das 1977/1978 am MIT von Rivest, Shamir und Adelmann entwickelt wurde. Kryptographie findet beispielsweise Anwendung bei der Verschlüsselung von Nachrichten, digitalen Signaturen oder Bezahlungen mit Kreditkarten. Definition: ϕ : N → N, definiert durch ϕ(n) := |{ a ∈ N : 1 ≤ a ≤ n ∧ ggT(a, n) = 1 }|, heißt eulersche ϕ-Funktion. Sie gibt zu jeder natürlichen Zahl n ∈ N an, wie viele teilerfremde Zahlen es gibt, die kleiner als n sind. Für Primzahlen p ∈ N gilt ϕ(p) = p − 1. Aufgabe S 11.1 Seien p, q ∈ N Primzahlen mit p 6= q. Zeigen Sie, dass ϕ(p · q) = (p − 1) · (q − 1) gilt. Geben Sie die Ordnung der Einheitengruppe (Z/pqZ)× := { a ∈ Z/pqZ : ∃b ∈ Z/pqZ : ab = ba = 1 } an. Zur Berechnung des größten gemeinsamen Teilers von zwei natürlichen Zahlen verwendet man den sogenannten euklidischen Algorithmus: 1 2 3 4 5 6 Input : a, b ∈ N0 h := 0; x := b, ggt := a; while x 6= 0 do h := ggt mod x; ggt := x; x := h. end Output : ggt Aufgabe S 11.2 Zeigen Sie die Korrektheit des Algorithmus, d.h. zeigen Sie, dass ggt = ggT(a, b). Die Bank B wählt zwei (große) Primzahlen p, q mit p 6= q und berechnet n = p · q. B wählt eine zu ϕ(n) teilerfremde Zahl e mit 1 < e < ϕ(n). Danach bestimmt man ein d ∈ N mit ed = 1 mod ϕ(n). Aufgabe S 11.3 Warum existiert ein solches d? Geben Sie einen Algorithmus zur Berechnung von d an. B gibt das Paar (n, e) (auch Public Key genannt) öffentlich bekannt. Unter Verwendung des Public Keys kann jeder folgendermaßen eine Nachricht an B senden: Der Kunde K sendet an B eine Nachricht mit Elementen aus (Z/nZ)× , mittels der Chiffrierfunktion ψ : (Z/nZ)× → (Z/nZ)× , x 7→ xe . Die Bank entschlüsselt dann die Nachricht mittels der Dechiffrierfunktion ξ : (Z/nZ)× → (Z/nZ)× , xe 7→ xed . Sei G eine Gruppe der Ordnung n und sei x ∈ G. Zeigen Sie, dass xn = 1 gilt. Zeigen Sie insbesondere, dass xed = x für x ∈ (Z/nZ)× gilt. Aufgabe S 11.4 Man benötigt d, und um d zu berechnen, benötigt man ϕ(n), also p und q. Die Zerlegung einer Zahl in das Produkt zweier Primzahlen ist i.A. für große Primzahlen schwer. Aufgabe S 11.5 Zeigen Sie: Die Kenntnis von n und ϕ(n) ist äquivalent zur Kenntnis von p und q. Aufgabe S 11.6 a) Verschlüsseln Sie die Zahl 8 mithilfe des RSA-Verfahrens mit n = 55, e=7. b) Finden Sie d ∈ N mit ed ≡ 1 mod ϕ(n) und verifizieren Sie, dass die Entschlüsselung funktioniert.