GNU Radio's GSM Package
GSM/GPRS/3G Authentication

Files

file  auth.h
 

Classes

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
 

Enumerations

enum  osmo_sub_auth_type { OSMO_AUTH_TYPE_NONE = 0x00, OSMO_AUTH_TYPE_GSM = 0x01, OSMO_AUTH_TYPE_UMTS = 0x02 }
 
enum  osmo_auth_algo {
  OSMO_AUTH_ALG_NONE, OSMO_AUTH_ALG_COMP128v1, OSMO_AUTH_ALG_COMP128v2, OSMO_AUTH_ALG_COMP128v3,
  OSMO_AUTH_ALG_XOR, OSMO_AUTH_ALG_MILENAGE, _OSMO_AUTH_ALG_NUM
}
 

Functions

int osmo_auth_gen_vec (struct osmo_auth_vector *vec, struct osmo_sub_auth_data *aud, const uint8_t *_rand)
 
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)
 
int osmo_auth_register (struct osmo_auth_impl *impl)
 
int osmo_auth_load (const char *path)
 
int osmo_auth_supported (enum osmo_auth_algo algo)
 
void osmo_c4 (uint8_t *ck, const uint8_t *kc)
 
const char * osmo_auth_alg_name (enum osmo_auth_algo alg)
 
void osmo_auth_c3 (uint8_t kc[], const uint8_t ck[], const uint8_t ik[])
 

Variables

const struct value_string osmo_sub_auth_type_names []
 

Detailed Description

Macro Definition Documentation

◆ OSMO_A5_MAX_KEY_LEN_BYTES

#define OSMO_A5_MAX_KEY_LEN_BYTES   (128/8)

◆ OSMO_MILENAGE_IND_BITLEN_MAX

#define OSMO_MILENAGE_IND_BITLEN_MAX   28

Enumeration Type Documentation

◆ osmo_auth_algo

Authentication Algorithm. See also osmo_auth_alg_name() and osmo_auth_alg_parse().

Enumerator
OSMO_AUTH_ALG_NONE 
OSMO_AUTH_ALG_COMP128v1 
OSMO_AUTH_ALG_COMP128v2 
OSMO_AUTH_ALG_COMP128v3 
OSMO_AUTH_ALG_XOR 
OSMO_AUTH_ALG_MILENAGE 
_OSMO_AUTH_ALG_NUM 

◆ osmo_sub_auth_type

Authentication Type (GSM/UMTS)

Enumerator
OSMO_AUTH_TYPE_NONE 
OSMO_AUTH_TYPE_GSM 
OSMO_AUTH_TYPE_UMTS 

Function Documentation

◆ osmo_auth_alg_name()

const char* osmo_auth_alg_name ( enum osmo_auth_algo  alg)

◆ osmo_auth_c3()

void osmo_auth_c3 ( uint8_t  kc[],
const uint8_t  ck[],
const uint8_t  ik[] 
)

◆ osmo_auth_gen_vec()

int osmo_auth_gen_vec ( struct osmo_auth_vector vec,
struct osmo_sub_auth_data aud,
const uint8_t *  _rand 
)

◆ osmo_auth_gen_vec_auts()

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 
)

◆ osmo_auth_load()

int osmo_auth_load ( const char *  path)

◆ osmo_auth_register()

int osmo_auth_register ( struct osmo_auth_impl impl)

◆ osmo_auth_supported()

int osmo_auth_supported ( enum osmo_auth_algo  algo)

◆ osmo_c4()

void osmo_c4 ( uint8_t *  ck,
const uint8_t *  kc 
)

Variable Documentation

◆ osmo_sub_auth_type_names

const struct value_string osmo_sub_auth_type_names[]