Zum Inhalt springen
uencoder

Blowfish

Blowfish ist eine 1993 von Bruce Schneier entworfene symmetrische Blockchiffre mit variablen Schlüssellängen (32-448 Bits) und 64-Bit-Blöcken; sie ist schnell und patentfrei.

Zweck

Bot eine sichere Alternative zu DES mit langen Schlüsseln und ohne Lizenzbeschränkungen.

Mechanismus

Es ist ein 16-Runden-Feistel-Netzwerk. Der Schlüsselplan baut ein P-Array (18 32-Bit-Wörter) und vier S-Boxen (je 256 Einträge) auf, initialisiert aus Schlüssel und festen Konstanten (Hexadezimalziffern von π). Die Verschlüsselung iteriert die beiden Hälften per XOR mit der Funktion F.

Anwendungsfälle

  • Optionaler OpenPGP-Algorithmus
  • Zugrundeliegende Chiffre des bcrypt-Passwort-Hashings
  • Embedded- und Software-Verschlüsselung
  • Lehrbeispiele

Beispiele

  • Eingabe
    key=128bit, data=8bytes
    Output
    8-byte ciphertext

    The 64-bit block is now considered small

Häufige Fehler

The 64-bit block invites Sweet32 attacks on large data volumes
Use AES or Twofish with 128-bit blocks

Verwandte Begriffe

Verwandte Tools

References