Rabin-Kryptosystem

asymmetrisches Kryptosystem
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 2. Juli 2004 um 15:43 Uhr durch Nd (Diskussion | Beiträge) (mathematik-lingo etwas allgemeinverständlicher, mod und \mod in formeln durch \bmod ersetzt). Sie kann sich erheblich von der aktuellen Version unterscheiden.

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

Datei:Verschlüsselung (asymmetrisches Kryptosystem).png
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

 
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