Rabbit Chiffre
Kategorisierung: | Moderne binär-basierte Stromchiffre |
Herkunft / Verwendung: |
Rabbit ist eine 2003 von Martin Boesgaard, Mette Vesterager, Thomas Pedersen, Jesper Christiansen und Ove Scavenius (Cryptico A/S, Dänemark) entwickelte Stromchiffre mit einer Schlüssellänge von 128 bit (entsprechend 16 Zeichen). Rabbit (zu deutsch Hase) wurde entwickelt, um schneller zu sein, als damals existierende Verfahren. Dies soll sich wohl auch im Namen ausdrücken. Rabbit war Kandidat beim eStream Projekt des ECRYPT-Netzwerkes, einem Kryptowettbewerb, der von 2004 bis 2008 lief und das Ziel verfolgte, Vorschläge für neue Stromchiffren entgegenzunehmen, kryptologisch zu untersuchen und zu bewerten und so empfehlenswerte Verfahren zu finden. Das eStream Projekt lief über drei Phasen: Phase 1, die bis März 2006 lief, war eine allgemeine Beurteilung und Analyse der eingereichten 34 Kandidaten. Hier wurden offensichtliche Schwächen erkannt. Phase 2, im August 2006 gestartet, untersuchte die Kandidaten, die weitergekommen waren insbesondere auch auf Design und Performance und beinhaltete weitere Kryptoanalysen. Phase 3 schließlich, im April 2007 gestartet und im April 2008 beendet, verglich die übrigen 14 Kandidaten miteinander und kürte die besten als empfehlenswert: vier in der Kategorie Software-Implementierung und drei in der Kategorie Hardware-Implementierung. Rabbit schaffte es bis in Phase 3 des Wettbewerbs und wurde auch als einer der sieben empfehlenswerten Algorithmen eingestuft. Neben Salsa20 belegte Rabbit den ersten Platz bei den Software-Verfahren. Rabbit ist für die Implementierung in Software optimiert. Rabbit ist für kommerziellen und nicht-kommerziellen Gebrauch freigegeben. Es sind bisher keine Schwächen in Rabbit bekannt geworden, die einen Angriff ermöglichen, der effizienter als ein Brute-Force-Attack wäre. |
Beschreibung des Algorithmus
Der Algorithmus funktioniert mit einer Schlüssellänge von 128 bit und einer Initialisierungsvektorlänge von 64 bit.Pro Runde generiert Rabbit einen Schlüssel-Bitstrom von 128 bits. Die Verschlüsselungssicherheit beruht auf einer starken Vermischung der internen Status zwischen zwei Runden. Die Vermischungsfunktion funktioniert mit arithmetischen Operationen, die auf jedem modernen Prozessor vorhanden sind. Es kommen XOR-Verknüpfungen, bitweise Rotationen und Shiftungen und Modulo-Operationen zum Einsatz. Eine "g" genannte Funktion potenziert eine 32-bit-Zahl zu einer 64-bit-Zahl und kombiniert dann die linke mit der rechten Hälfte mit XOR, um einen durchmischten 32-bit-Inhalt zu generieren.
Beispiel
Klartext: | BeispielklartextBeispielklartext (32 Bytes) |
Schlüssel: | Schokoladentorte (16 Bytes, 128 bit) |
IV: | 00000000 00000000 (hex 8 Bytes, 64 bit) |
Chiffrat: | 3F44D194 A32F9952 A4A7C5E3 375664CC 28598D4C 9061B6FB 79A50D3F 549AB144 (hex) |
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.Einen eventuell zu berücksichtigen Initialisierungsvektor (IV) können Sie, durch Komma getrennt, nach dem Schlüssel angeben.
Quellen, Literaturverweise und weiterführende Links
Schmeh, Klaus: Kryptografie: Verfahren - Protokolle - Infrastrukturen, dpunkt Verlag, 5. Auflage 2013, iX-Edition, S. 300Homepage des eSTREAM Projekts

Jean-Philippe Aumasson: On a bias of Rabbit
