| b.liu | e958203 | 2025-04-17 19:18:16 +0800 | [diff] [blame] | 1 | /* | 
|  | 2 | * SHA384 hash implementation and interface functions | 
|  | 3 | * Copyright (c) 2015-2017, Jouni Malinen <j@w1.fi> | 
|  | 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); | 
|  | 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); | 
|  | 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); | 
|  | 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); | 
|  | 29 |  | 
|  | 30 | #endif /* SHA384_H */ |