Blowfish is a
symmetric cipher designed by
Bruce Schneier in 1993. It's designed to be able to replace other
ciphers such as
DES and
IDEA. Unlike those two, it supports a
variable key length, from 32 to 448 bits. Sources for more information about this cipher is available at http://www.
counterpane.com/blowfish.html, as well as in the book
Applied Cryptography, by the same author.
Blowfish seems to be one of the more promising ciphers, and it's already widely deployed in
cryptography products like:
Blowfish have been proved to be very fast in software, needing only 18 CPU Cycles pr. encrypted byte on a Pentium. It's also very compact, and can live with as little as 5k RAM.
Also worth mentioning is that Blowfish is a Feistel network.