Security im Überblick (Teil 2)

Kryptologische Verfahren

RC-4

RC-4 wurde 1987 von dem bekannten Kryptographen Ron Rivest entwickelt. Das Kürzel RC steht für Rivest Cipher. Es handelt sich um ein einfaches und schnelles Stromverschlüsselungsverfahren, das auf der schon beschriebenen XOR-Verknüpfung basiert. Da sich der Algorithmus sehr gut zur Implementation in Software eignet, kam RC-4 schon bald in zahlreichen kommerziellen Produkten zum Einsatz, darunter Lotus Notes, Oracle Secure SQL und Netscape Navigator.

Die Stärke des Algorithmus besteht darin, dass mit einem sehr einfachen Verfahren aus dem eingegebenen Schlüssel S ein langer, pseudo-zufälliger interner Schlüssel P erzeugt wird. Diesen nutzt RC-4 dann zur Chiffrierung des Klartexts. Besteht der Schlüssel S aus n Bytes von S(0) bis S(n-1), dann initialisiert man:

i, j = 0
P[k] = k mit k=0,...,256

und berechnet 256 Mal:

j = j+P[i]+S[i] mod 256
vertausche P[i] und P[j]
i = i+1 mod n

Das zur Ver- respektive Entschlüsselung des Nachrichten-Bytes i notwendige Schlüssel-Byte K[i] berechnet sich nach der Vorschrift:

i = i+1 mod 256
j = j+P[i] mod 256
vertausche P[i] und P[j]
t = P[i]+P[j] mod 256
K[i] = P[t]

Über die Variablen i und j sowie die Permutation P speichert RC-4 also 258 verschiedene Zustandsinformationen. 256 der Bytes sind Permutationen von 0, ...,255 und somit gleich verteilt.