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