#include "includes.h"
#include "common.h"
#include "crypto/aes_wrap.h"
#include "milenage.h"
Go to the source code of this file.
Functions | |
int | gsm_milenage (const u8 *opc, const u8 *k, const u8 *_rand, u8 *sres, u8 *kc) |
int | milenage_auts (const u8 *opc, const u8 *k, const u8 *_rand, const u8 *auts, u8 *sqn) |
int | milenage_check (const u8 *opc, const u8 *k, const u8 *sqn, const u8 *_rand, const u8 *autn, u8 *ik, u8 *ck, u8 *res, size_t *res_len, u8 *auts) |
int | milenage_f1 (const u8 *opc, const u8 *k, const u8 *_rand, const u8 *sqn, const u8 *amf, u8 *mac_a, u8 *mac_s) |
int | milenage_f2345 (const u8 *opc, const u8 *k, const u8 *_rand, u8 *res, u8 *ck, u8 *ik, u8 *ak, u8 *akstar) |
void | milenage_generate (const u8 *opc, const u8 *amf, const u8 *k, const u8 *sqn, const u8 *_rand, u8 *autn, u8 *ik, u8 *ck, u8 *res, size_t *res_len) |
gsm_milenage - Generate GSM-Milenage (3GPP TS 55.205) authentication triplet : OPc = 128-bit operator variant algorithm configuration field (encr.) : K = 128-bit subscriber key : RAND = 128-bit random challenge : Buffer for SRES = 32-bit SRES : Buffer for Kc = 64-bit Kc Returns: 0 on success, -1 on failure
Definition at line 241 of file milenage.c.
milenage_auts - Milenage AUTS validation : OPc = 128-bit operator variant algorithm configuration field (encr.) : K = 128-bit subscriber key : RAND = 128-bit random challenge : AUTS = 112-bit authentication token from client : Buffer for SQN = 48-bit sequence number Returns: 0 = success (sqn filled), -1 on failure
Definition at line 214 of file milenage.c.
int milenage_check | ( | const u8 * | opc, | |
const u8 * | k, | |||
const u8 * | sqn, | |||
const u8 * | _rand, | |||
const u8 * | autn, | |||
u8 * | ik, | |||
u8 * | ck, | |||
u8 * | res, | |||
size_t * | res_len, | |||
u8 * | auts | |||
) |
milenage_generate - Generate AKA AUTN,IK,CK,RES : OPc = 128-bit operator variant algorithm configuration field (encr.) : K = 128-bit subscriber key : SQN = 48-bit sequence number : RAND = 128-bit random challenge : AUTN = 128-bit authentication token : Buffer for IK = 128-bit integrity key (f4), or NULL : Buffer for CK = 128-bit confidentiality key (f3), or NULL : Buffer for RES = 64-bit signed response (f2), or NULL : Variable that will be set to RES length : 112-bit buffer for AUTS Returns: 0 on success, -1 on failure, or -2 on synchronization failure
Definition at line 276 of file milenage.c.
int milenage_f1 | ( | const u8 * | opc, | |
const u8 * | k, | |||
const u8 * | _rand, | |||
const u8 * | sqn, | |||
const u8 * | amf, | |||
u8 * | mac_a, | |||
u8 * | mac_s | |||
) |
milenage_f1 - Milenage f1 and f1* algorithms : OPc = 128-bit value derived from OP and K : K = 128-bit subscriber key : RAND = 128-bit random challenge : SQN = 48-bit sequence number : AMF = 16-bit authentication management field : Buffer for MAC-A = 64-bit network authentication code, or NULL : Buffer for MAC-S = 64-bit resync authentication code, or NULL Returns: 0 on success, -1 on failure
Definition at line 42 of file milenage.c.
int milenage_f2345 | ( | const u8 * | opc, | |
const u8 * | k, | |||
const u8 * | _rand, | |||
u8 * | res, | |||
u8 * | ck, | |||
u8 * | ik, | |||
u8 * | ak, | |||
u8 * | akstar | |||
) |
milenage_f2345 - Milenage f2, f3, f4, f5, f5* algorithms : OPc = 128-bit value derived from OP and K : K = 128-bit subscriber key : RAND = 128-bit random challenge : Buffer for RES = 64-bit signed response (f2), or NULL : Buffer for CK = 128-bit confidentiality key (f3), or NULL : Buffer for IK = 128-bit integrity key (f4), or NULL : Buffer for AK = 48-bit anonymity key (f5), or NULL : Buffer for AK = 48-bit anonymity key (f5*), or NULL Returns: 0 on success, -1 on failure
Definition at line 94 of file milenage.c.
void milenage_generate | ( | const u8 * | opc, | |
const u8 * | amf, | |||
const u8 * | k, | |||
const u8 * | sqn, | |||
const u8 * | _rand, | |||
u8 * | autn, | |||
u8 * | ik, | |||
u8 * | ck, | |||
u8 * | res, | |||
size_t * | res_len | |||
) |
milenage_generate - Generate AKA AUTN,IK,CK,RES : OPc = 128-bit operator variant algorithm configuration field (encr.) : AMF = 16-bit authentication management field : K = 128-bit subscriber key : SQN = 48-bit sequence number : RAND = 128-bit random challenge : Buffer for AUTN = 128-bit authentication token : Buffer for IK = 128-bit integrity key (f4), or NULL : Buffer for CK = 128-bit confidentiality key (f3), or NULL : Buffer for RES = 64-bit signed response (f2), or NULL : Max length for res; set to used length or 0 on failure
Definition at line 179 of file milenage.c.