wpa_supplicant / hostapd  2.5
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Functions
sha384-prf.c File Reference

SHA384-based KDF (IEEE 802.11ac) More...

#include "includes.h"
#include "common.h"
#include "sha384.h"
#include "crypto.h"

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) 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...
 

Detailed Description

SHA384-based KDF (IEEE 802.11ac)

Function Documentation

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)

Parameters
keyKey for KDF
key_lenLength of the key in bytes
labelA unique label for each purpose of the PRF
dataExtra data to bind into the key
data_lenLength of the data
bufBuffer for the generated pseudo-random key
buf_lenNumber 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.

Parameters
keyKey for KDF
key_lenLength of the key in bytes
labelA unique label for each purpose of the PRF
dataExtra data to bind into the key
data_lenLength of the data
bufBuffer for the generated pseudo-random key
buf_lenNumber 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.