LoRaWANCH341 Library
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Static Private Member Functions | List of all members
AESCMAC Class Reference

AES-CMAC Implementation This class provides methods to calculate AES-CMAC and perform AES encryption. More...

#include <AES-CMAC.hpp>

Collaboration diagram for AESCMAC:
Collaboration graph

Public Member Functions

void test_encrypt_block (const std::array< uint8_t, 16 > &input, const std::array< uint8_t, 16 > &key, std::array< uint8_t, 16 > &output)
 

Static Public Member Functions

static std::array< uint8_t, 16 > calculate (const std::vector< uint8_t > &message, const std::array< uint8_t, 16 > &key)
 
static void aes_encrypt (uint8_t *input, const uint8_t *key, uint8_t *output)
 

Static Private Member Functions

static void generate_subkey (const std::array< uint8_t, 16 > &key, std::array< uint8_t, 16 > &k1, std::array< uint8_t, 16 > &k2)
 
static void xor_block (uint8_t *output, const uint8_t *input, size_t len)
 
static void left_shift (uint8_t *input, uint8_t *output)
 

Detailed Description

AES-CMAC Implementation This class provides methods to calculate AES-CMAC and perform AES encryption.

Member Function Documentation

◆ aes_encrypt()

void AESCMAC::aes_encrypt ( uint8_t *  input,
const uint8_t *  key,
uint8_t *  output 
)
static
Here is the caller graph for this function:

◆ calculate()

std::array< uint8_t, 16 > AESCMAC::calculate ( const std::vector< uint8_t > &  message,
const std::array< uint8_t, 16 > &  key 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ generate_subkey()

void AESCMAC::generate_subkey ( const std::array< uint8_t, 16 > &  key,
std::array< uint8_t, 16 > &  k1,
std::array< uint8_t, 16 > &  k2 
)
staticprivate
Here is the call graph for this function:
Here is the caller graph for this function:

◆ left_shift()

void AESCMAC::left_shift ( uint8_t *  input,
uint8_t *  output 
)
staticprivate
Here is the caller graph for this function:

◆ test_encrypt_block()

void AESCMAC::test_encrypt_block ( const std::array< uint8_t, 16 > &  input,
const std::array< uint8_t, 16 > &  key,
std::array< uint8_t, 16 > &  output 
)
Here is the call graph for this function:

◆ xor_block()

void AESCMAC::xor_block ( uint8_t *  output,
const uint8_t *  input,
size_t  len 
)
staticprivate

The documentation for this class was generated from the following files: