1 /* 2 * UMTS AKA - Milenage algorithm (3GPP TS 35.205, .206, .207, .208) 3 * Copyright (c) 2006-2007 <j (at) 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 */ 28