RC4 Chiffre

Kategorisierung:Moderne binär-basierte Stromchiffre
Herkunft / Verwendung:RC4 (für 'Ron's Code 4') ist eine 1987 von Ronald L. Rivest entwickelte Stromverschlüsselung, die mit Standards wie HTTPS, SSH 1 und WEP bzw. WPA weite Verbreitung gefunden hat. Offiziell ist RC4 eine Marke von RSA Security und geheim. Bis eine 1994 eine anonyme Veröffentlichung erfolgte, die den Algorithmus ARC4 (Arcfour, Alleged RC4) nennt. Die Fachwelt war verblüfft ob der Einfachheit des Algorithmus. Die Firma RSA Data Security versuchte, durch rechtliche Schritte die Verbreitung des von ihr patentierte Verfahren durchzusetzen, aber vergeblich.

Mit RC4 können binäre Daten mit einem Schlüssel von bis zu 256 Bytes verschlüsselt werden. RC4 ist ein auf einer S-Box basierendes, symmetrisches Chiffrierverfahren. Die erneute Verschlüsselung eines Chiffrats mit demselben Passwort führt wieder zum Ursprungstext.

Aus heutige Sicht kann RC4 für wichtige Verschlüsselungsaufgaben nicht mehr als sicher genug betrachet werden. Seit Februar 2015 spricht sich die IETF mit RFC 7465 gegen den Einsatz in TLS aufgrund von Sicherheitsmängeln aus. Das liegt unter anderem daran, dass die ersten Bytes des Chiffrats von zu einem zu kleinen Teil des Schlüssels abhängig sind. So ist z. B. die Wahrscheinlichkeit, dass das zweite Byte der Zufallszahlenfolge Null beträgt doppelt so hoch wie bei einem perfekter Zufallszahlengenerator.

Beschreibung des Algorithmus

Eine Folge von pseudo-zufälligen Bits wird aus einem nur einmalig zu verwendenden Schlüssel erzeugt. Das wiederholte Verwenden eines Schlüssels für mehrere Nachrichten würde, ähnlich wie bei One Time Pad, das Verfahren gefährden. Der Klartext wird Bit für Bit per XOR mit der Zufallsfolge verknüpft, um die Daten zu verschlüsseln.

Für die Erzeugung der Zufallszahlen werden zwei je 16 * 16 Zellen große S-Boxen verwendet, deren Inhalt im ersten Schritt aus dem Schlüssel berechnet wird (Initialisierung). Bei jedem Berechnungsschritt werden zwei Werte der S-Boxen vertauscht und ein Schlüsselstrombyte errechnet, dass sich aus der Summe der S-Boxen Modulo 256 ergibt. Dieses Schlüsselstrombyte wird mit dem Klartextbyte per XOR verknüpft und ergibt so das Chiffratbyte.

Da der Schlüsselbytestrom bei gleichem Ausgangsschlüssel immer der selbe ist und die OR-Operation umkehrbar ist, reicht ein Algorithmus für das ver- und entschlüsseln.

Beispiel

Klartext:Beispielklartext (ASCII hex: 426569737069656c6b6c617274657874)
Schlüssel:Apfelstrudel (ASCII hex: 417066656c7374727564656c)
Chiffrat:A82346D822290F171DF27A6E97600740 (hex)
Chiffrieren: Apfelstrudel -> 41 70 66 65 6c 73 74 72 75 64 65 6c Ausgangsschlüssel -> EA 46 2F AB 52 40 6A 7B 76 9E 1B 1C E3 05 7F 34 erz. Schlüsselstrom Beispielklartext -> 42 65 69 73 70 69 65 6c 6b 6c 61 72 74 65 78 74 Klartext Chiffrat A8 23 46 D8 22 29 0F 17 1D F2 7A 6E 97 60 07 40 Chiffrat (Erg. XOR) Dechiffrieren: Apfelstrudel -> 41 70 66 65 6c 73 74 72 75 64 65 6c Ausgangsschlüssel -> EA 46 2F AB 52 40 6A 7B 76 9E 1B 1C E3 05 7F 34 erz. Schlüsselstrom Chiffrat -> A8 23 46 D8 22 29 0F 17 1D F2 7A 6E 97 60 07 40 Chiffretext Beispielklartext 42 65 69 73 70 69 65 6c 6b 6c 61 72 74 65 78 74 Klartext (Erg. XOR)

Code / Chiffre online dekodieren / entschlüsseln bzw. kodieren / verschlüsseln (DeCoder / Encoder / Solver-Tool)

Wenn Sie Texte eingeben, die nicht als Hex-Sequenz (ohne Leerzeichen) interpretiert werden können, erfolgt eine automatische Umsetzung in eine Hex-Sequenz. Ist Das Ergebnis umsetzbar in druckbare ASCII-Zeichen, erfolgt eine automatische Umsetzung von Hex.



Quellen, Literaturverweise und weiterführende Links

Schmeh, Klaus: Kryptografie: Verfahren - Protokolle - Infrastrukturen, dpunkt Verlag, 5. Auflage 2013, iX-Edition, S. 285
Kuhn, Nico: Das Buch der geheimen Verschlüsselungstechniken, Data Becker Verlag 2009, S. 91
Wobst, Reinhard: Abenteuer Kryptologie, Addison-Wesley-Verlag 2001, S. 237