BLAKE (hash function)
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.
General | |
---|---|
Designers | Jean-Philippe Aumasson, Luca Henzen, Willi Meier, Raphael C.-W. Phan |
Successors | BLAKE2 |
Certification | SHA-3 finalist |
Detail | |
Digest sizes | 224, 256, 384 or 512 bits |
Structure | HAIFA construction |
Rounds | 14 or 16 |
Speed | 8.4 cpb on Core 2 for BLAKE-256; 7.8 cpb for BLAKE-512 |
The BLAKE2 hash function, based on BLAKE, was announced in 2012. The BLAKE3 hash function, based on BLAKE2, was announced in 2020.