Unkeyed cryptographic
BLAKE2s
The 32-bit-tuned sibling of BLAKE2b. Same designers (Aumasson, Neves, Wilcox-O’Hearn, Winnerlein, 2013), same HAIFA-on-ChaCha-quarter-round structure, but operating on 32-bit words and a smaller state. BLAKE2s is the right pick whenever you’re on a 32-bit microcontroller, an IoT device, or any environment where BLAKE2b’s 64-bit word size would be slow or oversized.
At a glance
| Output | 1 to 256 bits (typically 128 or 256) |
|---|---|
| Block size | 512 bits |
| Word size | 32 bits |
| Rounds | 10 (vs 12 for BLAKE2b) |
| Standard | RFC 7693 |
| Length extension | No (HAIFA finalization flag) |
| Status | Modern, recommended for 32-bit / constrained contexts |
vs BLAKE2b
| Property | BLAKE2b | BLAKE2s |
|---|---|---|
| Word size | 64-bit | 32-bit |
| Rounds | 12 | 10 |
| State size | 1024 bits | 512 bits |
| Max output | 512 bits | 256 bits |
| Best on | 64-bit CPUs, servers | 32-bit MCUs, embedded |
Where it shows up
- WireGuard , keyed BLAKE2s as the MAC.
- libsodium ,
crypto_shorthash_xchacha20poly1305internals. - Zcash Equihash , BLAKE2s in the proof-of-work.
- Some IoT / embedded protocols requiring a fast hash on 32-bit MCUs.
- BLAKE2sp , parallel variant, used in some content-addressing tools.
BLAKE2’s built-in features (apply to both b and s)
- Variable output length
- Built-in keyed mode (replaces HMAC)
- 16-byte salt parameter
- 16-byte personalization string for domain separation
- Tree-mode support
References
Visualize
BLAKE2s-256 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 blake2s
10 multiple-choice questions. Pick an answer for each, then submit to see explanations.
Q1.BLAKE2s word size:
Q2.BLAKE2s max output size:
Q3.BLAKE2s rounds:
Q4.Which standard publishes BLAKE2 (and BLAKE2s)?
Q5.Length-extension on BLAKE2s?
Q6.Which production system uses keyed BLAKE2s as a MAC?
Q7.Zcash Equihash uses:
Q8.BLAKE2sp:
Q9.Best CPU class for BLAKE2s:
Q10.BLAKE2 has a built-in keyed mode replacing: