wpa_supplicant / hostapd
2.5
|
SHA384 hash implementation and interface functions. More...
Go to the source code of this file.
Macros | |
#define | SHA384_MAC_LEN 48 |
Functions | |
int | hmac_sha384_vector (const u8 *key, size_t key_len, size_t num_elem, const u8 *addr[], const size_t *len, u8 *mac) |
int | hmac_sha384 (const u8 *key, size_t key_len, const u8 *data, size_t data_len, u8 *mac) |
void | sha384_prf (const u8 *key, size_t key_len, const char *label, const u8 *data, size_t data_len, u8 *buf, size_t buf_len) |
SHA384-based Key derivation function (IEEE 802.11ac, 11.6.1.7.2) More... | |
void | sha384_prf_bits (const u8 *key, size_t key_len, const char *label, const u8 *data, size_t data_len, u8 *buf, size_t buf_len_bits) |
IEEE Std 802.11ac-2013, 11.6.1.7.2 Key derivation function. More... | |
SHA384 hash implementation and interface functions.
void sha384_prf | ( | const u8 * | key, |
size_t | key_len, | ||
const char * | label, | ||
const u8 * | data, | ||
size_t | data_len, | ||
u8 * | buf, | ||
size_t | buf_len | ||
) |
SHA384-based Key derivation function (IEEE 802.11ac, 11.6.1.7.2)
key | Key for KDF |
key_len | Length of the key in bytes |
label | A unique label for each purpose of the PRF |
data | Extra data to bind into the key |
data_len | Length of the data |
buf | Buffer for the generated pseudo-random key |
buf_len | Number of bytes of key to generate |
This function is used to derive new, cryptographically separate keys from a given key.
void sha384_prf_bits | ( | const u8 * | key, |
size_t | key_len, | ||
const char * | label, | ||
const u8 * | data, | ||
size_t | data_len, | ||
u8 * | buf, | ||
size_t | buf_len_bits | ||
) |
IEEE Std 802.11ac-2013, 11.6.1.7.2 Key derivation function.
key | Key for KDF |
key_len | Length of the key in bytes |
label | A unique label for each purpose of the PRF |
data | Extra data to bind into the key |
data_len | Length of the data |
buf | Buffer for the generated pseudo-random key |
buf_len | Number of bits of key to generate |
This function is used to derive new, cryptographically separate keys from a given key. If the requested buf_len is not divisible by eight, the least significant 1-7 bits of the last octet in the output are not part of the requested output.