STM32L4xx_HAL_Driver  1.14.0
stm32l4xx_hal_cryp_ex.h
Go to the documentation of this file.
1 
20 /* Define to prevent recursive inclusion -------------------------------------*/
21 #ifndef __STM32L4xx_HAL_CRYP_EX_H
22 #define __STM32L4xx_HAL_CRYP_EX_H
23 
24 #ifdef __cplusplus
25  extern "C" {
26 #endif
27 
28 #if defined(AES)
29 
30 /* Includes ------------------------------------------------------------------*/
31 #include "stm32l4xx_hal_def.h"
32 
41 /* Exported types ------------------------------------------------------------*/
42 /* Exported constants --------------------------------------------------------*/
43 /* Exported functions --------------------------------------------------------*/
44 
53 /* CallBack functions ********************************************************/
55 
64 /* AES encryption/decryption processing functions ****************************/
65 HAL_StatusTypeDef HAL_CRYPEx_AES(CRYP_HandleTypeDef *hcryp, uint8_t *pInputData, uint16_t Size, uint8_t *pOutputData, uint32_t Timeout);
66 HAL_StatusTypeDef HAL_CRYPEx_AES_IT(CRYP_HandleTypeDef *hcryp, uint8_t *pInputData, uint16_t Size, uint8_t *pOutputData);
67 HAL_StatusTypeDef HAL_CRYPEx_AES_DMA(CRYP_HandleTypeDef *hcryp, uint8_t *pInputData, uint16_t Size, uint8_t *pOutputData);
68 
69 /* AES encryption/decryption/authentication processing functions *************/
70 HAL_StatusTypeDef HAL_CRYPEx_AES_Auth(CRYP_HandleTypeDef *hcryp, uint8_t *pInputData, uint64_t Size, uint8_t *pOutputData, uint32_t Timeout);
71 HAL_StatusTypeDef HAL_CRYPEx_AES_Auth_IT(CRYP_HandleTypeDef *hcryp, uint8_t *pInputData, uint64_t Size, uint8_t *pOutputData);
72 HAL_StatusTypeDef HAL_CRYPEx_AES_Auth_DMA(CRYP_HandleTypeDef *hcryp, uint8_t *pInputData, uint64_t Size, uint8_t *pOutputData);
73 
82 /* AES suspension/resumption functions ***************************************/
83 void HAL_CRYPEx_Read_IVRegisters(CRYP_HandleTypeDef *hcryp, uint8_t* Output);
84 void HAL_CRYPEx_Write_IVRegisters(CRYP_HandleTypeDef *hcryp, uint8_t* Input);
85 void HAL_CRYPEx_Read_SuspendRegisters(CRYP_HandleTypeDef *hcryp, uint8_t* Output);
86 void HAL_CRYPEx_Write_SuspendRegisters(CRYP_HandleTypeDef *hcryp, uint8_t* Input);
87 void HAL_CRYPEx_Read_KeyRegisters(CRYP_HandleTypeDef *hcryp, uint8_t* Output, uint32_t KeySize);
88 void HAL_CRYPEx_Write_KeyRegisters(CRYP_HandleTypeDef *hcryp, uint8_t* Input, uint32_t KeySize);
89 void HAL_CRYPEx_Read_ControlRegister(CRYP_HandleTypeDef *hcryp, uint8_t* Output);
90 void HAL_CRYPEx_Write_ControlRegister(CRYP_HandleTypeDef *hcryp, uint8_t* Input);
92 
102 /* Private functions -----------------------------------------------------------*/
106 HAL_StatusTypeDef CRYP_AES_Auth_IT(CRYP_HandleTypeDef *hcryp);
107 
121 #endif /* AES */
122 
123 #ifdef __cplusplus
124 }
125 #endif
126 
127 #endif /* __STM32L4xx_HAL_CRYP_EX_H */
128 
129 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
void HAL_CRYPEx_ProcessSuspend(CRYP_HandleTypeDef *hcryp)
Request CRYP processing suspension when in polling or interruption mode.
HAL_StatusTypeDef HAL_CRYPEx_AES_Auth_DMA(CRYP_HandleTypeDef *hcryp, uint8_t *pInputData, uint64_t Size, uint8_t *pOutputData)
Carry out in DMA mode the authentication tag generation as well as the ciphering or deciphering opera...
This file contains HAL common defines, enumeration, macros and structures definitions.
void HAL_CRYPEx_Read_ControlRegister(CRYP_HandleTypeDef *hcryp, uint8_t *Output)
In case of message GCM/GMAC (CCM/CMAC when applicable) processing suspension, read the Control Regist...
HAL_StatusTypeDef CRYP_AES_Auth_IT(CRYP_HandleTypeDef *hcryp)
Handle CRYP block input/output data handling under interruption for GCM, GMAC, CCM or CMAC chaining m...
HAL_StatusTypeDef HAL_CRYPEx_AES(CRYP_HandleTypeDef *hcryp, uint8_t *pInputData, uint16_t Size, uint8_t *pOutputData, uint32_t Timeout)
Carry out in polling mode the ciphering or deciphering operation according to hcryp->Init structure f...
CRYP handle Structure definition.
void HAL_CRYPEx_Write_SuspendRegisters(CRYP_HandleTypeDef *hcryp, uint8_t *Input)
In case of message GCM/GMAC (CCM/CMAC when applicable) processing resumption, rewrite the Suspend Reg...
void HAL_CRYPEx_Read_SuspendRegisters(CRYP_HandleTypeDef *hcryp, uint8_t *Output)
In case of message GCM/GMAC (CCM/CMAC when applicable) processing suspension, read the Suspend Regist...
void HAL_CRYPEx_Read_IVRegisters(CRYP_HandleTypeDef *hcryp, uint8_t *Output)
In case of message processing suspension, read the Initialization Vector.
HAL_StatusTypeDef HAL_CRYPEx_AES_Auth(CRYP_HandleTypeDef *hcryp, uint8_t *pInputData, uint64_t Size, uint8_t *pOutputData, uint32_t Timeout)
Carry out in polling mode the authentication tag generation as well as the ciphering or deciphering o...
void HAL_CRYPEx_Read_KeyRegisters(CRYP_HandleTypeDef *hcryp, uint8_t *Output, uint32_t KeySize)
In case of message GCM/GMAC (CCM/CMAC when applicable) processing suspension, read the Key Registers...
void HAL_CRYPEx_Write_ControlRegister(CRYP_HandleTypeDef *hcryp, uint8_t *Input)
In case of message GCM/GMAC (CCM/CMAC when applicable) processing resumption, rewrite the Control Reg...
__weak void HAL_CRYPEx_ComputationCpltCallback(CRYP_HandleTypeDef *hcryp)
Computation completed callbacks.
void HAL_CRYPEx_Write_KeyRegisters(CRYP_HandleTypeDef *hcryp, uint8_t *Input, uint32_t KeySize)
In case of message GCM/GMAC (CCM/CMAC when applicable) processing resumption, rewrite the Key Registe...
HAL_StatusTypeDef HAL_CRYPEx_AES_IT(CRYP_HandleTypeDef *hcryp, uint8_t *pInputData, uint16_t Size, uint8_t *pOutputData)
Carry out in interrupt mode the ciphering or deciphering operation according to hcryp->Init structure...
HAL_StatusTypeDef HAL_CRYPEx_AES_DMA(CRYP_HandleTypeDef *hcryp, uint8_t *pInputData, uint16_t Size, uint8_t *pOutputData)
Carry out in DMA mode the ciphering or deciphering operation according to hcryp->Init structure field...
HAL_StatusTypeDef HAL_CRYPEx_AES_Auth_IT(CRYP_HandleTypeDef *hcryp, uint8_t *pInputData, uint64_t Size, uint8_t *pOutputData)
Carry out in interrupt mode the authentication tag generation as well as the ciphering or deciphering...
void HAL_CRYPEx_Write_IVRegisters(CRYP_HandleTypeDef *hcryp, uint8_t *Input)
In case of message processing resumption, rewrite the Initialization Vector in the AES_IVRx registers...