libosmogsm 1.13.1.1-afb4 Osmocom GSM library

Data Structures | Macros | Enumerations | Functions | Variables
auth.h File Reference
GSM/GPRS/3G Authentication
`#include <stdint.h>`
`#include <osmocom/core/linuxlist.h>`
`#include <osmocom/core/utils.h>`

Go to the source code of this file.

## Data Structures
struct | osmo_sub_auth_data2
| permanent (secret) subscriber auth data More...
struct | osmo_sub_auth_data
struct | osmo_auth_vector
struct | osmo_auth_impl

## Macros
#define | OSMO_A5_MAX_KEY_LEN_BYTES (128/8)
#define | OSMO_MILENAGE_IND_BITLEN_MAX 28
#define | OSMO_AUTH_ALG_XOR OSMO_AUTH_ALG_XOR_3G

## Enumerations
enum | osmo_sub_auth_type { OSMO_AUTH_TYPE_NONE = 0x00 , OSMO_AUTH_TYPE_GSM = 0x01 , OSMO_AUTH_TYPE_UMTS = 0x02 }
| Authentication Type (GSM/UMTS) More...
enum | osmo_auth_algo { OSMO_AUTH_ALG_NONE , OSMO_AUTH_ALG_COMP128v1 , OSMO_AUTH_ALG_COMP128v2 , OSMO_AUTH_ALG_COMP128v3 , OSMO_AUTH_ALG_XOR_3G , OSMO_AUTH_ALG_MILENAGE , OSMO_AUTH_ALG_XOR_2G , OSMO_AUTH_ALG_TUAK , _OSMO_AUTH_ALG_NUM }
| Authentication Algorithm. More...

## Functions
static const char * | osmo_sub_auth_type_name (enum osmo_sub_auth_type val)
int | osmo_auth_gen_vec (struct osmo_auth_vector *vec, struct osmo_sub_auth_data *aud, const uint8_t *_rand)
| Generate authentication vector. More...
int | osmo_auth_gen_vec2 (struct osmo_auth_vector *vec, struct osmo_sub_auth_data2 *aud, const uint8_t *_rand)
| Generate authentication vector. More...
int | osmo_auth_gen_vec_auts (struct osmo_auth_vector *vec, struct osmo_sub_auth_data *aud, const uint8_t *auts, const uint8_t *rand_auts, const uint8_t *_rand)
| Generate authentication vector and re-sync sequence. More...
int | osmo_auth_gen_vec_auts2 (struct osmo_auth_vector *vec, struct osmo_sub_auth_data2 *aud, const uint8_t *auts, const uint8_t *rand_auts, const uint8_t *_rand)
| Generate authentication vector and re-sync sequence. More...
int | osmo_auth_register (struct osmo_auth_impl *impl)
| Register an authentication algorithm implementation with the core. More...
int | osmo_auth_load (const char *path)
| Load all available authentication plugins from the given path. More...
int | osmo_auth_supported (enum osmo_auth_algo algo)
| Determine if a given authentication algorithm is supported. More...
void | osmo_c4 (uint8_t *ck, const uint8_t *kc)
const char * | osmo_auth_alg_name (enum osmo_auth_algo alg)
| Get human-readable name of authentication algorithm. More...
enum osmo_auth_algo | osmo_auth_alg_parse (const char *name)
| Parse human-readable name of authentication algorithm. More...
void | osmo_auth_c3 (uint8_t kc[], const uint8_t ck[], const uint8_t ik[])
void | osmo_auth_c2 (uint8_t sres[4], const uint8_t *res, size_t res_len, uint8_t sres_deriv_func)
| Derive GSM SRES from UMTS [X]RES (auth function c2 from 3GPP TS 33.103 Section 6.8.1.2. More...

## Variables
const struct value_string | osmo_sub_auth_type_names []