xref: /freebsd-src/contrib/wpa/src/pae/ieee802_1x_key.h (revision 5b9c547c072b84410b50897cc53710c75b2f6b74)
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