RC2 Chiffre

Kategorisierung:Moderne binär-basierte Blockchiffre
Herkunft / Verwendung: RC2 ist eine symmetrische Blockchiffre, die 1987 von Ronald Rivest als möglicher Ersatz für DES entwickelt wurde. RC steht für Rivest Cipher oder Ron’s Code. RC2 benutzt eine Schlüssellänge von 40 bis 128 bit (4 bis 16 Bytes).

Die Entwicklung von RC2 wurde von Lotus gesponsert, welche nach einer kundenspezifischen Chiffre suchten. Nachdem diese von der NSA evaluiert wurde (es wurden 24 der 64 Schlüsselbits bei der NSA hinterlegt), konnte sie als Teil der Software Lotus Notes außerhalb der Vereinigten Staaten exportiert werden. Die NSA schlug viele Änderungen am Algorithmus vor, die von Ronald Rivest eingearbeitet wurden und RC2 schließlich für den Export freigegeben wurde. Bis 1996 blieb der Algorithmus geheim, bis jemand anonym in einer Usenet-Gruppe die RC2-Spzifikation veröffentlichte. Kurz darauf veröffentlichte die RSA Data Security, für die Rivest arbeitete, RC2 auch offiziell und legal und machte sie zu einem der wählbaren Verschlüsselungsverfahren des S/MIME-Standards für e-mail-Anhänge.

RC2 benutzt eine Blocklänge von 8 Bytes, das heißt, dass ein Chiffrat 7 Zeichen länger werden kann als der ursprüngliche Klartext. Es empfiehlt sich, als Schlüssel den Hash eines Klartextpasswortes zzgl. eines (wenn gewünscht gehashten) Salts zu benutzen.

RC2 ist verwundbar gegenüber einem Angriff mit verwandtem Schlüssel, welcher 234 Klartextblöcke benötigt. Diese Analyse wurde von John Kelsey 1997 durchgeführt.

Beschreibung des Algorithmus

Der RC2-Algorithmus benutzt einen Schlüssel variabler Länge zwischen 40 und 128 Bit (5 bis 16 Bytes). Daraus wird eine schlüsselabhängige Tabelle mit 1024 bit (128 Byte) Größe berechnet. In 18 Runden erfolgt die Verschlüsselung über ein Feistel-Netzwerk, 16 davon sind vom Typ Mixing, 2 weitere vom Typ Mashing.

Beispiel

Klartext:BeispielklartextBeispielklartext (32 Bytes, 4 Blöcke)
Schlüssel:Schokoladentorte (16 Zeichen, 128 bit)
Chiffrat CBC:0969F22A6E5BF1952A973B9861AEF3CF9A78FE1D64A4C9D5B3B1739E3538667E (hex)
Chiffrat ECB:0969F22A6E5BF195E788759E876521AF0969F22A6E5BF195E788759E876521AF (hex)

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

Die Länge des Textes sollte durch 8 (=Blocklänge) teilbar sein. Kürze Texte werden mit Nullbytes rechts aufgefüllt. Die Länge des Ergebnisses ist immer durch 8 teilbar und damit ggf. bis zu 7 Bytes länger als der Klartext.
Der Schlüssel sollte zwischen 5 und 16 Zeichen lang sein, besser noch ein binärer Hash mit 128 Bit. Zu lange Schlüssel werden auf 16 Bytes gekürzt.
Den optionalen Initialisierungsvektor (IV) mit 8 Byte Länge geben Sie durch Komma getrennt als 2. Angabe im Schlüsselfeld an. Kürzere IV werden mit Nullen rechts aufgefüllt, längere auf richtige Länge gekürzt.
Wenn Sie Texte eingeben, die nicht als Hex-Sequenz (ohne Leerzeichen) interpretiert werden können, erfolgt eine automatische Umsetzung in eine Hex-Sequenz buw. Binärdaten. Ist das Ergebnis nicht umsetzbar in druckbare ASCII-Zeichen, erfolgt eine automatische Ausgabe in Hex.




Quellen, Literaturverweise und weiterführende Links

Schmeh, Klaus: Kryptografie: Verfahren - Protokolle - Infrastrukturen, dpunkt Verlag, 5. Auflage 2013, iX-Edition, S. 114