NEW
A fast 64-bit block cipher with variable key length (up to 448 bits), designed by Bruce Schneier and now largely superseded.
DESCRIPTION
Blowfish is a symmetric Feistel cipher created in 1993 with a 64-bit block and variable-length keys. It was designed for speed in software and public-domain availability. A costly key schedule and 64-bit block size limit some use cases today. Blowfish influenced later designs and inspired the password hashing algorithm bcrypt (EksBlowfish). Modern systems prefer AES, though Blowfish remains of historical and educational interest.
ALTERNATIVE DEFINITIONS
Bruce Schneier
Blowfish is a variable-length key, 64-bit block cipher designed in 1993 by Bruce Schneier.
Author’s succinct description emphasizing block size, key length variability, and origin.
IETF
This document describes the use of the Blowfish cipher in CBC mode within IPsec ESP.
Operational context integrating Blowfish with a standardized network security protocol.
RELATED TERMS
Data Encryption Standard Feistel Function bcrypt Key Schedule S-Box Symmetric Block Cipher Algorithms 64-bit Block Subkey Generation Rijndael
COMPETING TERMS
RELATIONS
KNOWLEDGE AREAS
Data Security Software Engineering
TARGET AUDIENCE
Security Architect Cybersecurity Engineer Software Developer
EXTERNAL SOURCES
- Wikipedia - Blowfish (cipher)
- Bruce Schneier - Official Blowfish page and paper
- IETF - IPsec ESP Blowfish specification
TOP QUESTIONS
Why was Blowfish popular historically?
It was free, fast in software, and well-documented, providing an accessible alternative to DES and proprietary ciphers in the 1990s.
Category: History
What are Blowfish’s main limitations today?
Its 64-bit block size risks birthday collisions at moderate data volumes, and its key schedule is slow for frequently changing keys.
Category: Risks
How is Blowfish related to bcrypt?
bcrypt is built on the EksBlowfish variant, using Blowfish’s structure for adaptive, slow password hashing.
Category: Concept
Is Blowfish still recommended for new designs?
No. AES with AEAD modes is preferred for modern security, performance, and compliance reasons.
Category: Best practices
What is Blowfish’s key size range?
It supports keys from 32 bits up to 448 bits, though practical security depends on more than key length alone.
Category: Definition
Does Blowfish have hardware acceleration?
It generally lacks dedicated CPU instructions, unlike AES, making AES faster on most modern platforms.
Category: Performance
What is the structure of Blowfish?
It is a Feistel network using key-dependent S-boxes and a complex key schedule that expands the key into subkeys.
Category: Concept
Where might Blowfish still appear?
Legacy VPNs, archival systems, or older applications may still support Blowfish for compatibility.
Category: Usage
What is a safer alternative to Blowfish?
AES-GCM provides stronger security, modern performance, and integrated authentication.
Category: Alternatives