CyberGlossary

Kryptografie

Blowfish

Definition

Feistel-Blockchiffre mit 64-Bit-Blöcken und variabler Schlüssellänge, 1993 von Bruce Schneier entworfen; kryptanalytisch sicher, aber durch die kleine Blockgröße limitiert und von AES abgelöst.

Blowfish ist eine 1993 von Bruce Schneier entworfene symmetrische Blockchiffre als schnelle, lizenzfreie Alternative zu DES und IDEA. Sie verwendet ein 16-rundiges Feistel-Netzwerk auf 64-Bit-Blöcken mit Schlüsseln von 32 bis 448 Bit und großen schlüsselabhängigen S-Boxen. Kryptanalytisch gilt Blowfish in voller 16-Runden-Form weiter als ungebrochen, doch der 64-Bit-Block macht ihn anfällig für Birthday-Angriffe wie Sweet32, wenn Gigabytes unter einem Schlüssel chiffriert werden. NIST und moderne Protokolle empfehlen daher 128-Bit-Blockchiffren wie AES. Blowfish bleibt historisch bedeutsam und lebt in Derivaten weiter – insbesondere dem Password-Hash bcrypt und dem Twofish-Design – wird aber für neue Verschlüsselungsfälle nicht mehr empfohlen.

Beispiele

  • Ältere OpenSSH- und OpenVPN-Versionen unterstützten Blowfish im CBC-Modus.
  • Der Password-Hash bcrypt leitet seinen Schlüsselplan von Blowfish ab.

Verwandte Begriffe