RSA wurde 1977 von Ron Rivest, Adi Shamir und Leonard Adleman entwickelt. Das Verfahren verwendet große Primzahlen; seine Sicherheit basiert auf der Schwierigkeit, große Zahlen zu faktorisieren. Dieser Algorithmus benutzt die Modulo-Funktion. Die RSA-Verschlüsselung mit 1024 Bit Schlüssellänge gilt zurzeit als sicher. Allerdings wenn man einen neuen, schnellen mathematischen Algorithmus zur Faktorisierung erfinden würde, dann wäre RSA nicht mehr so sicher. Auch die Entwicklungen im Quantenrechnerbereich können dazu führen, dass die RSA-Verschlüsselung nicht mehr als "sehr sicher" eingestuft wird. |
Die Schlüsselerzeugung
mit RSA-Algorithmus könnte man wie
folgt darstellen: |
Die Punkte "I"
bis "III" sind recht harmlos, hier werden lediglich einige Zahlen
festgelegt. Gleiches gilt für die Punkte "V" und "VI".
|
So z.B. a = (-1). In
diesem Falle erhalten wir: 1 = 280 * (-1) + (9 * d). Durch Umstellen (zuerst
+ (280 * 1), dann durch 9 teilen) erhalten wir 31,222..., dies ist keine
ganze Zahl, somit ist a = (-1) nicht unsere Lösung. Also: a = (-2).
d = 62,333... - wieder nichts. Also, a = (-3), dann (-4), (-5), ..., (-8),
(-9) doch halt! a = (-8). |
Der RSA-Algorithmus
ist ausführlich im Buch "Angewandte Kryptographie" von
"Wolfgang Ertel" beschrieben. |
Verschlüsselung und Entschlüsselung |
Eine Nachricht M muss
hier in Zahlen umgewandelt werden, es können nämlich nur Zahlen
verschlüsselt werden. |
A wird zu 65 ASCII und damit zu: |
Aus eben jenen Primzahlen kann jedoch der geheime Schlüssel, der dem Entschlüsseln einer Nachricht dient, leicht berechnet werden. Anders formuliert, wenn es einfach wäre, von 319 auf unsere beiden Primzahlen zu schließen, dann wäre dieses Verfahren wertlos. |