Cryptographic
Whirlpool
A 512-bit cryptographic hash function designed by Paulo Barreto and Vincent Rijmen (the co-designer of AES) in 2000. Whirlpool is built around an AES-like block cipher and used via the Miyaguchi-Preneel mode. Standardized as part of ISO/IEC 10118-3.
At a glance
| Output | 512 bits (64 bytes, 128 hex chars) |
|---|---|
| Block size | 512 bits |
| Construction | Miyaguchi-Preneel over a 512-bit block cipher |
| Rounds | 10 |
| Standard | ISO/IEC 10118-3 |
| Collision security | 2256 generic |
| Preimage security | 2512 |
| Length extension | No (output equals state size, but matrix MMOC compression) |
| Status | Holds up cryptographically; rarely chosen for new designs |
Where it shows up
- TrueCrypt / VeraCrypt , selectable hash for header authentication.
- Linux
crypt, the$whirl$identifier (rare). - NESSIE project , recommended in 2003 alongside SHA-256.
- Legacy storage products , some enterprise integrity products.
Why it is not more popular
Whirlpool is solid cryptographically , no practical break is known , but it competes against algorithms with significant ecosystem advantages: SHA-2 has NSA / NIST blessing and hardware acceleration on every CPU since 2013; SHA-3 has the same NIST status with a different construction; BLAKE2/3 are dramatically faster. Whirlpool ended up chosen for niche use cases where ISO/IEC mattered more than speed or ubiquity.
Internal structure
The block cipher at the heart of Whirlpool is AES-like: a 8×8 byte state, 10 rounds of SubBytes / ShiftColumns / MixRows / AddRoundKey. Whirlpool’s S-box is its own design (chosen to maximize differential and linear resistance). The Miyaguchi-Preneel mode XORs each block’s ciphertext, plaintext, and previous state to update the chaining variable.
Try it
Whirlpool is in the algorithm catalog and available via the comparator for side-by-side specs.
References
- ISO/IEC 10118-3:2018 , Information technology , Security techniques , Hash-functions
- Paulo Barreto , The Whirlpool Hash Function page
- NESSIE project , final report (2003)
Visualize
Whirlpool on your input
11 bytes · 0-bit digest
Hex digest
Bit grid (0 bits, teal = 1, slate = 0)
Byte pixel art (0 bytes, hue = byte value mod 360°)
Avalanche , flipping the lowest bit of the first input byte changed 0 of 0 output bits
Quick quiz
Test yourself on whirlpool
10 multiple-choice questions. Pick an answer for each, then submit to see explanations.
Q1.What is the output size of Whirlpool?
Q2.Who designed Whirlpool?
Q3.What construction does Whirlpool use?
Q4.How many rounds does Whirlpool's internal cipher use?
Q5.Which standard includes Whirlpool?
Q6.Has Whirlpool been practically broken?
Q7.Which application historically supported Whirlpool as a header-authentication option?
Q8.Why isn't Whirlpool more popular today?
Q9.What's the block size of Whirlpool's internal cipher?
Q10.Is Whirlpool vulnerable to length-extension?