CyberGlossary

Kryptografie

Twofish

Definition

Symmetrische 128-Bit-Blockchiffre mit 128/192/256-Bit-Schlüsseln von Schneier u. a., AES-Finalist; sicher, aber selten genutzt, da AES Standard wurde.

Twofish ist eine 16-rundige Blockchiffre im Feistel-Stil mit 128-Bit-Blöcken und 128-, 192- oder 256-Bit-Schlüsseln, entwickelt von Bruce Schneier, Niels Ferguson, John Kelsey, Doug Whiting, David Wagner und Chris Hall. Sie war einer der fünf AES-Finalisten (1997–2000) und nutzt schlüsselabhängige S-Boxen, eine Pseudo-Hadamard-Transformation und einen komplexen Schlüsselplan. Twofish ist patent- und lizenzfrei und gilt weiterhin als ungebrochen, verlor das AES-Rennen aber gegen Rijndael vor allem aus Performance- und Einfachheitsgründen. Heute findet er sich in Tools wie TrueCrypt/VeraCrypt und GnuPG als alternative Chiffre. Neue Systeme sollten in der Regel AES wählen oder zur Diversifikation AES mit einem Stromchiffre wie ChaCha20 kombinieren.

Beispiele

  • VeraCrypt erlaubt das Schichten von Twofish mit AES und Serpent als Kaskadenverschlüsselung.
  • GnuPG bietet Twofish als eine seiner symmetrischen Cipher-Optionen.

Verwandte Begriffe