STM32F4xx HAL Documentation
Hardware Abstraction Layer for STM32F4 familiy
Loading...
Searching...
No Matches
CRYP_Private_Functions_prototypes
Collaboration diagram for CRYP_Private_Functions_prototypes:

Functions

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_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_SetKey (CRYP_HandleTypeDef *hcryp, uint32_t KeySize)
 Writes Key in Key registers.
 
static void CRYP_AES_IT (CRYP_HandleTypeDef *hcryp)
 Handle CRYP block input/output data handling under interruption.
 
static HAL_StatusTypeDef CRYP_GCMCCM_SetHeaderPhase (CRYP_HandleTypeDef *hcryp, uint32_t Timeout)
 Sets the header phase in polling mode.
 
static void CRYP_GCMCCM_SetPayloadPhase_IT (CRYP_HandleTypeDef *hcryp)
 Sets the payload phase in interrupt mode.
 
static void CRYP_GCMCCM_SetHeaderPhase_IT (CRYP_HandleTypeDef *hcryp)
 Sets the header phase in interrupt mode.
 
static HAL_StatusTypeDef CRYP_GCMCCM_SetHeaderPhase_DMA (CRYP_HandleTypeDef *hcryp)
 Sets the header phase when using DMA in process.
 
static void CRYP_Workaround (CRYP_HandleTypeDef *hcryp, uint32_t Timeout)
 Workaround used for GCM/CCM mode.
 
static HAL_StatusTypeDef CRYP_AESGCM_Process_DMA (CRYP_HandleTypeDef *hcryp)
 Encryption/Decryption process in AES GCM mode and prepare the authentication TAG using DMA.
 
static HAL_StatusTypeDef CRYP_AESGCM_Process_IT (CRYP_HandleTypeDef *hcryp)
 Encryption/Decryption process in AES GCM mode and prepare the authentication TAG in interrupt mode.
 
static HAL_StatusTypeDef CRYP_AESGCM_Process (CRYP_HandleTypeDef *hcryp, uint32_t Timeout)
 Encryption/Decryption process in AES GCM mode and prepare the authentication TAG.
 
static HAL_StatusTypeDef CRYP_AESCCM_Process (CRYP_HandleTypeDef *hcryp, uint32_t Timeout)
 AES CCM encryption/decryption processing in polling mode for TinyAES IP, no encrypt/decrypt performed, only authentication preparation.
 
static HAL_StatusTypeDef CRYP_AESCCM_Process_IT (CRYP_HandleTypeDef *hcryp)
 AES CCM encryption/decryption process in interrupt mode for TinyAES IP, no encrypt/decrypt performed, only authentication preparation.
 
static HAL_StatusTypeDef CRYP_AESCCM_Process_DMA (CRYP_HandleTypeDef *hcryp)
 AES CCM encryption/decryption process in DMA mode for TinyAES IP, no encrypt/decrypt performed, only authentication preparation.
 
static void CRYP_AES_ProcessData (CRYP_HandleTypeDef *hcryp, uint32_t Timeout)
 Process Data: Write Input data in polling mode and used in AES functions.
 
static HAL_StatusTypeDef CRYP_AES_Encrypt (CRYP_HandleTypeDef *hcryp, uint32_t Timeout)
 Encryption in ECB/CBC & CTR Algorithm with AES Standard.
 
static HAL_StatusTypeDef CRYP_AES_Decrypt (CRYP_HandleTypeDef *hcryp, uint32_t Timeout)
 Decryption in ECB/CBC & CTR mode with AES Standard.
 
static HAL_StatusTypeDef CRYP_AES_Decrypt_IT (CRYP_HandleTypeDef *hcryp)
 Decryption in ECB/CBC & CTR mode with AES Standard using interrupt mode.
 
static HAL_StatusTypeDef CRYP_AES_Encrypt_IT (CRYP_HandleTypeDef *hcryp)
 Encryption in ECB/CBC & CTR mode with AES Standard using interrupt mode.
 
static HAL_StatusTypeDef CRYP_AES_Decrypt_DMA (CRYP_HandleTypeDef *hcryp)
 Decryption in ECB/CBC & CTR mode with AES Standard using DMA mode.
 
static HAL_StatusTypeDef CRYP_WaitOnCCFlag (CRYP_HandleTypeDef *hcryp, uint32_t Timeout)
 Handle CRYP hardware block Timeout when waiting for CCF flag to be raised.
 

Detailed Description

Function Documentation

◆ CRYP_SetDMAConfig()

static void CRYP_SetDMAConfig ( CRYP_HandleTypeDef * hcryp,
uint32_t inputaddr,
uint16_t Size,
uint32_t outputaddr )
static

#include <stm32f4xx_hal_cryp.c>

Set the DMA configuration and start the DMA transfer.

Parameters
hcryppointer to a CRYP_HandleTypeDef structure that contains the configuration information for CRYP module
inputaddraddress of the input buffer
Sizesize of the input buffer, must be a multiple of 16.
outputaddraddress of the output buffer
Return values
None

Definition at line 3205 of file stm32f4xx_hal_cryp.c.

References __HAL_CRYP_ENABLE, CRYP_ConfigTypeDef::Algorithm, CRYP_AES_CCM, CRYP_AES_GCM_GMAC, CRYP_DMAError(), CRYP_DMAInCplt(), CRYP_DMAOutCplt(), __CRYP_HandleTypeDef::ErrorCode, HAL_CRYP_ERROR_DMA, HAL_CRYP_ErrorCallback(), HAL_DMA_Start_IT(), HAL_OK, __CRYP_HandleTypeDef::hdmain, __CRYP_HandleTypeDef::hdmaout, __CRYP_HandleTypeDef::Init, __CRYP_HandleTypeDef::Instance, __DMA_HandleTypeDef::XferCpltCallback, and __DMA_HandleTypeDef::XferErrorCallback.

Referenced by CRYP_AES_Decrypt_DMA(), CRYP_AESCCM_Process_DMA(), CRYP_AESGCM_Process_DMA(), HAL_CRYP_Decrypt_DMA(), and HAL_CRYP_Encrypt_DMA().

◆ CRYP_DMAInCplt()

static void CRYP_DMAInCplt ( DMA_HandleTypeDef * hdma)
static

#include <stm32f4xx_hal_cryp.c>

DMA CRYP input data process complete callback.

Parameters
hdmaDMA handle
Return values
None

Definition at line 3073 of file stm32f4xx_hal_cryp.c.

References __HAL_CRYP_CLEAR_FLAG, __HAL_UNLOCK, CRYP_ConfigTypeDef::Algorithm, CRYP_AES_CCM, CRYP_CCF_CLEAR, HAL_CRYP_InCpltCallback(), HAL_CRYP_STATE_READY, __CRYP_HandleTypeDef::Init, __CRYP_HandleTypeDef::Instance, and __CRYP_HandleTypeDef::State.

Referenced by CRYP_SetDMAConfig().

◆ CRYP_DMAOutCplt()

static void CRYP_DMAOutCplt ( DMA_HandleTypeDef * hdma)
static

◆ CRYP_DMAError()

static void CRYP_DMAError ( DMA_HandleTypeDef * hdma)
static

#include <stm32f4xx_hal_cryp.c>

DMA CRYP communication error callback.

Parameters
hdmaDMA handle
Return values
None

Definition at line 3169 of file stm32f4xx_hal_cryp.c.

References __HAL_CRYP_CLEAR_FLAG, CRYP_CCF_CLEAR, __CRYP_HandleTypeDef::ErrorCode, HAL_CRYP_ERROR_DMA, HAL_CRYP_ErrorCallback(), HAL_CRYP_STATE_READY, and __CRYP_HandleTypeDef::State.

Referenced by CRYP_SetDMAConfig().

◆ CRYP_SetKey()

static void CRYP_SetKey ( CRYP_HandleTypeDef * hcryp,
uint32_t KeySize )
static

#include <stm32f4xx_hal_cryp.c>

Writes Key in Key registers.

Parameters
hcryppointer to a CRYP_HandleTypeDef structure that contains the configuration information for CRYP module
KeySizeSize of Key
Return values
None

Definition at line 3614 of file stm32f4xx_hal_cryp.c.

References CRYP_KEYSIZE_128B, CRYP_KEYSIZE_256B, __CRYP_HandleTypeDef::Init, __CRYP_HandleTypeDef::Instance, and CRYP_ConfigTypeDef::pKey.

Referenced by CRYP_AES_Decrypt(), CRYP_AES_Decrypt_DMA(), CRYP_AES_Decrypt_IT(), CRYP_AES_Encrypt(), CRYP_AES_Encrypt_IT(), CRYP_AESCCM_Process(), CRYP_AESCCM_Process_DMA(), CRYP_AESCCM_Process_IT(), CRYP_AESGCM_Process(), CRYP_AESGCM_Process_DMA(), CRYP_AESGCM_Process_IT(), and HAL_CRYP_Encrypt_DMA().

◆ CRYP_AES_IT()

static void CRYP_AES_IT ( CRYP_HandleTypeDef * hcryp)
static

#include <stm32f4xx_hal_cryp.c>

Handle CRYP block input/output data handling under interruption.

Note
The function is called under interruption only, once interruptions have been enabled by HAL_CRYP_Encrypt_IT or HAL_CRYP_Decrypt_IT.
Parameters
hcryppointer to a CRYP_HandleTypeDef structure that contains the configuration information for CRYP module.
Return values
HALstatus

Definition at line 3445 of file stm32f4xx_hal_cryp.c.

References __HAL_CRYP_DISABLE, __HAL_CRYP_DISABLE_IT, __HAL_UNLOCK, CRYP_IT_CCFIE, CRYP_IT_ERRIE, __CRYP_HandleTypeDef::CrypInCount, __CRYP_HandleTypeDef::CrypOutCount, __CRYP_HandleTypeDef::ErrorCode, HAL_CRYP_ERROR_BUSY, HAL_CRYP_ErrorCallback(), HAL_CRYP_InCpltCallback(), HAL_CRYP_OutCpltCallback(), HAL_CRYP_STATE_BUSY, HAL_CRYP_STATE_READY, __CRYP_HandleTypeDef::Instance, __CRYP_HandleTypeDef::pCrypInBuffPtr, __CRYP_HandleTypeDef::pCrypOutBuffPtr, __CRYP_HandleTypeDef::Size, and __CRYP_HandleTypeDef::State.

Referenced by HAL_CRYP_IRQHandler().

◆ CRYP_GCMCCM_SetHeaderPhase()

◆ CRYP_GCMCCM_SetPayloadPhase_IT()

static void CRYP_GCMCCM_SetPayloadPhase_IT ( CRYP_HandleTypeDef * hcryp)
static

◆ CRYP_GCMCCM_SetHeaderPhase_IT()

◆ CRYP_GCMCCM_SetHeaderPhase_DMA()

◆ CRYP_Workaround()

◆ CRYP_AESGCM_Process_DMA()

◆ CRYP_AESGCM_Process_IT()

◆ CRYP_AESGCM_Process()

◆ CRYP_AESCCM_Process()

static HAL_StatusTypeDef CRYP_AESCCM_Process ( CRYP_HandleTypeDef * hcryp,
uint32_t Timeout )
static

#include <stm32f4xx_hal_cryp.c>

AES CCM encryption/decryption processing in polling mode for TinyAES IP, no encrypt/decrypt performed, only authentication preparation.

Parameters
hcryppointer to a CRYP_HandleTypeDef structure that contains the configuration information for CRYP module
TimeoutTimeout duration
Return values
HALstatus

Definition at line 4342 of file stm32f4xx_hal_cryp.c.

References __HAL_CRYP_CLEAR_FLAG, __HAL_CRYP_DISABLE, __HAL_CRYP_ENABLE, __HAL_UNLOCK, CRYP_ConfigTypeDef::B0, CRYP_AES_ProcessData(), CRYP_CCF_CLEAR, CRYP_CCM_CTR1_0, CRYP_CCM_CTR1_1, CRYP_CCM_CTR1_2, CRYP_DATATYPE_16B, CRYP_DATATYPE_1B, CRYP_DATATYPE_8B, CRYP_GCMCCM_SetHeaderPhase(), CRYP_KEYIVCONFIG_ONCE, CRYP_OPERATINGMODE_ENCRYPT, CRYP_PHASE_HEADER, CRYP_PHASE_INIT, CRYP_PHASE_PAYLOAD, CRYP_PHASE_PROCESS, CRYP_SET_PHASE, CRYP_SetKey(), CRYP_WaitOnCCFlag(), __CRYP_HandleTypeDef::CrypHeaderCount, __CRYP_HandleTypeDef::CrypInCount, __CRYP_HandleTypeDef::CrypOutCount, CRYP_ConfigTypeDef::DataType, __CRYP_HandleTypeDef::ErrorCode, HAL_CRYP_ERROR_TIMEOUT, HAL_CRYP_STATE_READY, HAL_ERROR, HAL_GetTick(), HAL_MAX_DELAY, HAL_OK, CRYP_ConfigTypeDef::Header, CRYP_ConfigTypeDef::HeaderSize, __CRYP_HandleTypeDef::Init, __CRYP_HandleTypeDef::Instance, __CRYP_HandleTypeDef::KeyIVConfig, CRYP_ConfigTypeDef::KeyIVConfigSkip, CRYP_ConfigTypeDef::KeySize, __CRYP_HandleTypeDef::pCrypInBuffPtr, __CRYP_HandleTypeDef::Phase, __CRYP_HandleTypeDef::Size, __CRYP_HandleTypeDef::SizesSum, and __CRYP_HandleTypeDef::State.

Referenced by HAL_CRYP_Decrypt(), and HAL_CRYP_Encrypt().

◆ CRYP_AESCCM_Process_IT()

◆ CRYP_AESCCM_Process_DMA()

static HAL_StatusTypeDef CRYP_AESCCM_Process_DMA ( CRYP_HandleTypeDef * hcryp)
static

#include <stm32f4xx_hal_cryp.c>

AES CCM encryption/decryption process in DMA mode for TinyAES IP, no encrypt/decrypt performed, only authentication preparation.

Parameters
hcryppointer to a CRYP_HandleTypeDef structure that contains the configuration information for CRYP module
Return values
HALstatus

Definition at line 4926 of file stm32f4xx_hal_cryp.c.

References __HAL_CRYP_CLEAR_FLAG, __HAL_CRYP_DISABLE, __HAL_CRYP_ENABLE, __HAL_UNLOCK, CRYP_ConfigTypeDef::B0, CRYP_CCF_CLEAR, CRYP_CCM_CTR1_0, CRYP_CCM_CTR1_1, CRYP_CCM_CTR1_2, CRYP_DATATYPE_16B, CRYP_DATATYPE_1B, CRYP_DATATYPE_8B, CRYP_GCMCCM_SetHeaderPhase_DMA(), CRYP_KEYIVCONFIG_ONCE, CRYP_OPERATINGMODE_ENCRYPT, CRYP_PHASE_HEADER, CRYP_PHASE_INIT, CRYP_PHASE_PAYLOAD, CRYP_PHASE_PROCESS, CRYP_SET_PHASE, CRYP_SetDMAConfig(), CRYP_SetKey(), CRYP_TIMEOUT_GCMCCMINITPHASE, __CRYP_HandleTypeDef::CrypHeaderCount, __CRYP_HandleTypeDef::CrypInCount, CRYP_ConfigTypeDef::DataType, __CRYP_HandleTypeDef::ErrorCode, HAL_CRYP_ERROR_TIMEOUT, HAL_CRYP_STATE_READY, HAL_ERROR, HAL_IS_BIT_CLR, HAL_OK, CRYP_ConfigTypeDef::Header, CRYP_ConfigTypeDef::HeaderSize, __CRYP_HandleTypeDef::Init, __CRYP_HandleTypeDef::Instance, __CRYP_HandleTypeDef::KeyIVConfig, CRYP_ConfigTypeDef::KeyIVConfigSkip, CRYP_ConfigTypeDef::KeySize, __CRYP_HandleTypeDef::pCrypInBuffPtr, __CRYP_HandleTypeDef::pCrypOutBuffPtr, __CRYP_HandleTypeDef::Phase, __CRYP_HandleTypeDef::Size, __CRYP_HandleTypeDef::SizesSum, and __CRYP_HandleTypeDef::State.

Referenced by HAL_CRYP_Decrypt_DMA(), and HAL_CRYP_Encrypt_DMA().

◆ CRYP_AES_ProcessData()

static void CRYP_AES_ProcessData ( CRYP_HandleTypeDef * hcryp,
uint32_t Timeout )
static

#include <stm32f4xx_hal_cryp.c>

Process Data: Write Input data in polling mode and used in AES functions.

Parameters
hcryppointer to a CRYP_HandleTypeDef structure that contains the configuration information for CRYP module
TimeoutSpecify Timeout value
Return values
None

Definition at line 3318 of file stm32f4xx_hal_cryp.c.

References __HAL_CRYP_CLEAR_FLAG, __HAL_CRYP_DISABLE, __HAL_UNLOCK, CRYP_CCF_CLEAR, CRYP_WaitOnCCFlag(), __CRYP_HandleTypeDef::CrypInCount, __CRYP_HandleTypeDef::CrypOutCount, __CRYP_HandleTypeDef::ErrorCode, HAL_CRYP_ERROR_TIMEOUT, HAL_CRYP_ErrorCallback(), HAL_CRYP_STATE_READY, HAL_OK, __CRYP_HandleTypeDef::Instance, __CRYP_HandleTypeDef::pCrypInBuffPtr, __CRYP_HandleTypeDef::pCrypOutBuffPtr, __CRYP_HandleTypeDef::Size, and __CRYP_HandleTypeDef::State.

Referenced by CRYP_AES_Decrypt(), CRYP_AES_Encrypt(), CRYP_AESCCM_Process(), and CRYP_AESGCM_Process().

◆ CRYP_AES_Encrypt()

◆ CRYP_AES_Decrypt()

◆ CRYP_AES_Decrypt_IT()

◆ CRYP_AES_Encrypt_IT()

◆ CRYP_AES_Decrypt_DMA()

◆ CRYP_WaitOnCCFlag()

static HAL_StatusTypeDef CRYP_WaitOnCCFlag ( CRYP_HandleTypeDef * hcryp,
uint32_t Timeout )
static

#include <stm32f4xx_hal_cryp.c>

Handle CRYP hardware block Timeout when waiting for CCF flag to be raised.

Parameters
hcryppointer to a CRYP_HandleTypeDef structure that contains the configuration information for CRYP module.
TimeoutTimeout duration.
Return values
HALstatus

Definition at line 7110 of file stm32f4xx_hal_cryp.c.

References HAL_ERROR, HAL_GetTick(), HAL_IS_BIT_CLR, HAL_MAX_DELAY, HAL_OK, and __CRYP_HandleTypeDef::Instance.

Referenced by CRYP_AES_Decrypt(), CRYP_AES_ProcessData(), CRYP_AESCCM_Process(), CRYP_AESGCM_Process(), CRYP_GCMCCM_SetHeaderPhase(), and CRYP_Workaround().