MICKEY Chiffre

Herkunft / Verwendung: MICKEY ist eine 2006 von Steve Babbage und Matthew Dodd entwickelte Stromchiffre mit einer Schlüssellänge von 80 bit (Version 2, entsprechend 10 Zeichen) bzw. 128 bit (entsprechend 16 Zeichen). Der Name ist eine Abkürzung und steht für Mutual Irregular Clocking KEYstream generator (MICKEY).

MICKEY 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.

MICKEY V2 mit 80 bit Schlüssellänge schaffte es bis in Phase 3 des Wettbewerbs und wurde auch als einer der sieben empfehlenswerten Algorithmen eingestuft. MICKEY ist für die Implementierung in Hardware optimiert. MICKEY ist für den kommerziellen und nicht-kommerziellen Gebrauch freigegeben.

Es sind bisher keine Schwächen in MICKEY 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 80 bit und einer Initialisierungsvektorlänge von 80 bit in der Version MICKEY v2 bzw. mit einer Schlüssellänge von 128 bit und einer Initialisierungsvektorlänge von 128 bit in der Version MICKEY-128 v2.

In der 80-bit-Version benutzt MICKEY einen Status von 200 bit, die sich in zwei Teile zu 100 Bit, R und S genannt, gliedern. R wird linear mittels der Funktion CLOCK_R fortgeschaltet, in welche zwei zusätzliche Bits, das R-Input und das R-Steuer-Bit einfließen. Jede Bit-Variable in R erhält dabei durch datenabhängige, nichtlineare Operationen einen neuen Wert. Der S-Teil wird durch die Funktion - wer hätte es gedacht - S_CLOCK fortgeschaltet, die sich hochgradig nichtlinear verhält und ebenfalls ein Inputbit und ein Steuerbit nutzt.

In der 128-bit-Version ist die Länge des Status entsprechend angepsst.

Die Funktionen generieren bei jeder Fortschaltung einen Schlüsselstrom, mit dem der Klartext XOR-verknüpft wird (darum auch die Umkehrbarkeit des Verfahrens, da XOR reziprok ist) werden beide Register herangezogen.

Beispiel

Klartext:BeispielklartextBeispielklartext (32 Bytes)
Schlüssel:Schokolade (10 Bytes, 80 bit)
IV:00000000 00000000 0000 (hex 10 Bytes, 80 bit)
Chiffrat (MICKEY v1):1B9E845D 6E1952DA 776D012C 1C8543EB 252579AA A8617FE6 CAA06B79 3D966B8C (hex)

Klartext:BeispielklartextBeispielklartext (32 Bytes)
Schlüssel:Schokoladentorte (16 Bytes, 128 bit)
IV:00000000 00000000 00000000 00000000 (hex 16 Bytes, 128 bit)
Chiffrat (MICKEY-128):1D3CD57D 9523CF06 E4C50AAC 1A5B35F8 181533F2 67701ECA 2C6AB2A0 10484428 (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. 311
Homepage des eSTREAM Projekts