Harald Welte | c918e4e | 2019-07-12 18:53:55 +0800 | [diff] [blame] | 1 | #pragma once |
| 2 | |
| 3 | #include <stdint.h> |
| 4 | |
| 5 | #define HSS_SQN_LEN 6 |
| 6 | #define HSS_AK_LEN 6 |
| 7 | |
| 8 | void hss_auc_kasme(const uint8_t *ck, const uint8_t *ik, |
| 9 | const uint8_t plmn_id[3], const uint8_t *sqn, const uint8_t *ak, |
| 10 | uint8_t *kasme); |
| 11 | |
| 12 | /* Algorithm Type Distinguishers */ |
| 13 | #define MME_KDF_NAS_ENC_ALG 0x01 |
| 14 | #define MME_KDF_NAS_INT_ALG 0x02 |
| 15 | |
| 16 | void mme_kdf_nas(uint8_t algorithm_type_distinguishers, |
| 17 | uint8_t algorithm_identity, const uint8_t *kasme, uint8_t *knas); |
| 18 | |
| 19 | void mme_kdf_enb(const uint8_t *kasme, uint32_t ul_count, uint8_t *kenb); |
| 20 | |
| 21 | void mme_kdf_nh(const uint8_t *kasme, const uint8_t *sync_input, uint8_t *kenb); |