8.4.1.1 Crypto_Sym_Aes_Init
crypto_Sym_Status_E Crypto_Sym_Aes_Init(
st_Crypto_Sym_BlockCtx *ptr_aesCtx_st,
crypto_HandlerType_E handlerType_en,
crypto_CipherOper_E cipherOpType_en,
crypto_Sym_OpModes_E opMode_en,
uint8_t *ptr_key,
uint32_t keyLen,
uint8_t *ptr_initVect,
uint32_t sessionID
);Description
This API is used to initiate the AES algorithm parameters for the context.
Parameters
| No. | Argument Type | Argument Name | Type | Description |
|---|---|---|---|---|
| 1 | st_Crypto_Sym_BlockCtx* | ptr_aesCtx_st | Input | AES algorithm context. |
| 2 | crypto_HandlerType_E | handlerType_en | Input | Enum for crypto operation handler i.e., SW, HW. |
| 3 | crypto_CipherOper_E | cipherOpType_en | Input | Selection cipher operation is encryption or decryption. |
| 4 | crypto_Sym_OpModes_E | opMode_en | Input | Select operation mode. i.e., ECB, CBC, or others. |
| 5 | uint8_t* | ptr_key | Input | Key for the Symmetric operation. |
| 6 | uint32_t | keyLen | Input | Key length for the Symmetric algorithm in bytes. |
| 7 | uint8_t* | ptr_initVect | Input | Initialization vector (known as “Nonce” for CTR). Use NULL when ECB mode or XTS mode. |
| 8 | uint32_t | sessionID | Input | It defines the session ID, must be more than zero. |
Returns
| Return Type | Description |
|---|---|
| crypto_Sym_Status_E | Function returns the status of the API. |
Prerequisites
- To use the HW handler, the algorithm must be enabled in Crypto v4 in MPLAB® Code Configurator.
- To use the SW handler, the algorithm must be enabled in wolfCrypt, and linked to Crypto V4 in MPLAB® Code Configurator.
Example
Example provided in Crypto_Sym_Aes_Cipher.
