1*5b9c547cSRui Paulo /* 2*5b9c547cSRui Paulo * IEEE 802.1X-2010 Key Hierarchy 3*5b9c547cSRui Paulo * Copyright (c) 2013, Qualcomm Atheros, Inc. 4*5b9c547cSRui Paulo * 5*5b9c547cSRui Paulo * This software may be distributed under the terms of the BSD license. 6*5b9c547cSRui Paulo * See README for more details. 7*5b9c547cSRui Paulo */ 8*5b9c547cSRui Paulo 9*5b9c547cSRui Paulo #ifndef IEEE802_1X_KEY_H 10*5b9c547cSRui Paulo #define IEEE802_1X_KEY_H 11*5b9c547cSRui Paulo 12*5b9c547cSRui Paulo int ieee802_1x_cak_128bits_aes_cmac(const u8 *msk, const u8 *mac1, 13*5b9c547cSRui Paulo const u8 *mac2, u8 *cak); 14*5b9c547cSRui Paulo int ieee802_1x_ckn_128bits_aes_cmac(const u8 *msk, const u8 *mac1, 15*5b9c547cSRui Paulo const u8 *mac2, const u8 *sid, 16*5b9c547cSRui Paulo size_t sid_bytes, u8 *ckn); 17*5b9c547cSRui Paulo int ieee802_1x_kek_128bits_aes_cmac(const u8 *cak, const u8 *ckn, 18*5b9c547cSRui Paulo size_t ckn_bytes, u8 *kek); 19*5b9c547cSRui Paulo int ieee802_1x_ick_128bits_aes_cmac(const u8 *cak, const u8 *ckn, 20*5b9c547cSRui Paulo size_t ckn_bytes, u8 *ick); 21*5b9c547cSRui Paulo int ieee802_1x_icv_128bits_aes_cmac(const u8 *ick, const u8 *msg, 22*5b9c547cSRui Paulo size_t msg_bytes, u8 *icv); 23*5b9c547cSRui Paulo int ieee802_1x_sak_128bits_aes_cmac(const u8 *cak, const u8 *ctx, 24*5b9c547cSRui Paulo size_t ctx_bytes, u8 *sak); 25*5b9c547cSRui Paulo 26*5b9c547cSRui Paulo #endif /* IEEE802_1X_KEY_H */ 27