RSA Chiffre

Kategorisierung:Moderne asymmetrische Chiffre
Herkunft / Verwendung: Die RSA Chiffre ist nach ihren Entwicklern Ronald Rivest, Adi Shamir und Leonard Adleman benannt und ist ein asymmetrisches kryptographisches Verfahren, das sowohl zum Verschlüsseln als auch zum digitalen Signieren verwendet werden kann.

Es verwendet ein Schlüsselpaar, bestehend aus einem privaten Schlüssel, der zum Entschlüsseln oder Signieren von Daten verwendet wird, und einem öffentlichen Schlüssel, mit dem man verschlüsselt oder Signaturen prüft. Der private Schlüssel wird geheim gehalten und kann nur mit extrem hohem Aufwand aus dem öffentlichen Schlüssel berechnet werden.

Nachdem Whitfield Diffie und Martin Hellman eine Theorie zur Public-Key-Kryptografie veröffentlicht hatten, versuchten die drei Mathematiker Rivest, Shamir und Adleman am MIT, die Annahmen von Diffie und Hellman zu widerlegen. Nachdem sie den Beweis bei verschiedenen Verfahren durchführen konnten, stießen sie schließlich auf eines, bei dem sie keinerlei Angriffspunkte fanden. Hieraus entstand 1977 RSA, das erste veröffentlichte asymmetrische Verschlüsselungsverfahren.

Beschreibung RSA Algorithmus

Die Verschlüsselung und die Signatur mit RSA basiert auf einer Einwegfunktion mit Falltür (engl. trapdoor one-way permutation, kurz TOWP). Die Einwegeigenschaft ist der Grund, warum die Entschlüsselung (bzw. das Signieren) ohne den geheimen Schlüssel (die Falltür) schwierig ist.

Während es einfach und schnell ist, zwei Primzahlen zu multiplizieren, ist es schwierig und sehr zeitaufwendig aus dem Produkt durch Primfaktorenzerlegung die Faktoren zu berechnen.

Der öffentliche Schlüssel (public key) ist ein Zahlenpaar (e, N) und der private Schlüssel (private key) ist ebenfalls ein Zahlenpaar (d, N), wobei N bei beiden Schlüsseln gleich ist. Man nennt N den RSA-Modul, e den Verschlüsselungsexponenten und d den Entschlüsselungsexponenten. Diese Zahlen werden durch das folgende Verfahren erzeugt: Die Zahlen p, q und φ(N) werden nicht mehr benötigt und können nach der Schlüsselerstellung gelöscht werden. Es ist jedoch relativ einfach, diese Werte aus e, d und N zu rekonstruieren. Aus Effizienzgründen wird e klein gewählt, üblich ist die 4. Fermat-Zahl 216+1 = 65537. Kleinere Werte von e können zu Angriffsmöglichkeiten führen. Bei Wahl eines d mit weniger als einem Viertel der Bits des RSA-Moduls kann d – sofern nicht bestimmte Zusatzbedingungen erfüllt sind – mit einem auf Kettenbrüchen aufbauenden Verfahren effizient ermittelt werden.

Beispiel: Um eine Nachricht m zu verschlüsseln, verwendet der Absender die Formel c ≡ me (mod N) und erhält so aus der Nachricht m den Geheimtext c. Die Zahl m muss dabei kleiner sein als der RSA-Modul N.

Der Geheimtext c kann durch modulare Exponentiation wieder zum Klartext m entschlüsselt werden. Der Empfänger benutzt die Formel m ≡ cd (mod N) mit dem nur ihm bekannten Wert d sowie N.

Beispiel

Klartext:___in_Bearbeitung___
Schlüssel:___in_Bearbeitung___
Chiffrat:___in_Bearbeitung___
___in_Bearbeitung___

Code / Chiffre online dekodieren / entschlüsseln bzw. kodieren / verschlüsseln (DeCoder / Encoder / Solver-Tool)

___in_Bearbeitung___