Das Rabin-Kryptosystem ist innerhalb der Kryptologie ein asymmetrisches Kryptosystem, das auf einem Faktorisierungsproblem beruht und mit RSA verwandt ist. Es lässt sich prinzipiell auch zur Signatur verwenden. In der Praxis findet das Verfahren allerdings wegen bestimmter Angriffsmöglichkeiten kaum Anwendung.
Geschichte
Das Verfahren entstand Mitte der 1970er Jahre. Entwickelt wurde es von Michael Rabin. Das Rabin-Kryptosystem war das erste asymmetrische Kryptosystem, dessen Sicherheit auf mathematischem Weg bewiesen werden konnte.
Schlüsselerzeugung
Wie alle asymmetrischen Kryptosysteme verwendet auch das Rabin-Kryptosystem einen öffentlichen und einen geheimen Schlüssel. Der öffentliche dient später der Verschlüsselung und kann veröffentlicht werden, während der geheime nur den Empfängern der Nachricht bekannt sein darf.
Es folgt nun eine genaue mathematische Beschreibung der Schlüsselerzeugung:
Seien und zwei möglichst große Primzahlen, häufig kurz als geschrieben, für die eine bestimmte Kongruenzbedingung gelten muss (s. unten). Der öffentliche Schlüssel wird durch Multiplikation der beiden Zahlen, also . Der geheime Schlüssel ist das Paar . Anders ausgedrückt: Wer nur kennt, kann ver- aber nicht entschlüsseln, wer dagegen und kennt, kann damit auch entschlüsseln. Zum Erzeugen des öffentlichen Schlüssels müssen die Zahlen und müssen bekannt sein: Der öffentliche Schlüssel lässt sich nur genau aus den beiden Primzahlen erzeugen.
Seien beispielhaft , (in der praktischen Anwendung handelt es sich um sehr viel größere Zahlen, um die Entschlüsselung durch Dritte so schwierig wie möglich zu machen). Daraus ergibt sich der öffentliche Schlüssel .
Kongruenzbedingung
Um später schnell entschlüsseln zu können, wird im Rabin-Kryptosystem eine bestimmte Kongruenzbedingung ausgenutzt. Nachfolgend wird sie beschrieben:
Für und muss die Kongruenzbedingung:
- (siehe auch Legendre-Symbol)
beziehungsweise
gelten. In der Formel steht Fehler beim Parsen (Konvertierungsfehler. Der Server („/media/api/rest_“) hat berichtet: „Cannot get mml. TeX parse error: Extra close brace or missing open brace“): {\displaystyle \mod } für den Modulo-Operator. Für eine eine Erläuterung solcher Kongruenzbedingungen siehe Modulo. Die beiden Bedingungen sind gleichwertig, da und beziehungsweise äquivalent sind.
Allgemein gilt nämlich für mit und mit :
- (Beweis).
Diese Eigenschaft dient dazu, später die Entschlüsselung zu erleichtern.
Wegen ist die Kongruenzbedingung für das Beispiel erfüllt.
Verschlüsselung
Nebenstehende Abbildung veranschaulicht die Verschlüsselung von Klartexten mit asymmetrischen Kryptosystemen wie dem in diesem Artikel beschriebenen. Ein Klartext wird in einen Geheimtext unter Verwendung eines öffentlichen Schlüssels verwandelt.
Für das Rabin-Kryptosystem wird nachfolgend dieser Prozess auf mathematischem Weg präzisiert:
Sei nun der Klartextraum (er besteht also aus Zahlen) und der Klartext. Nun lässt sich der Geheimtext durch
bestimmen. Dabei ist c der Quadratische Rest von zu der Quadratzahl m2 zum Modulo der Schlüssel-Zahl n. Im praktischen Einsatz bietet sich die Verwendung von Blockchiffre an.
In unserem Beispiel sei der Klartextraum, der Klartext. Der Geheimtext ist hierbei nun .
Dabei muss man beachten, dass für genau vier verschiedene das den Wert 15 aufweist, nämlich für . Ähnliches gilt für die meisten .
Entschlüsselung
Auch die Entschlüsselung in asymmetrischen Kryptosystemen im Allgemeinen und im Rabin-Kryptosystem im Speziellen ist nebenstehend in einer Abbildung dargestellt. Der zuvor durch Verschlüsselung entstandene Geheimtext wird unter Verwendung des geheimen Schlüssels wieder in den Klartext gewandelt.
Das genaue mathematische Vorgehen wird nun beschrieben:
Seien allgemein und bekannt, gesucht wird mit . Für zusammengesetzte (beispielsweise unsere ) existiert kein effizientes Verfahren zur Bestimmung von . Ansonsten, wenn also (in unserem Fall und ), dann lässt sich jedoch der chinesische Restsatz ausnutzen.
In unserem Fall sind nun die Quadratwurzeln
und
gesucht.
Wegen obiger Kongruenzbedingung gilt:
und
- .
In unserem Beispiel ergeben sich und .
Mit dem erweiterten euklidischen Algorithmus werden nun und , mit , bestimmt. In unserem Beispiel erhalten wir und .
Nun werden unter Ausnutzung des chinesischen Restsatzes die vier Quadratwurzeln , , und von berechnet ( steht hierbei wie üblich für die Menge der Restklassen modulo ; die vier Quadratwurzeln liegen in der Menge ):
- ,
und
- , .
Eine dieser Quadratwurzeln ist wieder der anfängliche Klartext . Im Beispiel gilt .
Bewertung
Effektivität
Die Entschlüsselung liefert zusätzlich zum Klartext drei weitere Ergebnisse, das richtige Ergebnis muss daher erraten werden. Dies ist der große Nachteil des Rabin-Kryptosystems.
Man kann aber Klartexte mir spezieller Struktur wählen. Hierdurch geht jedoch die Äquivalenz zum Faktorisierungsproblem verloren, wie sich zeigen lässt. Das System wird dadurch also geschwächt.
Effizienz
Bei der Verschlüsselung muss eine Quadrierung durchgeführt werden. Das ist effizienter als RSA mit dem Exponenten 3.
Die Entschlüsselung erfordert die Anwendung des chinesischen Restsatzes und je eine modulare Exponenziation und . Die Effizienz der Entschlüsselung ist mit RSA vergleichbar.
Sicherheit
Der große Vorteil des Rabin-Kryptosystems ist, dass man es nur dann brechen kann, wenn man das beschriebene Faktorisierungsproblem effizient lösen kann.
Anders als etwa bei RSA lässt sich zeigen, dass das Rabin-Kryptosystem genauso schwer zu brechen ist wie das Faktorisierungsproblem, auf dem es beruht. Es ist somit sicherer. Wer also das Rabin-Verfahren brechen kann, der kann auch das Faktorisierungsproblem lösen und umgekehrt. Es gilt daher als sicheres Verfahren, solange das Faktorisierungsproblem ungelöst ist. Vorausgesetzt ist dabei wie bereits beschrieben aber, dass die Klartexte keine bestimmte Struktur aufweisen.
Da man auch außerhalb der Kryptologie bemüht ist Faktorisierungsprobleme zu lösen, würde sich eine Lösung rasch in der Fachwelt verbreiten. Doch das ist bislang nicht geschehen. Man kann also davon ausgehen, dass das zugrundeliegende Faktorisierungsproblem derzeit unlösbar ist. Ein Angreifer, der nur belauscht, wir daher derzeit nicht in der Lage sein, das System zu brechen.
Ein aktiver Angreifer aber kann das System mit einem Angriff mit frei wählbarem Geheimtext (englisch chosen-ciphertext attack) brechen, wie sich mathematisch zeigen lässt. Aus diesem Grund findet das Rabin-Kryptosystem in der Praxis kaum Anwendung.
Da bei der Kodierung nur die quadratischen Reste verwendet werden (im Beispiel sind das nur 23 der 76 möglichen Zustände) ist das Verfahren zusätzlich angreifbar.
Literatur
- Johannes Buchmann: Einführung in die Kryptographie, 2., erweiterte Auflage. Springer, Berlin u. a. 2001 ISBN 3540412832 (S. 125 ff.)
- Michael O. Rabin: Digitalized Signatures and Public-Key Functions as Intractable as Factorization. MIT-LCS-TR 212, MIT Laboratory for Computer Science, Januar 1979 (englischer Originalaufsatz)