#include "includes.h"
#include "common.h"
#include "crypto/sha1.h"
#include "eap_pax_common.h"
Go to the source code of this file.
Functions | |
int | eap_pax_initial_key_derivation (u8 mac_id, const u8 *ak, const u8 *e, u8 *mk, u8 *ck, u8 *ick) |
int | eap_pax_kdf (u8 mac_id, const u8 *key, size_t key_len, const char *identifier, const u8 *entropy, size_t entropy_len, size_t output_len, u8 *output) |
int | eap_pax_mac (u8 mac_id, const u8 *key, size_t key_len, const u8 *data1, size_t data1_len, const u8 *data2, size_t data2_len, const u8 *data3, size_t data3_len, u8 *mac) |
int eap_pax_initial_key_derivation | ( | u8 | mac_id, | |
const u8 * | ak, | |||
const u8 * | e, | |||
u8 * | mk, | |||
u8 * | ck, | |||
u8 * | ick | |||
) |
eap_pax_initial_key_derivation - EAP-PAX initial key derivation : MAC ID (EAP_PAX_MAC_*) / currently, only HMAC_SHA1_128 is supported : Authentication Key : Entropy : Buffer for the derived Master Key : Buffer for the derived Confirmation Key : Buffer for the derived Integrity Check Key Returns: 0 on success, -1 on failure
Definition at line 132 of file eap_pax_common.c.
int eap_pax_kdf | ( | u8 | mac_id, | |
const u8 * | key, | |||
size_t | key_len, | |||
const char * | identifier, | |||
const u8 * | entropy, | |||
size_t | entropy_len, | |||
size_t | output_len, | |||
u8 * | output | |||
) |
eap_pax_kdf - PAX Key Derivation Function : MAC ID (EAP_PAX_MAC_*) / currently, only HMAC_SHA1_128 is supported : Secret key (X) : Length of the secret key in bytes : Public identifier for the key (Y) : Exchanged entropy to seed the KDF (Z) : Length of the entropy in bytes : Output len in bytes (W) : Buffer for the derived key Returns: 0 on success, -1 failed
RFC 4746, Section 2.6: PAX-KDF-W(X, Y, Z)
Definition at line 36 of file eap_pax_common.c.
int eap_pax_mac | ( | u8 | mac_id, | |
const u8 * | key, | |||
size_t | key_len, | |||
const u8 * | data1, | |||
size_t | data1_len, | |||
const u8 * | data2, | |||
size_t | data2_len, | |||
const u8 * | data3, | |||
size_t | data3_len, | |||
u8 * | mac | |||
) |
eap_pax_mac - EAP-PAX MAC : MAC ID (EAP_PAX_MAC_*) / currently, only HMAC_SHA1_128 is supported : Secret key : Length of the secret key in bytes : Optional data, first block; NULL if not used : Length of data1 in bytes : Optional data, second block; NULL if not used : Length of data2 in bytes : Optional data, third block; NULL if not used : Length of data3 in bytes : Buffer for the MAC value (EAP_PAX_MAC_LEN = 16 bytes) Returns: 0 on success, -1 on failure
Wrapper function to calculate EAP-PAX MAC.
Definition at line 92 of file eap_pax_common.c.