Blowfish
More info
- Creator
- Bruce Schneier
- Released
- 1993
- Type
- Block cipher
- Block size
- 64 bits
- License
- Free, unpatented
Schneier's free DES alternative from 1993 — whose slow key schedule turned out to be its most useful property.
Bruce Schneier designed Blowfish as a deliberately unpatented, freely available alternative at a time when DES was on its way out and most replacements carried licences. It is a Feistel cipher with 16 rounds, 64-bit blocks and keys from 32 to 448 bits.
The key schedule is unusually expensive: every new key requires 521 runs of the cipher to fill the S-boxes. That was intended as an obstacle to exhaustive search, and instead became the foundation of the bcrypt password hash, still in use everywhere. The cipher itself is obsolete — 64-bit blocks make it vulnerable to Sweet32 — and Schneier now points people at Twofish and AES.
Sources
Schneier: Blowfish