1281681Srpaulo/* 2281681Srpaulo * SHA384 hash implementation and interface functions 3346981Scy * Copyright (c) 2015-2017, Jouni Malinen <j@w1.fi> 4281681Srpaulo * 5281681Srpaulo * This software may be distributed under the terms of the BSD license. 6281681Srpaulo * See README for more details. 7281681Srpaulo */ 8281681Srpaulo 9281681Srpaulo#ifndef SHA384_H 10281681Srpaulo#define SHA384_H 11281681Srpaulo 12281681Srpaulo#define SHA384_MAC_LEN 48 13281681Srpaulo 14281681Srpauloint hmac_sha384_vector(const u8 *key, size_t key_len, size_t num_elem, 15281681Srpaulo const u8 *addr[], const size_t *len, u8 *mac); 16281681Srpauloint hmac_sha384(const u8 *key, size_t key_len, const u8 *data, 17281681Srpaulo size_t data_len, u8 *mac); 18346981Scyint sha384_prf(const u8 *key, size_t key_len, const char *label, 19346981Scy const u8 *data, size_t data_len, u8 *buf, size_t buf_len); 20346981Scyint sha384_prf_bits(const u8 *key, size_t key_len, const char *label, 21346981Scy const u8 *data, size_t data_len, u8 *buf, 22346981Scy size_t buf_len_bits); 23346981Scyint hmac_sha384_kdf(const u8 *secret, size_t secret_len, 24346981Scy const char *label, const u8 *seed, size_t seed_len, 25346981Scy u8 *out, size_t outlen); 26281681Srpaulo 27281681Srpaulo#endif /* SHA384_H */ 28