Manangement Frames protection module. More...
#include "rwnx_config.h"#include "dbg_assert.h"#include "mac_frame.h"#include "co_utils.h"#include "mfp_bip.h"#include "hsu.h"Go to the source code of this file.
Defines | |
| #define | S(a, s) sbox_t[(a >> s) & 0xff] |
| Apply Substitution. | |
| #define | SX2(a, s) x_time2_sbox_t[(a >> s) & 0xff] |
| apply substitution square | |
| #define | SX3(a, s) x_time3_sbox_t[(a >> s) & 0xff] |
| apply substitution cube | |
Functions | |
| __INLINE uint32_t | sched_core (uint32_t val, int r) |
| Key schedule core function. | |
| static void | aes_expand_key (uint32_t *key, uint32_t *rk) |
| expand AES key. | |
| __INLINE void | add_round_key (uint32_t *rk, uint32_t *data, int r) |
| AddRoundKey step of AES encryption. | |
| __INLINE void | shift_sub (uint32_t *data) |
| SubBytes and ShiftRows steps of AES encryption. | |
| __INLINE void | mix_shift_sub (uint32_t *data) |
| SubBytes, ShiftRows and MixColumns steps of AES encryption. | |
| static void | aes_encrypt_block (uint32_t *rk, uint32_t *data) |
| Encrypt a block of data inplace with AES. | |
| static void | aes_cmac_shift_sub_key (uint32_t *k) |
| Left shift by 1 bit and XOR CMAC subkey. | |
| __INLINE void | xor_block (uint32_t *a, uint32_t *b) |
| XOR two vectors of 16 bytes. | |
| static uint64_t | aes_cmac (uint32_t *key, int nb_elem, uint32_t addr[], int len[]) |
| Compute AES-CMAC on provided vectors. | |
| uint64_t | mfp_compute_bip (struct key_info_tag *key, uint32_t frame_addr, int frame_len, int machdr_len, uint32_t mmic_addr) |
| Compute MIC for BIP (Broadcast Integrity Protocol). | |
Variables | |
| static const uint8_t | sbox_t [256] |
| Substitution box. | |
| static const uint8_t | x_time2_sbox_t [256] |
| Substitution box (square). | |
| static const uint8_t | x_time3_sbox_t [256] |
| Substitution box (cube). | |
| const uint32_t | rcon_t [] |
| rcon: exponentiation of 2 to a user-specified value | |
| uint16_t | mfp_aad [10] |
| Additional Authentication Data vector for MIC computation Must be in SHARED RAM when HSU is used. | |
Manangement Frames protection module.
Copyright (C) RivieraWaves 2015-2019
Definition in file mfp_bip.c.
1.6.1