libosmogsm  0.11.0-dirty
Osmocom GSM library
include/osmocom/crypt/gprs_cipher.h File Reference
#include <osmocom/core/linuxlist.h>
#include <osmocom/core/utils.h>
#include <stdint.h>

Go to the source code of this file.

Data Structures

struct  gprs_cipher_impl

Defines

#define GSM0464_CIPH_MAX_BLOCK   1523

Enumerations

enum  gprs_ciph_algo {
  GPRS_ALGO_GEA0 = 0,
  GPRS_ALGO_GEA1 = 1,
  GPRS_ALGO_GEA2 = 2,
  GPRS_ALGO_GEA3 = 3,
  GPRS_ALGO_GEA4 = 4,
  _GPRS_ALGO_NUM
}
enum  gprs_cipher_direction {
  GPRS_CIPH_MS2SGSN = 0,
  GPRS_CIPH_SGSN2MS = 1
}

Functions

int gprs_cipher_register (struct gprs_cipher_impl *ciph)
int gprs_cipher_load (const char *path)
int gprs_cipher_run (uint8_t *out, uint16_t len, enum gprs_ciph_algo algo, uint8_t *kc, uint32_t iv, enum gprs_cipher_direction dir)
int gprs_cipher_supported (enum gprs_ciph_algo algo)
unsigned gprs_cipher_key_length (enum gprs_ciph_algo algo)
 Obtain key lenght for given GPRS cipher.
uint32_t gprs_cipher_gen_input_ui (uint32_t iov_ui, uint8_t sapi, uint32_t lfn, uint32_t oc)
uint32_t gprs_cipher_gen_input_i (uint32_t iov_i, uint32_t lfn, uint32_t oc)

Variables

struct value_string gprs_cipher_names []

Detailed Description


Define Documentation

#define GSM0464_CIPH_MAX_BLOCK   1523

Referenced by gprs_cipher_run().


Enumeration Type Documentation

Enumerator:
GPRS_ALGO_GEA0 
GPRS_ALGO_GEA1 
GPRS_ALGO_GEA2 
GPRS_ALGO_GEA3 
GPRS_ALGO_GEA4 
_GPRS_ALGO_NUM 
Enumerator:
GPRS_CIPH_MS2SGSN 
GPRS_CIPH_SGSN2MS 
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines