Das RSA-Verschlüsselungsverfahren ist ein weit verbreitetes asymmetrisches Kryptosystem, das für sichere Datenübertragungen verwendet wird.
p
und q
.n = p * q
, welches als Modulus für die Schlüssel dient.ϕ(n) = (p-1)(q-1)
.e
, die zu ϕ(n)
teilerfremd ist und kleiner als ϕ(n)
ist.d
, sodass e * d ≡ 1 (mod ϕ(n))
.(n, e)
.(n, d)
.m = 123
, indem Sie c = m^e mod n
berechnen. Verwenden Sie dafür den öffentlichen Schlüssel.c
, indem Sie m = c^d mod n
berechnen. Verwenden Sie dafür den privaten Schlüssel.m
übereinstimmt.Verwenden Sie CrypTools um die Schritte zu veranschaulichen: https://www.cryptool.org/en/cto/rsa-step-by-step
Um die Kongruenz a ≡ b (mod m)
zu berechnen, folgen Sie diesen Schritten:
a
durch m
, bezeichnet als a mod m
.b
durch m
, bezeichnet als b mod m
.a mod m
ist gleich b mod m
, dann gilt die Kongruenz a ≡ 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.
Die Sicherheit des RSA-Algorithmus basiert nicht auf der Schwierigkeit der Kongruenzberechnung, sondern auf dem Problem der Faktorisierung großer Zahlen.
p
und q
verwendet, um n = p × q
zu bilden. Der öffentliche Schlüssel enthält n
und einen Exponenten e
, während der private Schlüssel aus einem anderen Exponenten d
besteht.d
wird durch die Berechnung von e^{-1} mod φ(n)
ermittelt, wobei φ(n) = (p-1) × (q-1)
. Um φ(n)
zu berechnen, muss man n
faktorisieren.n
in ihre Primfaktoren p
und q
zu zerlegen. Für große Zahlen wird dies extrem schwierig und zeitaufwändig, selbst mit leistungsfähigen Computern.c = m^e mod n
für die Verschlüsselung und m = c^d mod n
fü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.