BLAKE (hash function)

BLAKE
General
DesignersJean-Philippe Aumasson, Luca Henzen, Willi Meier, Raphael C.-W. Phan
SuccessorsBLAKE2
CertificationSHA-3 finalist
Detail
Digest sizes224, 256, 384 or 512 bits
StructureHAIFA construction
Rounds14 or 16
Speed8.4 cpb on Core 2 for BLAKE-256; 7.8 cpb for BLAKE-512

BLAKE is a cryptographic hash function based on Daniel J. Bernstein's ChaCha stream cipher, but a permuted copy of the input block, XORed with round constants, is added before each ChaCha round. Like SHA-2, there are two variants differing in the word size. ChaCha operates on a 4×4 array of words. BLAKE repeatedly combines an 8-word hash value with 16 message words, truncating the ChaCha result to obtain the next hash value. BLAKE-256 and BLAKE-224 use 32-bit words and produce digest sizes of 256 bits and 224 bits, respectively, while BLAKE-512 and BLAKE-384 use 64-bit words and produce digest sizes of 512 bits and 384 bits, respectively.

The BLAKE2 hash function, based on BLAKE, was announced in 2012. The BLAKE3 hash function, based on BLAKE2, was announced in 2020.