Twofish
In der Kryptographie ist Twofish eine symmetrische Schlüsselblockchiffre mit einer Blockgröße von 128 Bit und Schlüssellängen bis zu 256 Bit.
1997 schrieb das NIST einen Wettbewerb zur Wahl eines Nachfolgers von DES mit dem Namen AES aus. Twofish war einer der fünf Finalisten des Wettbewerbs um den Advanced Encryption Standard, wurde aber nicht als Standard ausgewählt.
Twofish ist mit der früheren Blockchiffre Blowfish verwandt. Die Hauptmerkmale von Twofish sind die Verwendung von vorberechneten schlüsselabhängigen S-Boxen und ein relativ komplexer Schlüsselplan. Die eine Hälfte eines n-Bit-Schlüssels wird als eigentlicher Verschlüsselungsschlüssel verwendet und die andere Hälfte des n-Bit-Schlüssels wird zur Modifizierung des Verschlüsselungsalgorithmus verwendet (schlüsselabhängige S-Boxen). Twofish verwendet einige Elemente aus anderen Entwürfen; zum Beispiel die Pseudo-Hadamard-Transformation (PHT) aus der SAFER-Chiffrierfamilie. Twofish verwendet die gleiche Feistel-Struktur wie das DES.
Auf den meisten Software-Plattformen ist Twofish etwas langsamer als Rijndael (der gewählte Algorithmus für Advanced Encryption Standard) für 128-Bit-Schlüssel, aber etwas schneller für 256-Bit-Schlüssel.
Twofish wurde von Bruce Schneier, John Kelsey, Doug Whiting, David Wagner, Chris Hall und Niels Ferguson entworfen; das "erweiterte Twofish-Team", das sich traf, um Twofish und andere AES-Konkurrenten, darunter Stefan Lucks, Tadayoshi Kohno und Mike Stay, weiter kryptografisch zu analysieren.
Der Twofish-Algorithmus kann von jedermann ohne jegliche Einschränkungen frei verwendet werden. Die Twofish-Chiffre wurde nicht patentiert, und das Software-Beispiel ihrer Spezifikation wurde der Öffentlichkeit zugänglich gemacht. Allerdings ist Twofish nicht so weit verbreitet wie der Blowfish, der schon seit längerer Zeit verfügbar ist.
Kryptoanalyse
Seit 2008 ist die beste veröffentlichte Kryptoanalyse zur Twofish-Blockchiffrierung eine verkürzte differentielle Kryptoanalyse der vollständigen 16-Runden-Version. In dem Papier wird behauptet, dass die Wahrscheinlichkeit von Angriffen mit abgeschnittenen Differentialen 2-57,3 pro Block beträgt und dass es etwa 251 ausgewählte Klartexte (Daten im Wert von 32 PiB) braucht, um ein gutes Paar abgeschnittener Differentiale zu finden.
Bruce Schneier antwortet in einem Blog-Eintrag aus dem Jahr 2005, dass dieses Papier keinen vollständigen kryptanalytischen Angriff darstellt, sondern nur einige hypothetische differentielle Merkmale: "Aber selbst aus theoretischer Sicht ist Twofish nicht einmal im Entferntesten gebrochen. Seit ihrer Veröffentlichung im Jahr 2000 gab es keine Erweiterungen dieser Ergebnisse".
Verwandte Seiten
- Kugelfisch (Chiffre)
- Erweiterter Verschlüsselungsstandard
- Datenverschlüsselungsstandard
Fragen und Antworten
F: Was ist Twofish?
A: Twofish ist eine symmetrische Blockchiffre mit einer Blockgröße von 128 Bit und Schlüssellängen von bis zu 256 Bit.
F: Wie ist Twofish mit der früheren Blockchiffre Blowfish verwandt?
A: Die Hauptmerkmale von Twofish sind die Verwendung von vorberechneten, schlüsselabhängigen S-Boxen und ein relativ komplexer Schlüsselplan. Die eine Hälfte eines n-Bit-Schlüssels wird als der eigentliche Verschlüsselungsschlüssel verwendet und die andere Hälfte des n-Bit-Schlüssels wird verwendet, um den Verschlüsselungsalgorithmus zu modifizieren (schlüsselabhängige S-Boxen).
F: Wurde Twofish als Advanced Encryption Standard ausgewählt?
A: Nein, 1997 hat das NIST einen Wettbewerb zur Auswahl eines Nachfolgers von DES ausgeschrieben, der als AES bekannt werden sollte, aber Twofish wurde nicht als Standard ausgewählt.
F: Welche Elemente verwendet Twofish aus anderen Designs?
A: Twofish verwendet einige Elemente aus anderen Verfahren, z.B. die Pseudo-Hadamard-Transformation (PHT) aus der SAFER-Familie von Chiffren.
F: Verwendet es die Feistel-Struktur wie DES?
A: Ja, es verwendet die Feistel-Struktur wie DES.
F: Ist es schneller als Rijndael für 128-Bit-Schlüssel?
A: Auf den meisten Softwareplattformen ist Twofish für 128-Bit-Schlüssel etwas langsamer als Rijndael.
F: Ist es bei 256-Bit-Schlüsseln schneller als Rijndael?
A: Bei 256-Bit-Schlüsseln ist Twofish etwas schneller als Rijndael.