]>
Commit | Line | Data |
---|---|---|
97ae35a8 JM |
1 | /* |
2 | * SHA384 hash implementation and interface functions | |
ef238385 | 3 | * Copyright (c) 2015-2017, Jouni Malinen <j@w1.fi> |
97ae35a8 JM |
4 | * |
5 | * This software may be distributed under the terms of the BSD license. | |
6 | * See README for more details. | |
7 | */ | |
8 | ||
9 | #ifndef SHA384_H | |
10 | #define SHA384_H | |
11 | ||
12 | #define SHA384_MAC_LEN 48 | |
13 | ||
14 | int hmac_sha384_vector(const u8 *key, size_t key_len, size_t num_elem, | |
15 | const u8 *addr[], const size_t *len, u8 *mac); | |
16 | int hmac_sha384(const u8 *key, size_t key_len, const u8 *data, | |
17 | size_t data_len, u8 *mac); | |
ef238385 JM |
18 | int sha384_prf(const u8 *key, size_t key_len, const char *label, |
19 | const u8 *data, size_t data_len, u8 *buf, size_t buf_len); | |
20 | int sha384_prf_bits(const u8 *key, size_t key_len, const char *label, | |
21 | const u8 *data, size_t data_len, u8 *buf, | |
22 | size_t buf_len_bits); | |
52069c7e JM |
23 | int tls_prf_sha384(const u8 *secret, size_t secret_len, |
24 | const char *label, const u8 *seed, size_t seed_len, | |
25 | u8 *out, size_t outlen); | |
77f273c8 JM |
26 | int hmac_sha384_kdf(const u8 *secret, size_t secret_len, |
27 | const char *label, const u8 *seed, size_t seed_len, | |
28 | u8 *out, size_t outlen); | |
97ae35a8 JM |
29 | |
30 | #endif /* SHA384_H */ |