1 /* 2 * UMTS AKA - Milenage algorithm (3GPP TS 35.205, .206, .207, .208) 3 * Copyright (c) 2006-2007 <j@w1.fi> 4 * 5 * This program is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License version 2 as 7 * published by the Free Software Foundation. 8 * 9 * Alternatively, this software may be distributed under the terms of BSD 10 * license. 11 * 12 * See README and COPYING for more details. 13 */ 14 15 #ifndef MILENAGE_H 16 #define MILENAGE_H 17 18 void milenage_generate(const u8 *opc, const u8 *amf, const u8 *k, 19 const u8 *sqn, const u8 *_rand, u8 *autn, u8 *ik, 20 u8 *ck, u8 *res, size_t *res_len); 21 int milenage_auts(const u8 *opc, const u8 *k, const u8 *_rand, const u8 *auts, 22 u8 *sqn); 23 int gsm_milenage(const u8 *opc, const u8 *k, const u8 *_rand, u8 *sres, 24 u8 *kc); 25 int milenage_check(const u8 *opc, const u8 *k, const u8 *sqn, const u8 *_rand, 26 const u8 *autn, u8 *ik, u8 *ck, u8 *res, size_t *res_len, 27 u8 *auts); 28 int milenage_f1(const u8 *opc, const u8 *k, const u8 *_rand, 29 const u8 *sqn, const u8 *amf, u8 *mac_a, u8 *mac_s); 30 int milenage_f2345(const u8 *opc, const u8 *k, const u8 *_rand, 31 u8 *res, u8 *ck, u8 *ik, u8 *ak, u8 *akstar); 32 33 #endif /* MILENAGE_H */ 34