STM32L443xx HAL User Manual
|
Header file of CRYP HAL module. More...
Go to the source code of this file.
Data Structures | |
struct | CRYP_InitTypeDef |
CRYP Configuration Structure definition. More... | |
struct | __CRYP_HandleTypeDef |
CRYP handle Structure definition. More... | |
Defines | |
#define | HAL_CRYP_ERROR_NONE ((uint32_t)0x00000000) |
HAL CRYP Error Codes definition. | |
#define | HAL_CRYP_WRITE_ERROR ((uint32_t)0x00000001) |
#define | HAL_CRYP_READ_ERROR ((uint32_t)0x00000002) |
#define | HAL_CRYP_DMA_ERROR ((uint32_t)0x00000004) |
#define | HAL_CRYP_BUSY_ERROR ((uint32_t)0x00000008) |
#define | HAL_CRYP_ERROR_INVALID_CALLBACK ((uint32_t)0x00000010U) |
#define | CRYP_KEYSIZE_128B ((uint32_t)0x00000000) |
#define | CRYP_KEYSIZE_256B AES_CR_KEYSIZE |
#define | CRYP_DATATYPE_32B ((uint32_t)0x00000000) |
#define | CRYP_DATATYPE_16B AES_CR_DATATYPE_0 |
#define | CRYP_DATATYPE_8B AES_CR_DATATYPE_1 |
#define | CRYP_DATATYPE_1B AES_CR_DATATYPE |
#define | CRYP_AES_DISABLE ((uint32_t)0x00000000) |
#define | CRYP_AES_ENABLE AES_CR_EN |
#define | CRYP_ALGOMODE_ENCRYPT ((uint32_t)0x00000000) |
#define | CRYP_ALGOMODE_KEYDERIVATION AES_CR_MODE_0 |
#define | CRYP_ALGOMODE_DECRYPT AES_CR_MODE_1 |
#define | CRYP_ALGOMODE_KEYDERIVATION_DECRYPT AES_CR_MODE |
#define | CRYP_ALGOMODE_TAG_GENERATION ((uint32_t)0x00000000) |
#define | CRYP_CHAINMODE_AES_ECB ((uint32_t)0x00000000) |
#define | CRYP_CHAINMODE_AES_CBC AES_CR_CHMOD_0 |
#define | CRYP_CHAINMODE_AES_CTR AES_CR_CHMOD_1 |
#define | CRYP_CHAINMODE_AES_GCM_GMAC (AES_CR_CHMOD_0 | AES_CR_CHMOD_1) |
#define | CRYP_CHAINMODE_AES_CMAC AES_CR_CHMOD_2 |
#define | CRYP_KEY_WRITE_ENABLE ((uint32_t)0x00000000) |
#define | CRYP_KEY_WRITE_DISABLE ((uint32_t)0x00000001) |
#define | CRYP_DMAIN_DISABLE ((uint32_t)0x00000000) |
#define | CRYP_DMAIN_ENABLE AES_CR_DMAINEN |
#define | CRYP_DMAOUT_DISABLE ((uint32_t)0x00000000) |
#define | CRYP_DMAOUT_ENABLE AES_CR_DMAOUTEN |
#define | CRYP_GCM_INIT_PHASE ((uint32_t)0x00000000) |
#define | CRYP_GCMCMAC_HEADER_PHASE AES_CR_GCMPH_0 |
#define | CRYP_GCM_PAYLOAD_PHASE AES_CR_GCMPH_1 |
#define | CRYP_GCMCMAC_FINAL_PHASE AES_CR_GCMPH |
#define | CRYP_INIT_PHASE ((uint32_t)0x00000000) |
#define | CRYP_HEADER_PHASE AES_CR_GCMPH_0 |
#define | CRYP_PAYLOAD_PHASE AES_CR_GCMPH_1 |
#define | CRYP_FINAL_PHASE AES_CR_GCMPH |
#define | CRYP_FLAG_BUSY AES_SR_BUSY |
#define | CRYP_FLAG_WRERR AES_SR_WRERR |
#define | CRYP_FLAG_RDERR AES_SR_RDERR |
#define | CRYP_FLAG_CCF AES_SR_CCF |
#define | CRYP_CCF_CLEAR AES_CR_CCFC |
#define | CRYP_ERR_CLEAR AES_CR_ERRC |
#define | CRYP_IT_CCFIE AES_CR_CCFIE |
#define | CRYP_IT_ERRIE AES_CR_ERRIE |
#define | CRYP_IT_WRERR AES_SR_WRERR |
#define | CRYP_IT_RDERR AES_SR_RDERR |
#define | CRYP_IT_CCF AES_SR_CCF |
#define | __HAL_CRYP_RESET_HANDLE_STATE(__HANDLE__) |
Reset CRYP handle state. | |
#define | __HAL_CRYP_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= AES_CR_EN) |
Enable the CRYP AES peripheral. | |
#define | __HAL_CRYP_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR &= ~AES_CR_EN) |
Disable the CRYP AES peripheral. | |
#define | __HAL_CRYP_SET_OPERATINGMODE(__HANDLE__, __OPERATING_MODE__) MODIFY_REG((__HANDLE__)->Instance->CR, AES_CR_MODE, (__OPERATING_MODE__)) |
Set the algorithm operating mode. | |
#define | __HAL_CRYP_SET_CHAININGMODE(__HANDLE__, __CHAINING_MODE__) MODIFY_REG((__HANDLE__)->Instance->CR, AES_CR_CHMOD, (__CHAINING_MODE__)) |
Set the algorithm chaining mode. | |
#define | __HAL_CRYP_GET_FLAG(__HANDLE__, __FLAG__) (((__HANDLE__)->Instance->SR & (__FLAG__)) == (__FLAG__)) |
Check whether the specified CRYP status flag is set or not. | |
#define | __HAL_CRYP_CLEAR_FLAG(__HANDLE__, __FLAG__) SET_BIT((__HANDLE__)->Instance->CR, (__FLAG__)) |
Clear the CRYP pending status flag. | |
#define | __HAL_CRYP_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->Instance->CR & (__INTERRUPT__)) == (__INTERRUPT__)) |
Check whether the specified CRYP interrupt source is enabled or not. | |
#define | __HAL_CRYP_GET_IT(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->Instance->SR & (__INTERRUPT__)) == (__INTERRUPT__)) |
Check whether the specified CRYP interrupt is set or not. | |
#define | __HAL_CRYP_CLEAR_IT(__HANDLE__, __INTERRUPT__) SET_BIT((__HANDLE__)->Instance->CR, (__INTERRUPT__)) |
Clear the CRYP pending interrupt. | |
#define | __HAL_CRYP_ENABLE_IT(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->Instance->CR) |= (__INTERRUPT__)) |
Enable the CRYP interrupt. | |
#define | __HAL_CRYP_DISABLE_IT(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->Instance->CR) &= ~(__INTERRUPT__)) |
Disable the CRYP interrupt. | |
#define | IS_CRYP_KEYSIZE(__KEYSIZE__) |
Verify the key size length. | |
#define | IS_CRYP_DATATYPE(__DATATYPE__) |
Verify the input data type. | |
#define | IS_CRYP_AES(__MODE__) |
Verify the CRYP AES IP running mode. | |
#define | IS_CRYP_ALGOMODE(__ALGOMODE__) |
Verify the selected CRYP algorithm. | |
#define | IS_CRYP_CHAINMODE(__CHAINMODE__) |
Verify the selected CRYP chaining algorithm. | |
#define | IS_CRYP_WRITE(__WRITE__) |
Verify the deciphering key write option. | |
#define | IS_CRYP_DMAIN(__MODE__) |
Verify the CRYP input data DMA mode. | |
#define | IS_CRYP_DMAOUT(__MODE__) |
Verify the CRYP output data DMA mode. | |
#define | IS_CRYP_GCMCMAC_PHASE(__PHASE__) |
Verify the CRYP AES ciphering/deciphering/authentication algorithm phase. | |
Typedefs | |
typedef struct __CRYP_HandleTypeDef | CRYP_HandleTypeDef |
CRYP handle Structure definition. | |
typedef void(* | pCRYP_CallbackTypeDef )(CRYP_HandleTypeDef *hcryp) |
HAL CRYP Callback pointer definition. | |
Enumerations | |
enum | HAL_CRYP_STATETypeDef { HAL_CRYP_STATE_RESET = 0x00, HAL_CRYP_STATE_READY = 0x01, HAL_CRYP_STATE_BUSY = 0x02, HAL_CRYP_STATE_TIMEOUT = 0x03, HAL_CRYP_STATE_ERROR = 0x04, HAL_CRYP_STATE_SUSPENDED = 0x05 } |
HAL CRYP State structures definition. More... | |
enum | HAL_PhaseTypeDef { HAL_CRYP_PHASE_READY = 0x01, HAL_CRYP_PHASE_PROCESS = 0x02, HAL_CRYP_PHASE_START = 0x03, HAL_CRYP_PHASE_INIT_OVER = 0x04, HAL_CRYP_PHASE_HEADER_OVER = 0x05, HAL_CRYP_PHASE_PAYLOAD_OVER = 0x06, HAL_CRYP_PHASE_FINAL_OVER = 0x07, HAL_CRYP_PHASE_HEADER_SUSPENDED = 0x08, HAL_CRYP_PHASE_PAYLOAD_SUSPENDED = 0x09, HAL_CRYP_PHASE_NOT_USED = 0x0a } |
HAL CRYP phase structures definition. More... | |
enum | HAL_SuspendTypeDef { HAL_CRYP_SUSPEND_NONE = 0x00, HAL_CRYP_SUSPEND = 0x01 } |
HAL CRYP mode suspend definitions. More... | |
enum | HAL_CRYP_CallbackIDTypeDef { HAL_CRYP_INPUTCPLT_CB_ID = 0x01U, HAL_CRYP_OUTPUTCPLT_CB_ID = 0x02U, HAL_CRYP_COMPCPLT_CB_ID = 0x03U, HAL_CRYP_ERROR_CB_ID = 0x04U, HAL_CRYP_MSPINIT_CB_ID = 0x05U, HAL_CRYP_MSPDEINIT_CB_ID = 0x06U } |
HAL CRYP common Callback ID enumeration definition. More... | |
Functions | |
HAL_StatusTypeDef | HAL_CRYP_Init (CRYP_HandleTypeDef *hcryp) |
Initialize the CRYP according to the specified parameters in the CRYP_InitTypeDef and initialize the associated handle. | |
HAL_StatusTypeDef | HAL_CRYP_DeInit (CRYP_HandleTypeDef *hcryp) |
DeInitialize the CRYP peripheral. | |
__weak void | HAL_CRYP_MspInit (CRYP_HandleTypeDef *hcryp) |
Initialize the CRYP MSP. | |
__weak void | HAL_CRYP_MspDeInit (CRYP_HandleTypeDef *hcryp) |
DeInitialize CRYP MSP. | |
HAL_StatusTypeDef | HAL_CRYP_AESECB_Encrypt (CRYP_HandleTypeDef *hcryp, uint8_t *pPlainData, uint16_t Size, uint8_t *pCypherData, uint32_t Timeout) |
Encrypt pPlainData in AES ECB encryption mode. | |
HAL_StatusTypeDef | HAL_CRYP_AESECB_Decrypt (CRYP_HandleTypeDef *hcryp, uint8_t *pCypherData, uint16_t Size, uint8_t *pPlainData, uint32_t Timeout) |
Decrypt pCypherData in AES ECB decryption mode with key derivation, the decyphered data are available in pPlainData. | |
HAL_StatusTypeDef | HAL_CRYP_AESCBC_Encrypt (CRYP_HandleTypeDef *hcryp, uint8_t *pPlainData, uint16_t Size, uint8_t *pCypherData, uint32_t Timeout) |
Encrypt pPlainData in AES CBC encryption mode with key derivation. | |
HAL_StatusTypeDef | HAL_CRYP_AESCBC_Decrypt (CRYP_HandleTypeDef *hcryp, uint8_t *pCypherData, uint16_t Size, uint8_t *pPlainData, uint32_t Timeout) |
Decrypt pCypherData in AES ECB decryption mode with key derivation, the decyphered data are available in pPlainData. | |
HAL_StatusTypeDef | HAL_CRYP_AESCTR_Encrypt (CRYP_HandleTypeDef *hcryp, uint8_t *pPlainData, uint16_t Size, uint8_t *pCypherData, uint32_t Timeout) |
Encrypt pPlainData in AES CTR encryption mode. | |
HAL_StatusTypeDef | HAL_CRYP_AESCTR_Decrypt (CRYP_HandleTypeDef *hcryp, uint8_t *pCypherData, uint16_t Size, uint8_t *pPlainData, uint32_t Timeout) |
Decrypt pCypherData in AES CTR decryption mode, the decyphered data are available in pPlainData. | |
HAL_StatusTypeDef | HAL_CRYP_AESECB_Encrypt_IT (CRYP_HandleTypeDef *hcryp, uint8_t *pPlainData, uint16_t Size, uint8_t *pCypherData) |
Encrypt pPlainData in AES ECB encryption mode using Interrupt, the cypher data are available in pCypherData. | |
HAL_StatusTypeDef | HAL_CRYP_AESCBC_Encrypt_IT (CRYP_HandleTypeDef *hcryp, uint8_t *pPlainData, uint16_t Size, uint8_t *pCypherData) |
Encrypt pPlainData in AES CBC encryption mode using Interrupt, the cypher data are available in pCypherData. | |
HAL_StatusTypeDef | HAL_CRYP_AESCTR_Encrypt_IT (CRYP_HandleTypeDef *hcryp, uint8_t *pPlainData, uint16_t Size, uint8_t *pCypherData) |
Encrypt pPlainData in AES CTR encryption mode using Interrupt, the cypher data are available in pCypherData. | |
HAL_StatusTypeDef | HAL_CRYP_AESECB_Decrypt_IT (CRYP_HandleTypeDef *hcryp, uint8_t *pCypherData, uint16_t Size, uint8_t *pPlainData) |
Decrypt pCypherData in AES ECB decryption mode using Interrupt, the decyphered data are available in pPlainData. | |
HAL_StatusTypeDef | HAL_CRYP_AESCTR_Decrypt_IT (CRYP_HandleTypeDef *hcryp, uint8_t *pCypherData, uint16_t Size, uint8_t *pPlainData) |
Decrypt pCypherData in AES CTR decryption mode using Interrupt, the decyphered data are available in pPlainData. | |
HAL_StatusTypeDef | HAL_CRYP_AESCBC_Decrypt_IT (CRYP_HandleTypeDef *hcryp, uint8_t *pCypherData, uint16_t Size, uint8_t *pPlainData) |
Decrypt pCypherData in AES CBC decryption mode using Interrupt, the decyphered data are available in pPlainData. | |
HAL_StatusTypeDef | HAL_CRYP_AESECB_Encrypt_DMA (CRYP_HandleTypeDef *hcryp, uint8_t *pPlainData, uint16_t Size, uint8_t *pCypherData) |
Encrypt pPlainData in AES ECB encryption mode using DMA, the cypher data are available in pCypherData. | |
HAL_StatusTypeDef | HAL_CRYP_AESECB_Decrypt_DMA (CRYP_HandleTypeDef *hcryp, uint8_t *pCypherData, uint16_t Size, uint8_t *pPlainData) |
Decrypt pCypherData in AES ECB decryption mode using DMA, the decyphered data are available in pPlainData. | |
HAL_StatusTypeDef | HAL_CRYP_AESCBC_Encrypt_DMA (CRYP_HandleTypeDef *hcryp, uint8_t *pPlainData, uint16_t Size, uint8_t *pCypherData) |
Encrypt pPlainData in AES CBC encryption mode using DMA, the cypher data are available in pCypherData. | |
HAL_StatusTypeDef | HAL_CRYP_AESCBC_Decrypt_DMA (CRYP_HandleTypeDef *hcryp, uint8_t *pCypherData, uint16_t Size, uint8_t *pPlainData) |
Decrypt pCypherData in AES CBC decryption mode using DMA, the decyphered data are available in pPlainData. | |
HAL_StatusTypeDef | HAL_CRYP_AESCTR_Encrypt_DMA (CRYP_HandleTypeDef *hcryp, uint8_t *pPlainData, uint16_t Size, uint8_t *pCypherData) |
Encrypt pPlainData in AES CTR encryption mode using DMA, the cypher data are available in pCypherData. | |
HAL_StatusTypeDef | HAL_CRYP_AESCTR_Decrypt_DMA (CRYP_HandleTypeDef *hcryp, uint8_t *pCypherData, uint16_t Size, uint8_t *pPlainData) |
Decrypt pCypherData in AES CTR decryption mode using DMA, the decyphered data are available in pPlainData. | |
__weak void | HAL_CRYP_InCpltCallback (CRYP_HandleTypeDef *hcryp) |
Input DMA transfer complete callback. | |
__weak void | HAL_CRYP_OutCpltCallback (CRYP_HandleTypeDef *hcryp) |
Output DMA transfer complete callback. | |
__weak void | HAL_CRYP_ErrorCallback (CRYP_HandleTypeDef *hcryp) |
CRYP error callback. | |
HAL_StatusTypeDef | HAL_CRYP_RegisterCallback (CRYP_HandleTypeDef *hcryp, HAL_CRYP_CallbackIDTypeDef CallbackID, pCRYP_CallbackTypeDef pCallback) |
Register a User CRYP Callback To be used instead of the weak (surcharged) predefined callback. | |
HAL_StatusTypeDef | HAL_CRYP_UnRegisterCallback (CRYP_HandleTypeDef *hcryp, HAL_CRYP_CallbackIDTypeDef CallbackID) |
Unregister a CRYP Callback CRYP Callback is redirected to the weak (surcharged) predefined callback. | |
void | HAL_CRYP_IRQHandler (CRYP_HandleTypeDef *hcryp) |
Handle AES interrupt request. | |
HAL_CRYP_STATETypeDef | HAL_CRYP_GetState (CRYP_HandleTypeDef *hcryp) |
Return the CRYP handle state. | |
uint32_t | HAL_CRYP_GetError (CRYP_HandleTypeDef *hcryp) |
Return the CRYP peripheral error. |
Header file of CRYP HAL module.
Copyright (c) 2017 STMicroelectronics. All rights reserved.
This software is licensed under terms that can be found in the LICENSE file in the root directory of this software component. If no LICENSE file comes with this software, it is provided AS-IS.
Definition in file stm32l4xx_hal_cryp.h.