wpa_supplicant / hostapd
2.5
|
IEEE 802.1X-2010 Key Hierarchy. More...
#include "utils/includes.h"
#include "utils/common.h"
#include "crypto/md5.h"
#include "crypto/sha1.h"
#include "crypto/aes_wrap.h"
#include "crypto/crypto.h"
#include "ieee802_1x_key.h"
Functions | |
int | ieee802_1x_cak_128bits_aes_cmac (const u8 *msk, const u8 *mac1, const u8 *mac2, u8 *cak) |
ieee802_1x_cak_128bits_aes_cmac More... | |
int | ieee802_1x_ckn_128bits_aes_cmac (const u8 *msk, const u8 *mac1, const u8 *mac2, const u8 *sid, size_t sid_bytes, u8 *ckn) |
ieee802_1x_ckn_128bits_aes_cmac More... | |
int | ieee802_1x_kek_128bits_aes_cmac (const u8 *cak, const u8 *ckn, size_t ckn_bytes, u8 *kek) |
ieee802_1x_kek_128bits_aes_cmac More... | |
int | ieee802_1x_ick_128bits_aes_cmac (const u8 *cak, const u8 *ckn, size_t ckn_bytes, u8 *ick) |
ieee802_1x_ick_128bits_aes_cmac More... | |
int | ieee802_1x_icv_128bits_aes_cmac (const u8 *ick, const u8 *msg, size_t msg_bytes, u8 *icv) |
ieee802_1x_icv_128bits_aes_cmac More... | |
int | ieee802_1x_sak_128bits_aes_cmac (const u8 *cak, const u8 *ctx, size_t ctx_bytes, u8 *sak) |
ieee802_1x_sak_128bits_aes_cmac More... | |
IEEE 802.1X-2010 Key Hierarchy.
SAK derivation specified in IEEE Std 802.1X-2010, Clause 6.2
int ieee802_1x_cak_128bits_aes_cmac | ( | const u8 * | msk, |
const u8 * | mac1, | ||
const u8 * | mac2, | ||
u8 * | cak | ||
) |
ieee802_1x_cak_128bits_aes_cmac
IEEE Std 802.1X-2010, 6.2.2 CAK = KDF(Key, Label, mac1 | mac2, CAKlength)
int ieee802_1x_ckn_128bits_aes_cmac | ( | const u8 * | msk, |
const u8 * | mac1, | ||
const u8 * | mac2, | ||
const u8 * | sid, | ||
size_t | sid_bytes, | ||
u8 * | ckn | ||
) |
ieee802_1x_ckn_128bits_aes_cmac
IEEE Std 802.1X-2010, 6.2.2 CKN = KDF(Key, Label, ID | mac1 | mac2, CKNlength)
int ieee802_1x_ick_128bits_aes_cmac | ( | const u8 * | cak, |
const u8 * | ckn, | ||
size_t | ckn_bytes, | ||
u8 * | ick | ||
) |
ieee802_1x_ick_128bits_aes_cmac
IEEE Std 802.1X-2010, 9.3.3 ICK = KDF(Key, Label, Keyid, ICKLength)
int ieee802_1x_icv_128bits_aes_cmac | ( | const u8 * | ick, |
const u8 * | msg, | ||
size_t | msg_bytes, | ||
u8 * | icv | ||
) |
ieee802_1x_icv_128bits_aes_cmac
IEEE Std 802.1X-2010, 9.4.1 ICV = AES-CMAC(ICK, M, 128)
int ieee802_1x_kek_128bits_aes_cmac | ( | const u8 * | cak, |
const u8 * | ckn, | ||
size_t | ckn_bytes, | ||
u8 * | kek | ||
) |
ieee802_1x_kek_128bits_aes_cmac
IEEE Std 802.1X-2010, 9.3.3 KEK = KDF(Key, Label, Keyid, KEKLength)
int ieee802_1x_sak_128bits_aes_cmac | ( | const u8 * | cak, |
const u8 * | ctx, | ||
size_t | ctx_bytes, | ||
u8 * | sak | ||
) |
ieee802_1x_sak_128bits_aes_cmac
IEEE Std 802.1X-2010, 9.8.1 SAK = KDF(Key, Label, KS-nonce | MI-value list | KN, SAKLength)