Das RSA-Verfahren

zurück Inhalt weiter

Beim RSA-Verfahren sind bis heute keine ernsthaften Schwachstellen bekannt. Da es unendlich viele Primzahlen gibt, lassen sich beliebig viele Schlüssel (-paare) erzeugen. Obwohl die Algorithmen für eine Durchführung im Kopf und auf Papier viel zu komplex sind, bietet ihre Implementierung im Rechner keine Schwierigkeiten. Selbst in sog. Chip-Karten (die allerdings keine Chips, sondern lediglich kleine integrierte Schaltkreise enthalten) lassen sie sich leicht realisieren.

F. L. Bauer präsentiert in seinem Buch "Kryptologie" das folgende Beispiel:
N = 2773 = 47 * 59
d = 157, e = 17
Beispieldaten: In jeder Zahl wurden mit dem Schlüssel 17 zwei Buchstaben chiffriert, nach dem Code A=1, B=2, ... Z=26; sie lassen sich mit dem Schlüssel 157 dechiffrieren:
1787 2003 2423 0596 0340 1684 0340 0508 2109


Leider kann Ihr Browser keine Applets darstellen.
Das Eingabefeld des obenstehenden Applets kann entweder eine Folge von Dezimalzahlen (durch Leerzeichen getrennt) oder eine Folge von Buchstaben (ASCII) verarbeiten. Geben Sie für N den Wert p*q und für "c/d" den Schlüssel ein. Das Ergebnis wird in drei Formen dargestellt:
  • als Folge von Dezimalzahlen
  • als Buchstabenfolge im Code A=1, B=2, ... (für das Bauer-Beispiel)
  • als Zeichenfolge im ASCII-Code
Nicht darstellbare Zeichen werden als Striche ("_") angezeigt.
(Sie können Daten aus dem Beispiel mit der Maus selektieren und dann mit "Kopieren und Einfügen" in den Chiffrierer bringen, anstatt sie abzutippen.)

Sie können das Verfahren überprüfen, indem sie mit dem öffentlichen Bauer-Schlüssel "17" einen beliebigen Text chiffrieren, das Ergebnis (in Dezimalzahlen) wieder ins Eingabefeld kopieren und mit dem "geheimen" Bauer-Schlüssel "157" wieder dechiffrieren.

Im Beispiel wurden immer zwei Buchstaben auf einmal chiffriert, was wegen 26*26 = 676 < 2773 möglich war. In der Praxis wird man viel größere N verwenden und mehr Zeichen auf einmal kodieren. Das gebietet nicht nur die Sparsamkeit; welchen weiteren Grund gibt es, möglichst lange Blöcke von Zeichen zusammen zu chriffrieren? weiter