STM32L4xx_HAL_Driver  1.14.0
stm32l4xx_hal_cryp.h
Go to the documentation of this file.
1 
20 /* Define to prevent recursive inclusion -------------------------------------*/
21 #ifndef __STM32L4xx_HAL_CRYP_H
22 #define __STM32L4xx_HAL_CRYP_H
23 
24 #ifdef __cplusplus
25  extern "C" {
26 #endif
27 
28 /* Includes ------------------------------------------------------------------*/
29 #include "stm32l4xx_hal_def.h"
30 
35 #if defined(AES)
36 
41 /* Exported types ------------------------------------------------------------*/
49 typedef struct
50 {
51  uint32_t DataType;
54  uint32_t KeySize;
57  uint32_t OperatingMode;
60  uint32_t ChainingMode;
63  uint32_t KeyWriteFlag;
66  uint32_t GCMCMACPhase;
72  uint8_t* pKey;
74  uint8_t* pInitVect;
77  uint8_t* Header;
79  uint64_t HeaderSize;
81 }CRYP_InitTypeDef;
82 
86 typedef enum
87 {
95 
99 typedef enum
100 {
113 
117 typedef enum
118 {
122 
123 
127 #define HAL_CRYP_ERROR_NONE ((uint32_t)0x00000000)
128 #define HAL_CRYP_WRITE_ERROR ((uint32_t)0x00000001)
129 #define HAL_CRYP_READ_ERROR ((uint32_t)0x00000002)
130 #define HAL_CRYP_DMA_ERROR ((uint32_t)0x00000004)
131 #define HAL_CRYP_BUSY_ERROR ((uint32_t)0x00000008)
132 #if (USE_HAL_CRYP_REGISTER_CALLBACKS == 1)
133 #define HAL_CRYP_ERROR_INVALID_CALLBACK ((uint32_t)0x00000010U)
134 #endif /* USE_HAL_CRYP_REGISTER_CALLBACKS */
135 
136 #if (USE_HAL_CRYP_REGISTER_CALLBACKS == 1)
137 
140 typedef enum
141 {
149 #endif /* USE_HAL_CRYP_REGISTER_CALLBACKS */
150 
154 typedef struct __CRYP_HandleTypeDef
155 {
156  AES_TypeDef *Instance;
158  CRYP_InitTypeDef Init;
160  uint8_t *pCrypInBuffPtr;
162  uint8_t *pCrypOutBuffPtr;
164  uint32_t CrypInCount;
167  uint32_t CrypOutCount;
182  __IO uint32_t ErrorCode;
186 #if (USE_HAL_CRYP_REGISTER_CALLBACKS == 1)
187  void (* InCpltCallback)( struct __CRYP_HandleTypeDef * hcryp);
189  void (* OutCpltCallback)( struct __CRYP_HandleTypeDef * hcryp);
191  void (* CompCpltCallback)( struct __CRYP_HandleTypeDef * hcryp);
193  void (* ErrorCallback)( struct __CRYP_HandleTypeDef * hcryp);
195  void (* MspInitCallback)( struct __CRYP_HandleTypeDef * hcryp);
197  void (* MspDeInitCallback)( struct __CRYP_HandleTypeDef * hcryp);
199 #endif /* (USE_HAL_CRYP_REGISTER_CALLBACKS) */
201 
202 
203 #if (USE_HAL_CRYP_REGISTER_CALLBACKS == 1)
204 
207 typedef void (*pCRYP_CallbackTypeDef)(CRYP_HandleTypeDef * hcryp);
208 #endif /* USE_HAL_CRYP_REGISTER_CALLBACKS */
209 
214 /* Exported constants --------------------------------------------------------*/
222 #define CRYP_KEYSIZE_128B ((uint32_t)0x00000000)
223 #define CRYP_KEYSIZE_256B AES_CR_KEYSIZE
231 #define CRYP_DATATYPE_32B ((uint32_t)0x00000000)
232 #define CRYP_DATATYPE_16B AES_CR_DATATYPE_0
233 #define CRYP_DATATYPE_8B AES_CR_DATATYPE_1
234 #define CRYP_DATATYPE_1B AES_CR_DATATYPE
242 #define CRYP_AES_DISABLE ((uint32_t)0x00000000)
243 #define CRYP_AES_ENABLE AES_CR_EN
251 #define CRYP_ALGOMODE_ENCRYPT ((uint32_t)0x00000000)
252 #define CRYP_ALGOMODE_KEYDERIVATION AES_CR_MODE_0
253 #define CRYP_ALGOMODE_DECRYPT AES_CR_MODE_1
254 #define CRYP_ALGOMODE_KEYDERIVATION_DECRYPT AES_CR_MODE
255 #define CRYP_ALGOMODE_TAG_GENERATION ((uint32_t)0x00000000)
263 #define CRYP_CHAINMODE_AES_ECB ((uint32_t)0x00000000)
264 #define CRYP_CHAINMODE_AES_CBC AES_CR_CHMOD_0
265 #define CRYP_CHAINMODE_AES_CTR AES_CR_CHMOD_1
266 #define CRYP_CHAINMODE_AES_GCM_GMAC (AES_CR_CHMOD_0 | AES_CR_CHMOD_1)
267 #if defined(AES_CR_NPBLB)
268 #define CRYP_CHAINMODE_AES_CCM AES_CR_CHMOD_2
269 #else
270 #define CRYP_CHAINMODE_AES_CMAC AES_CR_CHMOD_2
271 #endif
272 
279 #define CRYP_KEY_WRITE_ENABLE ((uint32_t)0x00000000)
280 #define CRYP_KEY_WRITE_DISABLE ((uint32_t)0x00000001)
288 #define CRYP_DMAIN_DISABLE ((uint32_t)0x00000000)
289 #define CRYP_DMAIN_ENABLE AES_CR_DMAINEN
297 #define CRYP_DMAOUT_DISABLE ((uint32_t)0x00000000)
298 #define CRYP_DMAOUT_ENABLE AES_CR_DMAOUTEN
307 #define CRYP_GCM_INIT_PHASE ((uint32_t)0x00000000)
308 #define CRYP_GCMCMAC_HEADER_PHASE AES_CR_GCMPH_0
309 #define CRYP_GCM_PAYLOAD_PHASE AES_CR_GCMPH_1
310 #define CRYP_GCMCMAC_FINAL_PHASE AES_CR_GCMPH
311 /* Definitions duplication for code readibility's sake:
312  supported or not supported chain modes are not specified for each phase */
313 #define CRYP_INIT_PHASE ((uint32_t)0x00000000)
314 #define CRYP_HEADER_PHASE AES_CR_GCMPH_0
315 #define CRYP_PAYLOAD_PHASE AES_CR_GCMPH_1
316 #define CRYP_FINAL_PHASE AES_CR_GCMPH
325 #define CRYP_FLAG_BUSY AES_SR_BUSY
326 #define CRYP_FLAG_WRERR AES_SR_WRERR
327 #define CRYP_FLAG_RDERR AES_SR_RDERR
328 #define CRYP_FLAG_CCF AES_SR_CCF
337 #define CRYP_CCF_CLEAR AES_CR_CCFC
338 #define CRYP_ERR_CLEAR AES_CR_ERRC
346 #define CRYP_IT_CCFIE AES_CR_CCFIE
347 #define CRYP_IT_ERRIE AES_CR_ERRIE
355 #define CRYP_IT_WRERR AES_SR_WRERR
356 #define CRYP_IT_RDERR AES_SR_RDERR
357 #define CRYP_IT_CCF AES_SR_CCF
366 /* Exported macros -----------------------------------------------------------*/
367 
375 #if (USE_HAL_CRYP_REGISTER_CALLBACKS == 1)
376 #define __HAL_CRYP_RESET_HANDLE_STATE(__HANDLE__) do{\
377  (__HANDLE__)->State = HAL_CRYP_STATE_RESET;\
378  (__HANDLE__)->MspInitCallback = NULL; \
379  (__HANDLE__)->MspDeInitCallback = NULL; \
380  }while(0)
381 #else
382 #define __HAL_CRYP_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_CRYP_STATE_RESET)
383 #endif /* USE_HAL_CRYP_REGISTER_CALLBACKS */
384 
390 #define __HAL_CRYP_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= AES_CR_EN)
391 
397 #define __HAL_CRYP_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR &= ~AES_CR_EN)
398 
410 #define __HAL_CRYP_SET_OPERATINGMODE(__HANDLE__, __OPERATING_MODE__) MODIFY_REG((__HANDLE__)->Instance->CR, AES_CR_MODE, (__OPERATING_MODE__))
411 
412 
425 #define __HAL_CRYP_SET_CHAININGMODE(__HANDLE__, __CHAINING_MODE__) MODIFY_REG((__HANDLE__)->Instance->CR, AES_CR_CHMOD, (__CHAINING_MODE__))
426 
427 
428 
439 #define __HAL_CRYP_GET_FLAG(__HANDLE__, __FLAG__) (((__HANDLE__)->Instance->SR & (__FLAG__)) == (__FLAG__))
440 
441 
450 #define __HAL_CRYP_CLEAR_FLAG(__HANDLE__, __FLAG__) SET_BIT((__HANDLE__)->Instance->CR, (__FLAG__))
451 
452 
453 
462 #define __HAL_CRYP_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->Instance->CR & (__INTERRUPT__)) == (__INTERRUPT__))
463 
464 
474 #define __HAL_CRYP_GET_IT(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->Instance->SR & (__INTERRUPT__)) == (__INTERRUPT__))
475 
476 
477 
486 #define __HAL_CRYP_CLEAR_IT(__HANDLE__, __INTERRUPT__) SET_BIT((__HANDLE__)->Instance->CR, (__INTERRUPT__))
487 
488 
498 #define __HAL_CRYP_ENABLE_IT(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->Instance->CR) |= (__INTERRUPT__))
499 
500 
510 #define __HAL_CRYP_DISABLE_IT(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->Instance->CR) &= ~(__INTERRUPT__))
511 
516 /* Private macros --------------------------------------------------------*/
526 #define IS_CRYP_KEYSIZE(__KEYSIZE__) (((__KEYSIZE__) == CRYP_KEYSIZE_128B) || \
527  ((__KEYSIZE__) == CRYP_KEYSIZE_256B))
528 
534 #define IS_CRYP_DATATYPE(__DATATYPE__) (((__DATATYPE__) == CRYP_DATATYPE_32B) || \
535  ((__DATATYPE__) == CRYP_DATATYPE_16B) || \
536  ((__DATATYPE__) == CRYP_DATATYPE_8B) || \
537  ((__DATATYPE__) == CRYP_DATATYPE_1B))
538 
544 #define IS_CRYP_AES(__MODE__) (((__MODE__) == CRYP_AES_DISABLE) || \
545  ((__MODE__) == CRYP_AES_ENABLE))
546 
552 #define IS_CRYP_ALGOMODE(__ALGOMODE__) (((__ALGOMODE__) == CRYP_ALGOMODE_ENCRYPT) || \
553  ((__ALGOMODE__) == CRYP_ALGOMODE_KEYDERIVATION) || \
554  ((__ALGOMODE__) == CRYP_ALGOMODE_DECRYPT) || \
555  ((__ALGOMODE__) == CRYP_ALGOMODE_TAG_GENERATION) || \
556  ((__ALGOMODE__) == CRYP_ALGOMODE_KEYDERIVATION_DECRYPT))
557 
563 #if defined(AES_CR_NPBLB)
564 #define IS_CRYP_CHAINMODE(__CHAINMODE__) (((__CHAINMODE__) == CRYP_CHAINMODE_AES_ECB) || \
565  ((__CHAINMODE__) == CRYP_CHAINMODE_AES_CBC) || \
566  ((__CHAINMODE__) == CRYP_CHAINMODE_AES_CTR) || \
567  ((__CHAINMODE__) == CRYP_CHAINMODE_AES_GCM_GMAC) || \
568  ((__CHAINMODE__) == CRYP_CHAINMODE_AES_CCM))
569 #else
570 #define IS_CRYP_CHAINMODE(__CHAINMODE__) (((__CHAINMODE__) == CRYP_CHAINMODE_AES_ECB) || \
571  ((__CHAINMODE__) == CRYP_CHAINMODE_AES_CBC) || \
572  ((__CHAINMODE__) == CRYP_CHAINMODE_AES_CTR) || \
573  ((__CHAINMODE__) == CRYP_CHAINMODE_AES_GCM_GMAC) || \
574  ((__CHAINMODE__) == CRYP_CHAINMODE_AES_CMAC))
575 #endif
576 
582 #define IS_CRYP_WRITE(__WRITE__) (((__WRITE__) == CRYP_KEY_WRITE_ENABLE) || \
583  ((__WRITE__) == CRYP_KEY_WRITE_DISABLE))
584 
590 #define IS_CRYP_DMAIN(__MODE__) (((__MODE__) == CRYP_DMAIN_DISABLE) || \
591  ((__MODE__) == CRYP_DMAIN_ENABLE))
592 
598 #define IS_CRYP_DMAOUT(__MODE__) (((__MODE__) == CRYP_DMAOUT_DISABLE) || \
599  ((__MODE__) == CRYP_DMAOUT_ENABLE))
600 
606 #define IS_CRYP_GCMCMAC_PHASE(__PHASE__) (((__PHASE__) == CRYP_INIT_PHASE) || \
607  ((__PHASE__) == CRYP_HEADER_PHASE) || \
608  ((__PHASE__) == CRYP_PAYLOAD_PHASE) || \
609  ((__PHASE__) == CRYP_FINAL_PHASE))
610 
615 /* Include CRYP HAL Extended module */
616 #include "stm32l4xx_hal_cryp_ex.h"
617 
618 /* Exported functions --------------------------------------------------------*/
627 /* Initialization/de-initialization functions ********************************/
628 HAL_StatusTypeDef HAL_CRYP_Init(CRYP_HandleTypeDef *hcryp);
629 HAL_StatusTypeDef HAL_CRYP_DeInit(CRYP_HandleTypeDef *hcryp);
630 
631 /* MSP initialization/de-initialization functions ****************************/
634 
643 /* AES encryption/decryption processing functions ****************************/
644 
645 /* AES encryption/decryption using polling ***********************************/
646 HAL_StatusTypeDef HAL_CRYP_AESECB_Encrypt(CRYP_HandleTypeDef *hcryp, uint8_t *pPlainData, uint16_t Size, uint8_t *pCypherData, uint32_t Timeout);
647 HAL_StatusTypeDef HAL_CRYP_AESECB_Decrypt(CRYP_HandleTypeDef *hcryp, uint8_t *pCypherData, uint16_t Size, uint8_t *pPlainData, uint32_t Timeout);
648 HAL_StatusTypeDef HAL_CRYP_AESCBC_Encrypt(CRYP_HandleTypeDef *hcryp, uint8_t *pPlainData, uint16_t Size, uint8_t *pCypherData, uint32_t Timeout);
649 HAL_StatusTypeDef HAL_CRYP_AESCBC_Decrypt(CRYP_HandleTypeDef *hcryp, uint8_t *pCypherData, uint16_t Size, uint8_t *pPlainData, uint32_t Timeout);
650 HAL_StatusTypeDef HAL_CRYP_AESCTR_Encrypt(CRYP_HandleTypeDef *hcryp, uint8_t *pPlainData, uint16_t Size, uint8_t *pCypherData, uint32_t Timeout);
651 HAL_StatusTypeDef HAL_CRYP_AESCTR_Decrypt(CRYP_HandleTypeDef *hcryp, uint8_t *pCypherData, uint16_t Size, uint8_t *pPlainData, uint32_t Timeout);
652 
653 /* AES encryption/decryption using interrupt *********************************/
654 HAL_StatusTypeDef HAL_CRYP_AESECB_Encrypt_IT(CRYP_HandleTypeDef *hcryp, uint8_t *pPlainData, uint16_t Size, uint8_t *pCypherData);
655 HAL_StatusTypeDef HAL_CRYP_AESCBC_Encrypt_IT(CRYP_HandleTypeDef *hcryp, uint8_t *pPlainData, uint16_t Size, uint8_t *pCypherData);
656 HAL_StatusTypeDef HAL_CRYP_AESCTR_Encrypt_IT(CRYP_HandleTypeDef *hcryp, uint8_t *pPlainData, uint16_t Size, uint8_t *pCypherData);
657 HAL_StatusTypeDef HAL_CRYP_AESECB_Decrypt_IT(CRYP_HandleTypeDef *hcryp, uint8_t *pCypherData, uint16_t Size, uint8_t *pPlainData);
658 HAL_StatusTypeDef HAL_CRYP_AESCTR_Decrypt_IT(CRYP_HandleTypeDef *hcryp, uint8_t *pCypherData, uint16_t Size, uint8_t *pPlainData);
659 HAL_StatusTypeDef HAL_CRYP_AESCBC_Decrypt_IT(CRYP_HandleTypeDef *hcryp, uint8_t *pCypherData, uint16_t Size, uint8_t *pPlainData);
660 
661 /* AES encryption/decryption using DMA ***************************************/
662 HAL_StatusTypeDef HAL_CRYP_AESECB_Encrypt_DMA(CRYP_HandleTypeDef *hcryp, uint8_t *pPlainData, uint16_t Size, uint8_t *pCypherData);
663 HAL_StatusTypeDef HAL_CRYP_AESECB_Decrypt_DMA(CRYP_HandleTypeDef *hcryp, uint8_t *pCypherData, uint16_t Size, uint8_t *pPlainData);
664 HAL_StatusTypeDef HAL_CRYP_AESCBC_Encrypt_DMA(CRYP_HandleTypeDef *hcryp, uint8_t *pPlainData, uint16_t Size, uint8_t *pCypherData);
665 HAL_StatusTypeDef HAL_CRYP_AESCBC_Decrypt_DMA(CRYP_HandleTypeDef *hcryp, uint8_t *pCypherData, uint16_t Size, uint8_t *pPlainData);
666 HAL_StatusTypeDef HAL_CRYP_AESCTR_Encrypt_DMA(CRYP_HandleTypeDef *hcryp, uint8_t *pPlainData, uint16_t Size, uint8_t *pCypherData);
667 HAL_StatusTypeDef HAL_CRYP_AESCTR_Decrypt_DMA(CRYP_HandleTypeDef *hcryp, uint8_t *pCypherData, uint16_t Size, uint8_t *pPlainData);
668 
676 /* CallBack functions ********************************************************/
680 /* Callbacks Register/UnRegister functions ***********************************/
681 #if (USE_HAL_CRYP_REGISTER_CALLBACKS == 1)
682 HAL_StatusTypeDef HAL_CRYP_RegisterCallback(CRYP_HandleTypeDef *hcryp, HAL_CRYP_CallbackIDTypeDef CallbackID, pCRYP_CallbackTypeDef pCallback);
683 HAL_StatusTypeDef HAL_CRYP_UnRegisterCallback(CRYP_HandleTypeDef *hcryp, HAL_CRYP_CallbackIDTypeDef CallbackID);
684 #endif /* USE_HAL_CRYP_REGISTER_CALLBACKS */
685 
694 /* AES interrupt handling function *******************************************/
696 
705 /* Peripheral State functions ************************************************/
707 uint32_t HAL_CRYP_GetError(CRYP_HandleTypeDef *hcryp);
708 
721 #endif /* AES */
722 
727 #ifdef __cplusplus
728 }
729 #endif
730 
731 #endif /* __STM32L4xx_HAL_CRYP_H */
732 
733 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
HAL_CRYP_STATETypeDef HAL_CRYP_GetState(CRYP_HandleTypeDef *hcryp)
Return the CRYP handle state.
void(* ErrorCallback)(struct __CRYP_HandleTypeDef *hcryp)
__IO HAL_CRYP_STATETypeDef State
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 pPlain...
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 ...
HAL_CRYP_CallbackIDTypeDef
HAL CRYP common Callback ID enumeration definition.
HAL_SuspendTypeDef
HAL CRYP mode suspend definitions.
DMA_HandleTypeDef * hdmaout
DMA handle Structure definition.
struct __CRYP_HandleTypeDef CRYP_HandleTypeDef
CRYP handle Structure definition.
void(* MspInitCallback)(struct __CRYP_HandleTypeDef *hcryp)
HAL_PhaseTypeDef
HAL CRYP phase structures definition.
HAL_CRYP_STATETypeDef
HAL CRYP State structures definition.
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_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 ...
HAL_StatusTypeDef HAL_CRYP_DeInit(CRYP_HandleTypeDef *hcryp)
DeInitialize the CRYP peripheral.
DMA_HandleTypeDef * hdmain
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. The cypher data are available in p...
void(* OutCpltCallback)(struct __CRYP_HandleTypeDef *hcryp)
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 pCyph...
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. The cypher data are available in pCypherData.
void HAL_CRYP_MspInit(CRYP_HandleTypeDef *hcryp)
Initialize the CRYP MSP.
This file contains HAL common defines, enumeration, macros and structures definitions.
void HAL_CRYP_OutCpltCallback(CRYP_HandleTypeDef *hcryp)
Output DMA transfer complete callback.
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...
HAL_SuspendTypeDef SuspendRequest
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...
CRYP handle Structure definition.
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 ...
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. The cypher data are available in pCypherData.
void HAL_CRYP_ErrorCallback(CRYP_HandleTypeDef *hcryp)
CRYP error callback.
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 pCyph...
void(* CompCpltCallback)(struct __CRYP_HandleTypeDef *hcryp)
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...
void(* InCpltCallback)(struct __CRYP_HandleTypeDef *hcryp)
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 pPlain...
HAL_LockTypeDef
HAL Lock structures definition.
void HAL_CRYP_InCpltCallback(CRYP_HandleTypeDef *hcryp)
Input DMA transfer complete callback.
void HAL_CRYP_MspDeInit(CRYP_HandleTypeDef *hcryp)
DeInitialize CRYP MSP.
HAL_PhaseTypeDef Phase
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...
HAL_StatusTypeDef HAL_CRYP_Init(CRYP_HandleTypeDef *hcryp)
Initialize the CRYP according to the specified parameters in the CRYP_InitTypeDef and initialize the ...
uint32_t HAL_CRYP_GetError(CRYP_HandleTypeDef *hcryp)
Return the CRYP peripheral error.
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 pPlain...
void(* pCRYP_CallbackTypeDef)(CRYP_HandleTypeDef *hcryp)
HAL CRYP Callback pointer definition.
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(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_UnRegisterCallback(CRYP_HandleTypeDef *hcryp, HAL_CRYP_CallbackIDTypeDef CallbackID)
Unregister a CRYP Callback CRYP Callback is redirected to the weak (surcharged) predefined callback...
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 pCyph...
Header file of CRYPEx HAL module.
void HAL_CRYP_IRQHandler(CRYP_HandleTypeDef *hcryp)
Handle AES interrupt request.
void(* MspDeInitCallback)(struct __CRYP_HandleTypeDef *hcryp)