33 #ifndef MCUXCLELS_CIPHER_H_ 34 #define MCUXCLELS_CIPHER_H_ 36 #include <mcuxClConfig.h> 62 #define MCUXCLELS_CIPHER_ENCRYPT 0U 63 #define MCUXCLELS_CIPHER_DECRYPT 1U 65 #define MCUXCLELS_CIPHER_STATE_OUT_ENABLE 1U 66 #define MCUXCLELS_CIPHER_STATE_OUT_DISABLE 0U 68 #ifndef MCUXCL_FEATURE_ELS_NO_INTERNAL_STATE_FLAGS 69 #define MCUXCLELS_CIPHER_STATE_IN_ENABLE 1U 70 #define MCUXCLELS_CIPHER_STATE_IN_DISABLE 0U 73 #define MCUXCLELS_CIPHER_EXTERNAL_KEY 1U 74 #define MCUXCLELS_CIPHER_INTERNAL_KEY 0U 76 #define MCUXCLELS_CIPHERPARAM_ALGORITHM_AES_ECB 0x00U 77 #define MCUXCLELS_CIPHERPARAM_ALGORITHM_AES_CBC 0x01U 78 #define MCUXCLELS_CIPHERPARAM_ALGORITHM_AES_CTR 0x02U 87 #define MCUXCLELS_CIPHER_BLOCK_SIZE_AES ((size_t) 16U) 96 #define MCUXCLELS_CIPHER_KEY_SIZE_AES_128 ((size_t) 16U) 97 #define MCUXCLELS_CIPHER_KEY_SIZE_AES_192 ((size_t) 24U) 98 #define MCUXCLELS_CIPHER_KEY_SIZE_AES_256 ((size_t) 32U) 132 #ifndef MCUXCL_FEATURE_ELS_NO_INTERNAL_STATE_FLAGS 219 uint8_t
const * pKey,
221 uint8_t
const * pInput,
uint32_t mcuxClEls_Status_t
Type for ELS driver status codes.
Definition: mcuxClEls_Types.h:211
Command option bit field for mcuxClEls_Cipher_Async.
Definition: mcuxClEls_Cipher.h:120
uint32_t cphsoe
Define whether the ELS internal cipher state should be extracted to external memory or kept internall...
Definition: mcuxClEls_Cipher.h:131
MCUXCLELS_API mcuxClEls_Status_t mcuxClEls_Cipher_Async(mcuxClEls_CipherOption_t options, mcuxClEls_KeyIndex_t keyIdx, uint8_t const *pKey, size_t keyLength, uint8_t const *pInput, size_t inputLength, uint8_t *pIV, uint8_t *pOutput)
Performs AES encryption/decryption.
uint32_t cphsie
Define whether an external provided cipher state should be imported from external memory.
Definition: mcuxClEls_Cipher.h:133
uint32_t value
Accesses the bit field as a full word.
Definition: mcuxClEls_Cipher.h:124
uint32_t extkey
Define whether an external key from memory or ELS internal key should be used.
Definition: mcuxClEls_Cipher.h:138
ELS header for common functionality.
#define MCUXCLELS_API
Marks a function as a public API function of the mcuxClEls component.
Definition: mcuxClEls_Common.h:47
uint32_t cphmde
Define cipher mode.
Definition: mcuxClEls_Cipher.h:130
#define MCUX_CSSL_FP_FUNCTION_DECL(...)
Declaration of a flow protected function.
Definition: mcuxCsslFlowProtection.h:125
uint32_t dcrpt
Define operation mode.
Definition: mcuxClEls_Cipher.h:129
uint32_t mcuxClEls_KeyIndex_t
Type for ELS keystore indices.
Definition: mcuxClEls_Types.h:221
#define MCUX_CSSL_FP_PROTECTED_TYPE(resultType)
Based on a given base type, builds a return type with flow protection.
Definition: mcuxCsslFlowProtection.h:81