secworks / blake2

Hardware implementation of the blake2 hash function

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

blake2

Implementation status

Not done. Does Not Work. Do. Not. Use

Introduction

This is a Verilog implementation of the Blake2 hash function. The specific function implemented is BLAKE2b as specified in the Blake2 paper. The implementation however more closely follows the description in RFC 7693 - The BLAKE2 Cryptographic Hash and Message Authentication Code (MAC)

For more info about the different versions of Blake2, see the Blake2 home page..

Implementation details

Keyed hashing

The core supports setting a key size for keyed hashing according to the RFC. But it is up to the user to push a correctly padded key block as first data block if using the keyed hash.

Reference implementation

There is a reference implementation from RFC 6793 as part of the source.

FPGA-results

Altera FPGAs

To Be Written.

Xilinx FPGAs

To Be Written.

Credits

Further reading

About

Hardware implementation of the blake2 hash function

License:BSD 2-Clause "Simplified" License


Languages

Language:Verilog 74.6%Language:C 13.9%Language:Python 9.2%Language:Makefile 2.2%