Twofish
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 | |
---|---|
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
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.
Lizenz
Twofish ist nicht patentiert und wurde unter Public-Domain veröffentlicht. Es steht damit jedem zur Nutzung frei zur Verfügung.
Beispielanwendungen
Der Twofish-Algorithmus wird unter anderem von folgenden Open-Source-Softwarepaketen implementiert:
- FreeOTFE – Festplattenverschlüsselung
- GNU Privacy Guard – Verschlüsseln und Signieren von Dateien und E-Mails
- TrueCrypt – Festplattenverschlüsselung, Verschlüsselung von Partitionen und von Containerdateien
- VeraCrypt – Festplattenverschlüsselung, Verschlüsselung von Partitionen und von Containerdateien
- KeePass – Passwortmanager
- CrossCrypt – Festplattenverschlüsselung
- DiskCryptor – Festplattenverschlüsselung
- dm-crypt – Festplattenverschlüsselung
Kryptoanalyse
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
- Shiho Moriai, Yiqun Lisa Yin: Cryptanalysis of Twofish (II). (PDF; 217 kB) 2000, abgerufen am 13. August 2006 (englisch).
- Bruce Schneier: Twofish Cryptanalysis Rumors. Schneier on Security blog, 23. November 2005, abgerufen am 22. Juni 2011.