Aufgabe 1: Grundlagen RSA - Rechenweg ist obligatorisch!
★ ★ ★ ★ ☆
(a) Wähle zufällig zwei große Primzahlen p und q und berechne N = p * q.
(b) Berechne die Eulersche Funktion von N: Phi(N) = (p-1) * (q-1).
(c) Wähle zufällig eine Zahl e, welche zu phi(N) teilerfremd sein muss.
(d) Berechne d > 0, sodass gilt: (d * e) mod phi(N) = 1.
(e) Verschlüssele den Buchstaben J (ASCII-Code: 74) mit N = 187, e = 7.
(f) Entschlüssele die soeben verschlüsselte Nachricht.
(g) Erstelle eine Excel-Tabelle, die den "Erweiterten Euklidischen Algorithmus" automatisiert berechnet!
Aufgabe 2: RSA-Verschlüsselung
★ ★ ★ ★ ☆
(a) Beschreiben Sie, wie die Verschlüsselung mit einem privaten und einem öffentlichen Schlüssel funktioniert.
(b) Erklären Sie, weshalb man eine Nachricht bei der RSA-Verschlüsselung in Blöcke unterteilen muss, die einzeln verschlüsselt werden.
(c) Weisen Sie nach, dass die Bedingung (d * e) mod ((p − 1)(q − 1)) = 1 für N = 187, e = 7 und d = 23 erfüllt ist!
Aufgabe 3: Öffentlicher und privater Schlüssel
★ ★ ★ ★ ☆
(a) Gegeben sind der öffentliche Schlüssel (e=23, N=77) und der private Schlüssel (d=47). Verschlüssele die Nachricht "5", welches Ergebnis ergibt sich?
(b) Sie erhalten die mit dem öffentlichen Schlüssel verschlüsselte Zahl 11. Wie war die ursprüngliche Nachricht?
(c) Sie erhalten eine Nachricht mit der Zahl „3“, die zusätzlich mit der digitalen Signatur des Absenders ausgestattet wurde. Die Signatur lautet „12“. Kommt die Nachricht von dem richtigen Absender?
(d) Sie erhalten eine weitere Nachricht mit der Zahl „4“ und der Signatur „15“. Wie sieht es in diesem Fall mit der Authentizität des Absenders aus?
(e) Wir nehmen an, Sie kennen den privaten Schlüssel nicht und wollen diesen berechnen, um alle Nachrichten mitlesen zu können. Dazu benötigen Sie die Primzahlen p und q, die Sie durch die Zerlegung von N erhalten können. Wie lauten die verwendeten Primzahlen?
Aufgabe 4: RSA-Grundlagen
★ ★ ★ ★ ☆
(a) Gegeben sind der öffentliche Schlüssel (e=23, N=77) und der private Schlüssel (d=47). Auf welchem Problem basiert RSA und warum gilt es als sicher?
(b) Wie findet man die Zahl d im RSA-Verfahren?
(c) Was berechnet der erweiterte Euklidische Algorithmus allgemein?