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