BLAKE (hash function)
In 2008, the National Institute of Standards and Technology opened a competition to find a new cryptographic hash function. Fifty-one teams submitted their designs for review. Jean-Philippe Aumasson, Luca Henzen, Willi Meier, and Raphael C.-W. Phan entered BLAKE into this global contest. The algorithm made it through several rounds of scrutiny to reach the final five candidates in 2012. Despite its strong performance, BLAKE lost the competition to Keccak, which was selected as the SHA-3 standard. This loss did not end the project's influence but set the stage for future iterations.
BLAKE adapts Daniel J. Bernstein's ChaCha stream cipher by adding a permuted copy of the input block before each round. A table of sixteen constant words derived from the fractional part of pi guides the process. The core operation combines sixteen message words with eight working variables to produce the next hash value. Rotation directions were reversed compared to the original ChaCha design due to an early specification typo. This reversal became a permanent feature of the algorithm. The 64-bit version increases the number of rounds to sixteen while adjusting rotation amounts to thirty-two, twenty-five, sixteen, and eleven bits.
On the 21st of December 2012, Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O'Hearn, and Christian Winnerlein announced BLAKE2. The new function removed constants added to message words and changed two rotation parameters. It reduced the number of rounds from sixteen to twelve for BLAKE2b and from fourteen to ten for BLAKE2s. These changes improved speed while maintaining high security levels. BLAKE2 supports keying, salting, personalization, and tree hashing modes. Its creators stated it was faster than MD5, SHA-1, SHA-2, and SHA-3 on modern architectures like x86-64 and ARM.
Jack O'Connor, Jean-Philippe Aumasson, Samuel Neves, and Zooko Wilcox-O'Hearn introduced BLAKE3 on the 9th of January 2020 at Real World Crypto. This algorithm uses a binary tree structure to support unlimited parallelism through SIMD instructions and multithreading. The compression function reduces rounds from ten to seven based on updated cryptoanalysis records. BLAKE3 is consistently several times faster than its predecessor BLAKE2. The Merkle tree format allows verified streaming and incremental updates without reprocessing entire files. Official implementations in Rust and C are dual-licensed under public domain and Apache License terms.
BLAKE2 appears in the Noise Protocol Framework used by WhatsApp and WireGuard. Linux kernel version 5.17 replaced SHA-1 with BLAKE2s for entropy pool hashing in 2021. Zcash cryptocurrency employs BLAKE2b within its Equihash proof of work mechanism. NANO digital currency utilizes BLAKE2b for signature hashing and key derivation. FreeBSD Ports package management relies on BLAKE2b for integrity checks. GNU Core Utilities includes BLAKE2b via the b2sum command line tool. Open Network for Digital Commerce signs API requests using BLAKE-512 as part of an Indian government initiative.
Continue Browsing
Common questions
Who created the BLAKE cryptographic hash function?
Jean-Philippe Aumasson, Luca Henzen, Willi Meier, and Raphael C.-W. Phan entered BLAKE into the 2008 National Institute of Standards and Technology competition.
When was BLAKE2 announced by its creators?
On the 21st of December 2012, Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O'Hearn, and Christian Winnerlein announced BLAKE2.
What happened to BLAKE in the SHA-3 standardization process?
BLAKE reached the final five candidates in 2012 but lost the competition to Keccak which became the SHA-3 standard.
How does BLAKE3 improve upon previous versions like BLAKE2?
Jack O'Connor, Jean-Philippe Aumasson, Samuel Neves, and Zooko Wilcox-O'Hearn introduced BLAKE3 on the 9th of January 2020 to support unlimited parallelism through SIMD instructions and multithreading.
Where is BLAKE2 used in modern software systems?
BLAKE2 appears in the Noise Protocol Framework used by WhatsApp and WireGuard while Linux kernel version 5.17 replaced SHA-1 with BLAKE2s for entropy pool hashing in 2021.