xref: /dflybsd-src/contrib/wpa_supplicant/src/crypto/milenage.h (revision bcf9aa4feb4a2fdf8ceac276d271a57f4b27e13d)
1*3ff40c12SJohn Marino /*
2*3ff40c12SJohn Marino  * UMTS AKA - Milenage algorithm (3GPP TS 35.205, .206, .207, .208)
3*3ff40c12SJohn Marino  * Copyright (c) 2006-2007 <j@w1.fi>
4*3ff40c12SJohn Marino  *
5*3ff40c12SJohn Marino  * This software may be distributed under the terms of the BSD license.
6*3ff40c12SJohn Marino  * See README for more details.
7*3ff40c12SJohn Marino  */
8*3ff40c12SJohn Marino 
9*3ff40c12SJohn Marino #ifndef MILENAGE_H
10*3ff40c12SJohn Marino #define MILENAGE_H
11*3ff40c12SJohn Marino 
12*3ff40c12SJohn Marino void milenage_generate(const u8 *opc, const u8 *amf, const u8 *k,
13*3ff40c12SJohn Marino 		       const u8 *sqn, const u8 *_rand, u8 *autn, u8 *ik,
14*3ff40c12SJohn Marino 		       u8 *ck, u8 *res, size_t *res_len);
15*3ff40c12SJohn Marino int milenage_auts(const u8 *opc, const u8 *k, const u8 *_rand, const u8 *auts,
16*3ff40c12SJohn Marino 		  u8 *sqn);
17*3ff40c12SJohn Marino int gsm_milenage(const u8 *opc, const u8 *k, const u8 *_rand, u8 *sres,
18*3ff40c12SJohn Marino 		 u8 *kc);
19*3ff40c12SJohn Marino int milenage_check(const u8 *opc, const u8 *k, const u8 *sqn, const u8 *_rand,
20*3ff40c12SJohn Marino 		   const u8 *autn, u8 *ik, u8 *ck, u8 *res, size_t *res_len,
21*3ff40c12SJohn Marino 		   u8 *auts);
22*3ff40c12SJohn Marino int milenage_f1(const u8 *opc, const u8 *k, const u8 *_rand,
23*3ff40c12SJohn Marino 		const u8 *sqn, const u8 *amf, u8 *mac_a, u8 *mac_s);
24*3ff40c12SJohn Marino int milenage_f2345(const u8 *opc, const u8 *k, const u8 *_rand,
25*3ff40c12SJohn Marino 		   u8 *res, u8 *ck, u8 *ik, u8 *ak, u8 *akstar);
26*3ff40c12SJohn Marino 
27*3ff40c12SJohn Marino #endif /* MILENAGE_H */
28