Dies ist eine alte Version des Dokuments!
LU05.A06 - Cäsar-Verschlüsselung programmieren
Lernziele
- ???
 
Rahmenbedingungen
- Zeitbudget: 45 Minuten
 - Sozialform: Einzelarbeit
 - Hilfsmittel: Taschenrechner oder Computer mit Zugriff auf eine Programmierumgebung
 - Erwartetes Ergebnis: Ausgefülltes Arbeitsblatt mit Ihren Berechnungen und Erklärungen
 
Ausgangslage
Das RSA-Verschlüsselungsverfahren ist ein weit verbreitetes asymmetrisches Kryptosystem, das für sichere Datenübertragungen verwendet wird.
Arbeitsauftrag
- Schlüsselgenerierung:
- Wählen Sie zwei unterschiedliche Primzahlen
pundq. - Berechnen Sie das Produkt
n = p * q, welches als Modulus für die Schlüssel dient. - Ermitteln Sie die totient Funktion
ϕ(n) = (p-1)(q-1). - Wählen Sie eine ganze Zahl
e, die zuϕ(n)teilerfremd ist und kleiner alsϕ(n)ist. - Berechnen Sie den privaten Exponenten
d, sodasse * d ≡ 1 (mod ϕ(n)). 
 
- Öffentlicher Schlüssel (Public Key): Der öffentliche Schlüssel besteht aus dem Paar
(n, e). - Privater Schlüssel (Private Key): Der private Schlüssel besteht aus dem Paar
(n, d). 
- Verschlüsselung:
- Verschlüsseln Sie die Nachricht
m = 123, indem Siec = m^e mod nberechnen. Verwenden Sie dafür den öffentlichen Schlüssel. 
 
- Entschlüsselung:
- Entschlüsseln Sie den Chiffretext
c, indem Siem = c^d mod nberechnen. Verwenden Sie dafür den privaten Schlüssel. 
 
- Verifikation:
- Überprüfen Sie, dass der entschlüsselte Text mit der ursprünglichen Nachricht
mübereinstimmt. 
 
Verwenden eines Simulators
Verwenden Sie CrypTools um die Schritte zu veranschaulichen: https://www.cryptool.org/en/cto/rsa-step-by-step
Theorie: Berechnung von Kongruenzen
Um die Kongruenz a ≡ b (mod m) zu berechnen, folgen Sie diesen Schritten:
- Modulo-Operation durchführen:
- Berechnen Sie den Rest der Division von
adurchm, bezeichnet alsa mod m. - Berechnen Sie den Rest der Division von
bdurchm, bezeichnet alsb mod m. 
 
- Vergleich der Reste:
- Wenn die Reste gleich sind, d.h.,
a mod mist gleichb mod m, dann gilt die Kongruenza ≡ b (mod m). 
 
Beispiel:
- Um 17 ≡ x (mod 5) zu berechnen, bestimmen Sie den Rest von 17 geteilt durch 5. Da 17 mod 5 = 2, suchen Sie nach einem Wert von x, der ebenfalls einen Rest von 2 ergibt, wenn er durch 5 geteilt wird. Jede Zahl, die um ein Vielfaches von 5 plus 2 ist (z.B. 7, 12, 22, …), würde diese Bedingung erfüllen.
Theorie: Sicherheit des RSA-Algorithmus
Die Sicherheit des RSA-Algorithmus basiert nicht auf der Schwierigkeit der Kongruenzberechnung, sondern auf dem Problem der Faktorisierung großer Zahlen.
- Faktorisierungsproblem:
- Im RSA-Algorithmus wird das Produkt zweier großer Primzahlen
pundqverwendet, umn = p × qzu bilden. Der öffentliche Schlüssel enthältnund einen Exponentene, während der private Schlüssel aus einem anderen Exponentendbesteht. - Der private Schlüssel
dwird durch die Berechnung vone^{-1} mod φ(n)ermittelt, wobeiφ(n) = (p-1) × (q-1). Umφ(n)zu berechnen, muss mannfaktorisieren. - Das Problem der RSA-Sicherheit basiert auf der Schwierigkeit, eine große Zahl
nin ihre Primfaktorenpundqzu zerlegen. Für große Zahlen wird dies extrem schwierig und zeitaufwändig, selbst mit leistungsfähigen Computern. 
 
- Kongruenzberechnung im RSA:
- Die Kongruenzberechnung kommt ins Spiel, wenn Nachrichten verschlüsselt oder entschlüsselt werden (z.B.
c = m^e mod nfür die Verschlüsselung undm = c^d mod nfür die Entschlüsselung). Diese Operationen sind selbst für sehr große Zahlen effizient durchführbar. 
 
Zusammenfassend beruht die Sicherheit des RSA-Algorithmus auf der Schwierigkeit, große Zahlen zu faktorisieren, nicht auf der Schwierigkeit der Kongruenzberechnung. Die Komplexität und Sicherheit des RSA-Algorithmus erhöht sich mit der Länge der verwendeten Schlüssel.
