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

Consistency checks for configuration options. More...

Macros

#define ATCAC_SHA1_EN   (DEFAULT_ENABLED)
 
#define ATCAC_SHA256_EN   (FEATURE_ENABLED)
 
#define ATCAC_SHA384_EN   (FEATURE_DISABLED)
 
#define ATCAC_SHA512_EN   (FEATURE_DISABLED)
 
#define ATCAC_SHA256_HMAC_EN   ATCAC_SHA256_EN
 
#define ATCAC_SHA256_HMAC_CTR_EN   ATCAC_SHA256_HMAC_EN
 
#define ATCAC_RANDOM_EN   ATCA_HOSTLIB_EN
 
#define ATCAC_VERIFY_EN   ATCA_HOSTLIB_EN
 
#define ATCAC_SIGN_EN   ATCA_HOSTLIB_EN
 
#define ATCA_CRYPTO_SHA1_EN   (ATCAC_SHA1_EN && !ATCA_HOSTLIB_EN)
 
#define ATCA_CRYPTO_SHA256_EN   ((ATCAC_SHA256_EN) && !ATCA_HOSTLIB_EN)
 
#define ATCA_CRYPTO_SHA384_EN   ((ATCAC_SHA384_EN) && !ATCA_HOSTLIB_EN)
 
#define ATCA_CRYPTO_SHA512_EN   ((ATCAC_SHA512_EN) && !ATCA_HOSTLIB_EN)
 
#define ATCA_CRYPTO_SHA2_EN   (ATCA_CRYPTO_SHA256_EN || ATCA_CRYPTO_SHA384_EN || ATCA_CRYPTO_SHA512_EN)
 
#define ATCA_CRYPTO_SHA2_HMAC_EN   (ATCAC_SHA256_HMAC_EN && !ATCA_HOSTLIB_EN)
 
#define ATCA_CRYPTO_SHA2_HMAC_CTR_EN   ATCAC_SHA256_HMAC_CTR_EN
 
#define ATCAC_PBKDF2_SHA256_EN   ATCAC_SHA256_HMAC_EN
 
#define ATCAB_PBKDF2_SHA256_EN   (CALIB_SHA_HMAC_EN || TALIB_SHA_HMAC_EN)
 
#define ATCAC_AES_GCM_EN   (ATCA_HOSTLIB_EN)
 
#define ATCA_CRYPTO_AES_GCM_EN   (!ATCA_HOSTLIB_EN)
 
#define ATCAC_AES_CMAC_EN   (ATCA_HOSTLIB_EN)
 
#define ATCA_CRYPTO_AES_CMAC_EN   (!ATCA_HOSTLIB_EN)
 

Detailed Description

Consistency checks for configuration options.

Macro Definition Documentation

◆ ATCA_CRYPTO_AES_CMAC_EN

#define ATCA_CRYPTO_AES_CMAC_EN   (!ATCA_HOSTLIB_EN)

Enable ATCA_CRYPTO_AES_CMAC_EN to enable AES CMAC host side api

◆ ATCA_CRYPTO_AES_GCM_EN

#define ATCA_CRYPTO_AES_GCM_EN   (!ATCA_HOSTLIB_EN)

Enable ATCA_CRYPTO_AES_GCM_EN to enable AES GCM host side api

◆ ATCA_CRYPTO_SHA1_EN

#define ATCA_CRYPTO_SHA1_EN   (ATCAC_SHA1_EN && !ATCA_HOSTLIB_EN)

Enable ATCAC_SHA1_EN to enable sha1 host side api

Supported API's: atcab_write

◆ ATCA_CRYPTO_SHA256_EN

#define ATCA_CRYPTO_SHA256_EN   ((ATCAC_SHA256_EN) && !ATCA_HOSTLIB_EN)

Enable ATCA_CRYPTO_SHA256_EN to enable SHA2 host side api

◆ ATCA_CRYPTO_SHA2_EN

#define ATCA_CRYPTO_SHA2_EN   (ATCA_CRYPTO_SHA256_EN || ATCA_CRYPTO_SHA384_EN || ATCA_CRYPTO_SHA512_EN)

Enable ATCAC_SHA2_EN to enable sha2 host side api

◆ ATCA_CRYPTO_SHA2_HMAC_CTR_EN

#define ATCA_CRYPTO_SHA2_HMAC_CTR_EN   ATCAC_SHA256_HMAC_CTR_EN

Requires: ATCAC_SHA256_HMAC_EN

Enable ATCAC_SHA256_HMAC_COUNTER to implement SHA256 HMAC-Counter per NIST SP 800-108 used for KDF like operations

Supported API's: atcac_sha256_hmac_counter

◆ ATCA_CRYPTO_SHA2_HMAC_EN

#define ATCA_CRYPTO_SHA2_HMAC_EN   (ATCAC_SHA256_HMAC_EN && !ATCA_HOSTLIB_EN)

Requires: ATCAC_SHA256_EN

Enable ATCAC_SHA256_HMAC to initialize context for performing HMAC (sha256) in software

Supported API's: atcac_sha256_hmac_init, atcac_sha256_hmac_update, atcac_sha256_hmac_finish

◆ ATCA_CRYPTO_SHA384_EN

#define ATCA_CRYPTO_SHA384_EN   ((ATCAC_SHA384_EN) && !ATCA_HOSTLIB_EN)

Enable ATCA_CRYPTO_SHA384_EN to enable SHA384 host side api

◆ ATCA_CRYPTO_SHA512_EN

#define ATCA_CRYPTO_SHA512_EN   ((ATCAC_SHA512_EN) && !ATCA_HOSTLIB_EN)

Enable ATCA_CRYPTO_SHA512_EN to enable SHA2512 host side api

◆ ATCAB_PBKDF2_SHA256_EN

#define ATCAB_PBKDF2_SHA256_EN   (CALIB_SHA_HMAC_EN || TALIB_SHA_HMAC_EN)

Requires: CALIB_SHA_HMAC_EN

Enable ATCAB_PBKDF2_SHA256_EN to calculate a PBKDF2 password hash using a stored key inside a device. The key length is determined by the device being used. ECCx08: 32 bytes, TA100: 16-64 bytes

Supported API's: atcab_pbkdf2_256, atcab_pbkdf2_256_ext

◆ ATCAC_AES_CMAC_EN

#define ATCAC_AES_CMAC_EN   (ATCA_HOSTLIB_EN)

Indicates if this module is a provider of an AES-CMAC implementation

◆ ATCAC_AES_GCM_EN

#define ATCAC_AES_GCM_EN   (ATCA_HOSTLIB_EN)

Indicates if this module is a provider of an AES-GCM implementation

◆ ATCAC_PBKDF2_SHA256_EN

#define ATCAC_PBKDF2_SHA256_EN   ATCAC_SHA256_HMAC_EN

Requires: ATCAC_SHA256_EN ATCAC_SHA256_HMAC_EN

Enable ATCAC_PBKDF2_SHA256_EN to calculate a PBKDF2 hash of a given password and salt

Supported API's: atcac_pbkdf2_256

◆ ATCAC_RANDOM_EN

#define ATCAC_RANDOM_EN   ATCA_HOSTLIB_EN

Requires: ATCA_HOSTLIB_EN

Enable ATCAC_RANDOM_EN get random numbers from the host's implementation - generally assumed to come from the host's cryptographic library or peripheral driver

◆ ATCAC_SHA1_EN

#define ATCAC_SHA1_EN   (DEFAULT_ENABLED)

Enable ATCAC_SHA1_EN to enable sha1 host side api

Supported API's: atcab_write

◆ ATCAC_SHA256_EN

#define ATCAC_SHA256_EN   (FEATURE_ENABLED)

Enable ATCAC_SHA256_EN to enable sha256 host side api

◆ ATCAC_SHA384_EN

#define ATCAC_SHA384_EN   (FEATURE_DISABLED)

Enable ATCAC_SHA384_EN to enable sha384 host side api

Disabled by default. Enable ATCAC_SHA512_EN to use SHA384

◆ ATCAC_SHA512_EN

#define ATCAC_SHA512_EN   (FEATURE_DISABLED)

Enable ATCAC_SHA512_EN to enable sha512 host side api

Disabled by default. Use FEATURE_ENABLED to enable this feature

◆ ATCAC_SIGN_EN

#define ATCAC_SIGN_EN   ATCA_HOSTLIB_EN

Requires: ATCA_HOSTLIB_EN

Enable ATCAC_SIGN_EN to use the host's sign functions. Generally assumed to come from the host's cryptographic library or peripheral driver.

◆ ATCAC_VERIFY_EN

#define ATCAC_VERIFY_EN   ATCA_HOSTLIB_EN

Requires: ATCA_HOSTLIB_EN

Enable ATCAC_VERIFY_EN to use the host's verify functions. Generally assumed to come from the host's cryptographic library or peripheral driver.