SHA-3 finalist (reference code)
C
Switch branches/tags
Nothing to show
Clone or download
Latest commit 65f9ac8 May 2, 2014
Permalink
Failed to load latest commit information.
.gitignore Initial commit Mar 24, 2014
LICENSE Initial commit Mar 24, 2014
README.md ip statement May 2, 2014
blake.h copyright Mar 24, 2014
blake224.c copyright Mar 24, 2014
blake256.c copyright Mar 24, 2014
blake384.c copyright Mar 24, 2014
blake512.c copyright Mar 24, 2014
makefile code Mar 24, 2014

README.md

BLAKE

Reference implementation of the SHA-3 finalist BLAKE, a family of cryptographic hash functions composed of 4 instances:

  • BLAKE-224
  • BLAKE-256
  • BLAKE-384
  • BLAKE-512

These implementations aim to simplicity and compactness rather than performance.

BLAKE was designed by Jean-Philippe Aumasson with Luca Henzen, Willi Meier, and Raphael C.-W. Phan.

BLAKE2 is an improved version of BLAKE, which has its own code repo.

Usage

Running

  make

will build the 4 executables blake224, blake256, blake384, blake512.

  ./blake256

verifies 2 test vectors and shows an error message upon failed test, and

  ./blake256 [file1] [file2] [...]

hashes the files passed as arguments.

Similar executables are provided for BLAKE-224, BLAKE-384, and BLAKE-512.

Intellectual property

The BLAKE reference code is released under CC0 license, a public domain-like licence.

We aren't aware of any patents or patent applications relevant to BLAKE, and we aren't planning to apply for any.

References

The BLAKE page includes

  • specifications of BLAKE
  • slides of BLAKE presentations at conferences and workshops
  • a list of third-party implementations and modules
  • references to cryptanalysis results