Overview#Blowfish is a Symmetric Key Block Cipher, designed in 1993 by Bruce Schneier and included in a large number of cipher suites and encryption products.
Blowfish was designed as a general-purpose algorithm, intended as an alternative to the aging DES and free of the problems and constraints associated with other algorithms. At the time Blowfish was released, many other designs were proprietary, encumbered by patents or were commercial or government secrets. Bruce Schneier has stated that, "Blowfish is unpatented, and will remain so in all countries. The algorithm is hereby placed in the public domain, and can be freely used by anyone."citation needed
Notable features of the design include key-dependent S-boxes and a highly complex key schedule.