auth_core.c File Reference
GSM/GPRS/3G Authentication
`#include "config.h"`
`#include <errno.h>`
`#include <stdint.h>`
`#include <string.h>`
`#include <osmocom/core/utils.h>`
`#include <osmocom/core/linuxlist.h>`
`#include <osmocom/core/plugin.h>`
`#include <osmocom/crypt/auth.h>`

## Functions

static | LLIST_HEAD (osmo_auths)
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...
static void | c5_function (uint8_t *ik, const uint8_t *kc)
void | osmo_c4 (uint8_t *ck, const uint8_t *kc)
int | osmo_auth_3g_from_2g (struct osmo_auth_vector *vec)
| Generate 3G CK + IK from 2G authentication vector. More...
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_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...
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[])

## Variables

static struct osmo_auth_impl * | selected_auths [_OSMO_AUTH_ALG_NUM]
static const struct value_string | auth_alg_vals []
const struct value_string | osmo_sub_auth_type_names []