CryptoAuthLib v3.7.6
Microchip CryptoAuthentication Library
 
Loading...
Searching...
No Matches
crypto_hw_config_check.h File Reference

Consistency checks for configuration options. More...

#include "atca_config_check.h"
#include "calib/calib_config_check.h"
#include "talib/talib_config_check.h"

Macros

#define ATCAB_AES_EXTRAS_EN   (CALIB_AES_EN || TALIB_AES_EN)
 
#define ATCAB_AES_RANDOM_IV_EN   (ATCA_HOSTLIB_EN || CALIB_RANDOM_EN || TALIB_RANDOM_EN)
 
#define ATCAB_AES_UPDATE_EN   ATCAB_AES_EXTRAS_EN
 
#define ATCAB_AES_CBC_ENCRYPT_EN   ATCAB_AES_EXTRAS_EN
 
#define ATCAB_AES_CBC_DECRYPT_EN   ATCAB_AES_EXTRAS_EN
 
#define ATCAB_AES_CBC_UPDATE_EN   ATCAB_AES_UPDATE_EN
 
#define ATCAB_AES_CBCMAC_EN   ATCAB_AES_CBC_ENCRYPT_EN
 
#define ATCAB_AES_CTR_EN   ATCAB_AES_EXTRAS_EN
 
#define ATCAB_AES_CTR_RAND_IV_EN   (ATCAB_AES_CTR_EN && ATCAB_AES_RANDOM_IV_EN)
 
#define ATCAB_AES_CCM_EN   (ATCAB_AES_CBCMAC_EN && ATCAB_AES_CTR_EN)
 
#define ATCAB_AES_CCM_RAND_IV_EN   (ATCAB_AES_CCM_EN && ATCAB_AES_RANDOM_IV_EN)
 
#define ATCAB_AES_CMAC_EN   ATCAB_AES_CBC_ENCRYPT_EN
 
#define ATCAC_PKCS7_PAD_EN   ATCAB_AES_EXTRAS_EN
 

Detailed Description

Consistency checks for configuration options.

Macro Definition Documentation

◆ ATCAB_AES_CBC_DECRYPT_EN

#define ATCAB_AES_CBC_DECRYPT_EN   ATCAB_AES_EXTRAS_EN

Requires: ATCAB_AES_EN

Enable ATCAB_AES_CBC_DECRYPT to decrypt a block of data using CBC mode and a key within the device. atcab_aes_cbc_init() should be called before the first use of this function

Supported API's: atcab_aes_cbc_decrypt_block, atcab_aes_cbc_init_ext, atcab_aes_cbc_init

◆ ATCAB_AES_CBC_ENCRYPT_EN

#define ATCAB_AES_CBC_ENCRYPT_EN   ATCAB_AES_EXTRAS_EN

Requires: ATCAB_AES_EN

Enable ATCAB_AES_CBC_ENCRYPT_EN to encrypt a block of data using CBC mode and a key within the device. atcab_aes_cbc_init() should be called before the first use of this function

Supported API's: atcab_aes_cbc_encrypt_block , atcab_aes_cbc_init_ext, atcab_aes_cbc_init

◆ ATCAB_AES_CBCMAC_EN

#define ATCAB_AES_CBCMAC_EN   ATCAB_AES_CBC_ENCRYPT_EN

Requires: ATCAB_AES_CBCMAC ATCAB_AES_CBC_ENCRYPT ATCAB_AES_MODE_ENCODING CALIB_AES_MODE_ENCODING CALIB_AES

Enable ATCAB_AES_CBCMAC to initialize context for AES CBC-MAC operation Enable ATCAB_AES_CBCMAC to calculate AES CBC-MAC with key stored within ECC608 device Enable ATCAB_AES_CBCMAC to finish a CBC-MAC operation returning the CBC-MAC value

Supported API's: atcab_aes_cbcmac_init_ext atcab_aes_cbcmac_init, atcab_aes_cbcmac_init_update, atcab_aes_cbcmac_finish

◆ ATCAB_AES_CCM_EN

#define ATCAB_AES_CCM_EN   (ATCAB_AES_CBCMAC_EN && ATCAB_AES_CTR_EN)

Requires: ATCAB_AES_EN ATCAB_AES_CTR_EN

Enable ATCAB_AES_CCM_EN to enable AES CCM operation

◆ ATCAB_AES_CTR_EN

#define ATCAB_AES_CTR_EN   ATCAB_AES_EXTRAS_EN

Requires: ATCAB_AES_EN

Enable ATCAB_AES_CTR_EN to support AES-CTR mode

◆ ATCAB_AES_CTR_RAND_IV_EN

#define ATCAB_AES_CTR_RAND_IV_EN   (ATCAB_AES_CTR_EN && ATCAB_AES_RANDOM_IV_EN)

Requires: ATCAB_AES_CTR_EN ATCAB_RANDOM_EN

Enable ATCAB_AES_CTR_RAND_IV_EN to initialize context for AES CTR operation with a random nonce and counter set to 0 as the IV, which is common when starting an encrypt operation

Supported API's: atcab_aes_ctr_init_rand_ext, atcab_aes_ctr_init_rand

◆ ATCAB_AES_EXTRAS_EN

#define ATCAB_AES_EXTRAS_EN   (CALIB_AES_EN || TALIB_AES_EN)

Automatically set base on other configuation options but can be overridden to disable all CBC, CBCMAC, CTR, & CCM modes at once rather than individually

◆ ATCAB_AES_UPDATE_EN

#define ATCAB_AES_UPDATE_EN   ATCAB_AES_EXTRAS_EN

Enable update/finalize APIs for block ciphers