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 |
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:
(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.) |
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?