Twofish

modernes Chiffrierverfahren

Twofish ist ein symmetrischer Verschlüsselungsalgorithmus in der Informatik, der von Bruce Schneier, Niels Ferguson, John Kelsey, Doug Whiting, David Wagner und Chris Hall entwickelt wurde. Es handelt sich um eine Blockchiffre mit einer Blockgröße von 128 Bit und 16 Runden, die Schlüssellängen betragen 128, 192 oder 256 Bit.

Twofish
Twofish
Twofish
Struktur von Twofish
Entwickler Bruce Schneier, Niels Ferguson, John Kelsey, Doug Whiting, David Wagner und Chris Hall
Veröffentlicht 1998
Zertifizierung Endrundenfinalist bei dem AES Auswahlverfahren.
Schlüssellänge 128, 192 und 256 Bit
Blockgröße 128 Bit
Struktur Feistelchiffre
Runden 16
Beste bekannte Kryptoanalyse
Mit Stand Mitte 2007 ist eine spezielle, limitierte differentielle Kryptoanalyse mit ungefähr

251 gewählten Klartexten bekannt.[1]

AES-Bewerbung

Bearbeiten

Twofish stellt den Nachfolger von Blowfish dar und stellte sich 1998/1999 dem Ausscheid zum Advanced Encryption Standard. Dort kam er zusammen mit den Algorithmen MARS, RC6, Rijndael und Serpent in die Runde der letzten fünf.

Bei Twofish wurden bezüglich seiner Sicherheit vor allem die Eigenschaften der Schlüssel-Teilung und seine Komplexität, die eine Sicherheitsanalyse beeinträchtigt, kritisiert. Andererseits stellt Twofish laut seinem Entwickler-Team gerade durch diese Schlüsselteilung (key-dependent S-boxes) eine Sicherheitsarchitektur gegen noch unbekannte Angriffe dar.

Twofish ist nicht patentiert und wurde unter Public-Domain veröffentlicht. Es steht damit jedem zur Nutzung frei zur Verfügung.

Beispielanwendungen

Bearbeiten

Der Twofish-Algorithmus wird unter anderem von folgenden Open-Source-Softwarepaketen implementiert:

Kryptoanalyse

Bearbeiten

Die bisher beste veröffentlichte Angriffsmöglichkeit in Form einer Distinguishing Attack ist nach Moriai & Yin die beschränkte differentielle Analyse. Das Dokument beschreibt, dass die Wahrscheinlichkeit für beschränkte Differentiale   pro Block beträgt und dass man annähernd   gewählte Klartexte (etwa 32 PiB Daten) benötigt, um ein brauchbares Paar von beschränkten Differentialen zu finden und dadurch das Chiffrat von einer Zufallszahlenfolge unterscheiden zu können.[1]

Bruce Schneier antwortete 2005 in einem Blog-Beitrag, dass das Dokument keine vollständige Kryptoanalyse präsentiert, sondern nur einige charakteristische Hypothesen der differentiellen Analyse. Dies würde aus praktischer Sicht bedeuten, dass Twofish nicht im Entferntesten gebrochen werden konnte. Die Autoren der 2000 veröffentlichten Analyse haben seither keine neuen Erkenntnisse veröffentlicht.[2]

Einzelnachweise

Bearbeiten
  1. a b Shiho Moriai, Yiqun Lisa Yin: Cryptanalysis of Twofish (II). (PDF; 217 kB) 2000, abgerufen am 13. August 2006 (englisch).
  2. Bruce Schneier: Twofish Cryptanalysis Rumors. Schneier on Security blog, 23. November 2005, abgerufen am 22. Juni 2011.
Bearbeiten