Aufgabe 6a: Sicherheit des RSA-Verfahrens Alice erzeugt ein Schlüsselpaar – Wählt zwei Primzahlen p = 7, q = 11 – Ermittelt das RSA-Modul n = p·q = 77 – Φ(n) = Φ(p·q) = (p–1) (q–1) = 60 – Wählt Verschlüsselungsexponenten c • Es muss gelten: 3 ≤ c < Φ(n) und ggT(c, Φ(n)) = 1 • Alice wählt c = 13 – Ermittelt den zugehörigen Entschlüsselungsexponenten d • Es gilt: c · d ≡ 1 mod Φ(n) c · d + k · Φ(n) = 1 13 · d + k · 60 = 1 44 ONLINE Aufgabe 6a: Sicherheit des RSA-Verfahrens 60 = 4·13 + 8 13 = 1· 8 + 5 8 = 1· 5 + 3 5 = 1· 3 + 2 3 = 1· 2 + 1 2 = 2· 1 45 ONLINE Benötigte Darstellung: 13 · d + k · 60 = 1 Erweiterter Euklidischer Algorithmus Aufgabe 6a: Sicherheit des RSA-Verfahrens 60 = 4·13 + 8 13 = 1· 8 + 5 8 = 1· 5 + 3 5 = 1· 3 + 2 3 = 1· 2 + 1 2 = 2· 1 1 = 3 - 1·2 = 3 – 1·(5 - 1·3) = 3 – 1·5 + 1·3 = 2·3 – 1·5 = 2·(8 – 1·5) – 1·5 = 2·8 – 2·5 – 1·5 = 2·8 - 3·5 = 2·8 – 3·(13 – 1·8) = 2·8 – 3·13 + 3·8 = 5·8 - 3·13 = 5·(60 – 4·13) – 3·13 = 5·60 – 20·13 – 3·13 = 5·60 - 23·13 46 ONLINE Benötigte Darstellung: 13 · d + k · 60 = 1 Erweiterter Euklidischer Algorithmus Aufgabe 6a: Sicherheit des RSA-Verfahrens ONLINE Benötigte Darstellung: 13 · d + k · 60 = 1 Ergebnis d. erw. Euklid. Alg.: 1 = 5 · 60 - 23 · 13 13 · (-23) + 5 · 60 = 1 -23 mod 60 ≡ 37 mod 60 Ergebnis: d = 37 Die Exponenten sind: e = 13, d = 37 Alice hat also folgendes Schlüsselpaar: •Public-Key: e = 13, n = 77 •Private Key: d = 37, p = 7, q = 11 47 Aufgabe 6a: Sicherheit des RSA-Verfahrens ONLINE Bob verschlüsselt eine Nachricht, z.B. m = 15, für Alice: y = m ^ c mod n = 15 ^ 13 mod 77 = 64 mod 77 Berechnung mit dem Square-and-Multiply-Algorithmus: links steht der Exponent, rechts die Basis; links ”Halbieren und Abrunden”, rechts: ”Quadrieren und ggf. Reduzieren”; am Ende: alle Zahlen aus der rechten Spalte aufmultiplizieren, wenn der Wert in der linken Spalte ungerade ist 13:2 6 3 1 15 152 = 225 mod 77 = 71 712 = 5041 mod 77 = 36 362 = 1296 mod 77 = 64 => y = 15 · 36 · 64 mod 77 = 34560 mod 77 = 64 48 Aufgabe 6a: Sicherheit des RSA-Verfahrens Alice kann Bobs Nachricht y wieder entschlüsseln m = y ^ d mod n = 64 ^ 37 mod 77 = 15 mod 77 Berechnung wie zuvor: 37 18 9 4 2 1 152 = 712 = 362 = 642 = 64 642 = 4096 mod 77 = 15 225 mod 77 = 71 5041 mod 77 = 36 1296 mod 77 = 64 4096 mod 77 = 15 => m = 64 · 71 · 15 mod 77 = 68160 mod 77 = 15 49 ONLINE