blob: 62137d95ce825cff45e985a0e21bc643f18ed5a3 [file] [log] [blame]
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001/*
2 * UMTS AKA - Milenage algorithm (3GPP TS 35.205, .206, .207, .208)
3 * Copyright (c) 2006-2007 <j@w1.fi>
4 *
Dmitry Shmidtc5ec7f52012-03-06 16:33:24 -08005 * This software may be distributed under the terms of the BSD license.
6 * See README for more details.
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07007 */
8
9#ifndef MILENAGE_H
10#define MILENAGE_H
11
12void 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);
15int milenage_auts(const u8 *opc, const u8 *k, const u8 *_rand, const u8 *auts,
16 u8 *sqn);
17int gsm_milenage(const u8 *opc, const u8 *k, const u8 *_rand, u8 *sres,
18 u8 *kc);
19int 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);
22int milenage_f1(const u8 *opc, const u8 *k, const u8 *_rand,
23 const u8 *sqn, const u8 *amf, u8 *mac_a, u8 *mac_s);
24int 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 */