SHA-3 proposal BLAKE


THE BLAKE BOOK IS OUT

BLAKE is one of the five hash functions in the final of the NIST SHA-3 Competition. BLAKE is one of the simplest designs to implement, and relies on previously analyzed components: the HAIFA structure and the ChaCha core function.

The two main instances of BLAKE are BLAKE-256 and BLAKE-512. They respectively work with 32- and 64-bit words, and produce 256- and 512-bit digests.

BLAKE has both a high security margin and a high performance versatility: An animated overview of BLAKE is available.

BLAKE was designed by Contact: [email protected]

Final BLAKE

Initially, the BLAKE functions were named BLAKE-28, BLAKE-32, BLAKE-48, and BLAKE-64. In December 2010, a final BLAKE version was announced, as allowed by NIST, and functions are now renamed as BLAKE-224, BLAKE-256, BLAKE-384, and BLAKE-512. The rename is to distinguish the final BLAKE from its initial version.

The final BLAKE consists in an increased number of rounds: 14 instead of 10 for BLAKE-224 and BLAKE-256, and 16 instead of 14 for BLAKE-384 and BLAKE-512. This is motivated by the high speed of BLAKE, and thus it is possible to choose a very conservative security margin in the final version in such a way that BLAKE remains faster than SHA-2 on a number of platforms.

Downloads

Cryptanalysis

Some of The results below were presented for the initial version of BLAKE, but apply as well to final BLAKE.

Software implementations

Some of the performance results below were conducted on the initial version of BLAKE, thus the speed figures do not apply to final BLAKE, but the memory estimates (ROM and RAM) are the same.

Speed measurements on various software platforms can be found on eBASH and on XBX.

The latest versions of the fastest C and assembly implementations can be found in the latest release of SUPERCOP.

Hardware implementations

Some of the performance results below were conducted on the initial version of BLAKE, thus the throughput figures do not apply to final BLAKE, but the area estimates (gate-equivalent, slices) are the same.