BLAKE2 and BLAKE3 Explained

Speed Without Compromise

BLAKE2, published in 2012, was designed as a direct successor to the BLAKE hash function (a SHA-3 finalist) with a singular goal: be faster than MD5 while maintaining the full security of SHA-3. BLAKE2 achieves this by reducing the number of rounds from BLAKE's 14 to 10 (for BLAKE2b) while incorporating a simplified compression function. On modern 64-bit CPUs, BLAKE2b processes data at over 1 GB/s in software, making it roughly three times faster than SHA-256.

BLAKE3, released in 2020, pushed performance even further by introducing a Merkle tree structure that enables unlimited parallelism. While SHA-256 and BLAKE2 must process data strictly sequentially (each block depends on the previous block's output), BLAKE3 splits input into 1 KB chunks that can be hashed independently and then combined in a binary tree. On modern multi-core processors with SIMD instructions, BLAKE3 achieves throughputs exceeding 10 GB/s, making it one of the fastest cryptographic hash functions ever designed.

BLAKE2 is already widely adopted in critical systems: it is the default hash in libsodium and WireGuard VPN, used in Argon2's internal compression, available natively in Linux kernel 4.19+, and supported in most modern programming languages. BLAKE3 is gaining adoption in file integrity systems, content-addressable storage, and build tools where hashing terabytes of data quickly is essential. Both functions provide 256-bit security with zero known attacks.

Everyday Example

SHA-256 is like a single highly trained inspector examining every item on a factory conveyor belt one by one. BLAKE2 is an inspector who works three times faster with the same accuracy. BLAKE3 is like having an entire team of inspectors who can each examine different items simultaneously, then compare notes at the end. The team finishes in a fraction of the time while guaranteeing exactly the same quality control as the single inspector.

The Deep Mathematics

BLAKE2b operates on a 16-word (128-byte) state using the ChaCha-derived G mixing function applied across 10 rounds. Each round executes 8 quarter-round G functions mixing columns and diagonals of a 4×4 word matrix. BLAKE3's Merkle tree reduces the hash of an n-byte input to O(n/p) time on p cores. The compression function uses only 7 rounds (reduced from BLAKE2's 10) justified by extensive cryptanalysis showing the full 256-bit security margin holds. The tree structure computes parent nodes as H(left_child || right_child || flags), where domain separation flags prevent second pre-image attacks across tree levels.

Discover how giovium protects your data

giovium leverages these very cryptographic principles to keep your passwords, files, and secrets completely safe. Try it for free on any platform.

Download giovium