kdf.c File Reference
key derivation functions
`#include <stdint.h>`
`#include <string.h>`
`#include "../../config.h"`
`#include <gnutls/gnutls.h>`
`#include <gnutls/crypto.h>`
`#include <osmocom/core/bit32gen.h>`
`#include <osmocom/crypt/kdf.h>`
`#include "kdf/common.h"`
`#include "kdf/sha256.h"`

## Macros

#define | HMAC_FUNC(k, lk, s, sl, out) gnutls_hmac_fast(GNUTLS_MAC_SHA256,k,lk,s,sl,out)

## Functions

| __attribute__ ((constructor))
| __attribute__ ((destructor))
void | osmo_kdf_kc128 (const uint8_t *ck, const uint8_t *ik, uint8_t *kc128)
void | osmo_kdf_kasme (const uint8_t *ck, const uint8_t *ik, const uint8_t *plmn_id, const uint8_t *sqn, const uint8_t *ak, uint8_t *kasme)
void | osmo_kdf_enb (const uint8_t *kasme, uint32_t ul_count, uint8_t *kenb)
void | osmo_kdf_nh (const uint8_t *kasme, const uint8_t *sync_input, uint8_t *nh)
void | osmo_kdf_nas (uint8_t algo_type, uint8_t algo_id, const uint8_t *kasme, uint8_t *knas)

## Macro Definition Documentation

## HMAC_FUNC

#define HMAC_FUNC | ( |  | k,
|  |  | lk,
|  |  | s,
|  |  | sl,
|  |  | out
| ) |  | gnutls_hmac_fast(GNUTLS_MAC_SHA256,k,lk,s,sl,out)

## Function Documentation

## __attribute__() [1/2]

__attribute__ | ( | (constructor) |  | ) |

## __attribute__() [2/2]

__attribute__ | ( | (destructor) |  | ) |