STM32L443xx HAL User Manual
|
CRYPEx HAL module driver. This file provides firmware functions to manage the extended functionalities of the Cryptography (CRYP) peripheral. More...
#include "stm32l4xx_hal.h"
Go to the source code of this file.
Defines | |
#define | CRYP_CCF_TIMEOUTVALUE 22000 |
#define | CRYP_BUSY_TIMEOUTVALUE 22000 |
#define | CRYP_POLLING_OFF 0x0 |
#define | CRYP_POLLING_ON 0x1 |
Functions | |
static HAL_StatusTypeDef | CRYP_ProcessData (CRYP_HandleTypeDef *hcryp, uint8_t *Input, uint16_t Ilength, uint8_t *Output, uint32_t Timeout) |
Write/read input/output data in polling mode. | |
static HAL_StatusTypeDef | CRYP_ReadKey (CRYP_HandleTypeDef *hcryp, uint8_t *Output, uint32_t Timeout) |
Read derivative key in polling mode when CRYP hardware block is set in key derivation operating mode (mode 2). | |
static void | CRYP_SetDMAConfig (CRYP_HandleTypeDef *hcryp, uint32_t inputaddr, uint16_t Size, uint32_t outputaddr) |
Set the DMA configuration and start the DMA transfer. | |
static void | CRYP_Authentication_SetDMAConfig (CRYP_HandleTypeDef *hcryp, uint32_t inputaddr, uint16_t Size, uint32_t outputaddr) |
Set the DMA configuration and start the DMA transfer for GCM, GMAC, CCM or CMAC chaining modes. | |
static void | CRYP_Authentication_DMAInCplt (DMA_HandleTypeDef *hdma) |
DMA CRYP Input Data process complete callback for GCM, GMAC, CCM or CMAC chaining modes. | |
static void | CRYP_Authentication_DMAError (DMA_HandleTypeDef *hdma) |
DMA CRYP communication error callback for GCM, GMAC, CCM or CMAC chaining modes. | |
static void | CRYP_Authentication_DMAOutCplt (DMA_HandleTypeDef *hdma) |
DMA CRYP Output Data process complete callback for GCM, GMAC, CCM or CMAC chaining modes. | |
static HAL_StatusTypeDef | CRYP_WaitOnCCFlag (CRYP_HandleTypeDef const *const hcryp, uint32_t Timeout) |
Handle CRYP hardware block Timeout when waiting for CCF flag to be raised. | |
static HAL_StatusTypeDef | CRYP_WaitOnBusyFlagReset (CRYP_HandleTypeDef const *const hcryp, uint32_t Timeout) |
Wait for Busy Flag to be reset during a GCM payload encryption process suspension. | |
static void | CRYP_DMAInCplt (DMA_HandleTypeDef *hdma) |
DMA CRYP Input Data process complete callback. | |
static void | CRYP_DMAOutCplt (DMA_HandleTypeDef *hdma) |
DMA CRYP Output Data process complete callback. | |
static void | CRYP_DMAError (DMA_HandleTypeDef *hdma) |
DMA CRYP communication error callback. | |
static void | CRYP_Padding (CRYP_HandleTypeDef *hcryp, uint32_t difflength, uint32_t polling) |
Last header or payload block padding when size is not a multiple of 128 bits. | |
__weak void | HAL_CRYPEx_ComputationCpltCallback (CRYP_HandleTypeDef *hcryp) |
Computation completed callbacks. | |
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 fields, all operating modes (encryption, key derivation and/or decryption) and chaining modes ECB, CBC and CTR are managed by this function in polling mode. | |
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 fields, all operating modes (encryption, key derivation and/or decryption) and chaining modes ECB, CBC and CTR are managed by this function in interrupt mode. | |
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 fields. | |
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 operation according to hcryp->Init structure fields. | |
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 operation according to hcryp->Init structure fields. | |
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 operation according to hcryp->Init structure fields. | |
void | HAL_CRYPEx_Read_IVRegisters (CRYP_HandleTypeDef *hcryp, uint8_t *Output) |
In case of message processing suspension, read the Initialization Vector. | |
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. | |
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 Registers. | |
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 Registers in the AES_SUSPxR registers. | |
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_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 Registers in the AES_KEYRx registers. | |
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 Register. | |
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 Registers in the AES_CR register. | |
void | HAL_CRYPEx_ProcessSuspend (CRYP_HandleTypeDef *hcryp) |
Request CRYP processing suspension when in polling or interruption mode. | |
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 modes. |
CRYPEx HAL module driver. This file provides firmware functions to manage the extended functionalities of the Cryptography (CRYP) peripheral.
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_ex.c.