wpa_supplicant / hostapd
2.5
|
EAP server/peer: EAP-PAX shared routines. More...
Functions | |
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) |
PAX Key Derivation Function. More... | |
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. More... | |
int | eap_pax_initial_key_derivation (u8 mac_id, const u8 *ak, const u8 *e, u8 *mk, u8 *ck, u8 *ick, u8 *mid) |
EAP-PAX initial key derivation. More... | |
EAP server/peer: EAP-PAX shared routines.
int eap_pax_initial_key_derivation | ( | u8 | mac_id, |
const u8 * | ak, | ||
const u8 * | e, | ||
u8 * | mk, | ||
u8 * | ck, | ||
u8 * | ick, | ||
u8 * | mid | ||
) |
EAP-PAX initial key derivation.
mac_id | MAC ID (EAP_PAX_MAC_*) / currently, only HMAC_SHA1_128 is supported |
ak | Authentication Key |
e | Entropy |
mk | Buffer for the derived Master Key |
ck | Buffer for the derived Confirmation Key |
ick | Buffer for the derived Integrity Check Key |
mid | Buffer for the derived Method ID |
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 | ||
) |
PAX Key Derivation Function.
mac_id | MAC ID (EAP_PAX_MAC_*) / currently, only HMAC_SHA1_128 is supported |
key | Secret key (X) |
key_len | Length of the secret key in bytes |
identifier | Public identifier for the key (Y) |
entropy | Exchanged entropy to seed the KDF (Z) |
entropy_len | Length of the entropy in bytes |
output_len | Output len in bytes (W) |
output | Buffer for the derived key |
RFC 4746, Section 2.6: PAX-KDF-W(X, Y, Z)
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.
mac_id | MAC ID (EAP_PAX_MAC_*) / currently, only HMAC_SHA1_128 is supported |
key | Secret key |
key_len | Length of the secret key in bytes |
data1 | Optional data, first block; NULL if not used |
data1_len | Length of data1 in bytes |
data2 | Optional data, second block; NULL if not used |
data2_len | Length of data2 in bytes |
data3 | Optional data, third block; NULL if not used |
data3_len | Length of data3 in bytes |
mac | Buffer for the MAC value (EAP_PAX_MAC_LEN = 16 bytes) |
Wrapper function to calculate EAP-PAX MAC.