
Implementation of the Blake2 cryptographic hash function (RFC7693) in synthesizable RTL. This is a fully featured blake2s implementation supporting both block streaming and proving the secret key.
This implementation was designed with area and performance in mind, but area being the stronger priorative.
| # | Input | Output | Bidirectional |
|---|---|---|---|
| 0 | data_i[0] | hash_o[0] | ctrl_valid_i[0] |
| 1 | data_i[1] | hash_o[1] | ctrl_mode_i[0] |
| 2 | data_i[2] | hash_o[2] | ctrl_mode_i[1] |
| 3 | data_i[3] | hash_o[3] | ready_o |
| 4 | data_i[4] | hash_o[4] | loopback_mode_i[0] |
| 5 | data_i[5] | hash_o[5] | loopback_mode_i[1] |
| 6 | data_i[6] | hash_o[6] | |
| 7 | data_i[7] | hash_o[7] | hash_valid_o[7] |