Trivium Chiffre

Herkunft / Verwendung: Trivium ist eine 2005 von den Belgiern Christophe De Cannière und Bart Preneel entwickelte Stromchiffre mit einer Schlüssellänge von 80 bit (entsprechend 10 Zeichen). Der Name leitet sich vom lateinischen Trivium (Kreuzung dreier Wege) ab, denn Trivium arbeitet nach einem Algorithmus, bei dem sich drei Funktionswege in einem Zentrum treffen.

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

Trivium mit 80 bit Schlüssellänge schaffte es bis in Phase 3 des Wettbewerbs und wurde auch als einer der sieben empfehlenswerten Algorithmen eingestuft. Er erhielt die beste Bewertung in seiner Gruppe (Hardware). Trivium ist für die Implementierung in Hardware optimiert. Trivium ist für den kommerziellen und nicht-kommerziellen Gebrauch freigegeben.

Es sind nur wenig Schwächen in Trivium bekannt geworden, darunter keine die einen Angriff ermöglichen würde, 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.

Trivium nutzt einen internen Status von 288 bit. Pro Iteration wird lediglich 1 bit Schlüsselstrom generiert. Die Fortschaltung des Algorithmus folgt einem einfachen Schema, bei dem 15 bits in logischen Operation eingehen, aus denen die Variablen T1 bis T3 errechnet werden, die an bestimmte Positionen des Status geschrieben werden. Dann wird der Status, bis auf wenige Ausnahmen, nach rechts verschoben (geshiftet). Danach wird das Keystream-Bit durch ein XOR von 6 bestimmten Bits errechnet: ist die Anzahl der Einsen im Ergebnis ungerade, dann ist das Ergebnis 1, ansonsten 0.

Beispiel

Klartext:BeispielklartextBeispielklartext (32 Bytes)
Schlüssel:Schokolade (10 Bytes, 80 bit)
IV:00000000 00000000 0000 (hex 10 Bytes, 80 bit)
Chiffrat (Trivium v1):B4573793 3ED12768 C1CBCBBE D753BF8C 612541E5 F02934B6 1A90C3AE 3A139467 (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. 307
Homepage des eSTREAM Projekts
Michael Vielhaber: Breaking ONE.FIVIUM by AIDA an Algebraic IV Differential Attack
Wikipedia: Cube Attack
Alexander Maximov und Alex Biryukov: Two Trivial Attacks on Trivium