Related Concepts
Block Ciphers; Differential Cryptanalysis; Feistel Cipher; Weak Keys
Blowfish [3] is a 64-bit block cipher designed by Bruce Schneier and published in 1994. It was intended to be an attractive alternative to DES (Data Encryption Standard) or IDEA. Today, the Blowfish algorithm is widely used and included in many software products.
Blowfish consists of 16 Feistel-like iterations. Each iteration operates on a 64-bit datablock, split into two 32-bit words. First, a round key is XORed to the left word. The result is then input to four key-dependent 8 ×32-bit S-boxes, yielding a 32-bit output word, which is XORed to the right word. Both words are swapped and then fed to the next iteration.
The use of key-dependent S-boxes distinguishes Blowfish from most other ciphers, and requires a rather complex key-scheduling algorithm. In a first pass, the lookup tables determining the S-boxes are filled with digits of π, XORed with bytes from a secret key which can consist of 32–448...
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Recommended Reading
Biryukov A, Wagner D (1999) Slide attacks. In: Knudsen LR (ed) Proceedings of fast software encryption—FSE’99. Lecture notes in computer science, vol 1636, Springer, Berlin, pp 245–259
Rijmen V (1997) Cryptanalysis and design of iterated block ciphers. PhD thesis, Katholieke Universiteit, Leuven
Schneier B (1994) Description of a new variable-length key, 64-bit block cipher (Blowfish). In: Anderson RJ (ed) Fast software encryption, FSE’93. Lecture notes in computer science, vol 809, Springer, Berlin, pp 191–204
Vaudenay S (1996) On the weak keys of Blowfish. In: Gollmann D (ed) Fast software encryption, FSE’96. Lecture notes in computer science, vol 1039, Springer, Berlin, pp 27–32
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer Science+Business Media, LLC
About this entry
Cite this entry
De Cannière, C. (2011). Blowfish. In: van Tilborg, H.C.A., Jajodia, S. (eds) Encyclopedia of Cryptography and Security. Springer, Boston, MA. https://doi.org/10.1007/978-1-4419-5906-5_550
Download citation
DOI: https://doi.org/10.1007/978-1-4419-5906-5_550
Publisher Name: Springer, Boston, MA
Print ISBN: 978-1-4419-5905-8
Online ISBN: 978-1-4419-5906-5
eBook Packages: Computer ScienceReference Module Computer Science and Engineering