BLAKE2.h (715B)
1 /* 2 * BLAKE2b Header 3 * RFC 7693 4 */ 5 6 #ifndef BLAKE2_H 7 #define BLAKE2_H 8 9 #include <stdint.h> 10 #include <stddef.h> 11 12 #ifdef __cplusplus 13 extern "C" { 14 #endif 15 16 /* BLAKE2b - variable output length (1-64 bytes) */ 17 void blake2b(const uint8_t *data, size_t len, uint8_t *out, size_t outlen); 18 19 /* BLAKE2b-256 (32 bytes) */ 20 void blake2b_256(const uint8_t *data, size_t len, uint8_t digest[32]); 21 22 /* BLAKE2b-512 (64 bytes) */ 23 void blake2b_512(const uint8_t *data, size_t len, uint8_t digest[64]); 24 25 /* BLAKE2b with key (MAC) */ 26 void blake2b_mac(const uint8_t *key, size_t keylen, 27 const uint8_t *data, size_t len, 28 uint8_t *out, size_t outlen); 29 30 #ifdef __cplusplus 31 } 32 #endif 33 34 #endif /* BLAKE2_H */