STM32F479xx HAL User Manual
Functions
CRYP Private Functions
CRYP | CRYP Exported Functions

Functions

static HAL_StatusTypeDef CRYP_TDES_Process (CRYP_HandleTypeDef *hcryp, uint32_t Timeout)
 Encryption in ECB/CBC Algorithm with DES/TDES standard.
static void CRYP_TDES_IT (CRYP_HandleTypeDef *hcryp)
 CRYP block input/output data handling under interruption with DES/TDES standard.
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_Encrypt_IT (CRYP_HandleTypeDef *hcryp)
 Encryption in ECB/CBC & CTR mode with AES Standard using interrupt mode.
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_Decrypt_DMA (CRYP_HandleTypeDef *hcryp)
 Decryption in ECB/CBC & CTR mode with AES Standard using DMA mode.
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_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_AES_ProcessData (CRYP_HandleTypeDef *hcryp, uint32_t Timeout)
 Process Data: Write Input data in polling mode and used in AES functions.
static void CRYP_AES_IT (CRYP_HandleTypeDef *hcryp)
 Handle CRYP block input/output data handling under interruption.
static void CRYP_SetKey (CRYP_HandleTypeDef *hcryp, uint32_t KeySize)
 Writes Key in Key registers.
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_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_DMA (CRYP_HandleTypeDef *hcryp)
 Encryption/Decryption process in AES GCM mode and prepare the authentication TAG using DMA.
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_GCMCCM_SetPayloadPhase_IT (CRYP_HandleTypeDef *hcryp)
 Sets the payload phase in iterrupt mode.
static HAL_StatusTypeDef CRYP_GCMCCM_SetHeaderPhase (CRYP_HandleTypeDef *hcryp, uint32_t Timeout)
 Sets the header phase in polling mode.
static HAL_StatusTypeDef CRYP_GCMCCM_SetHeaderPhase_DMA (CRYP_HandleTypeDef *hcryp)
 Sets the header phase when using DMA in process.
static void CRYP_GCMCCM_SetHeaderPhase_IT (CRYP_HandleTypeDef *hcryp)
 Sets the header phase in interrupt mode.
static void CRYP_Workaround (CRYP_HandleTypeDef *hcryp, uint32_t Timeout)
 Workaround used for GCM/CCM mode.
static HAL_StatusTypeDef CRYP_WaitOnIFEMFlag (CRYP_HandleTypeDef *hcryp, uint32_t Timeout)
 Handle CRYP hardware block Timeout when waiting for IFEM flag to be raised.
static HAL_StatusTypeDef CRYP_WaitOnBUSYFlag (CRYP_HandleTypeDef *hcryp, uint32_t Timeout)
 Handle CRYP hardware block Timeout when waiting for BUSY flag to be raised.
static HAL_StatusTypeDef CRYP_WaitOnOFNEFlag (CRYP_HandleTypeDef *hcryp, uint32_t Timeout)
 Handle CRYP hardware block Timeout when waiting for OFNE flag to be raised.

Function Documentation

static HAL_StatusTypeDef CRYP_AES_Decrypt ( CRYP_HandleTypeDef hcryp,
uint32_t  Timeout 
) [static]
static HAL_StatusTypeDef CRYP_AES_Decrypt_DMA ( CRYP_HandleTypeDef hcryp) [static]
static HAL_StatusTypeDef CRYP_AES_Decrypt_IT ( CRYP_HandleTypeDef hcryp) [static]
static HAL_StatusTypeDef CRYP_AES_Encrypt ( CRYP_HandleTypeDef hcryp,
uint32_t  Timeout 
) [static]
static HAL_StatusTypeDef CRYP_AES_Encrypt_IT ( CRYP_HandleTypeDef hcryp) [static]
static void CRYP_AES_IT ( CRYP_HandleTypeDef hcryp) [static]

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:
hcryp,:pointer to a CRYP_HandleTypeDef structure that contains the configuration information for CRYP module.
Return values:
HALstatus

Definition at line 3437 of file stm32f4xx_hal_cryp.c.

References __HAL_CRYP_DISABLE, __HAL_CRYP_DISABLE_IT, CRYP_FLAG_IFNF, CRYP_FLAG_OFNE, CRYP_IT_INI, CRYP_IT_OUTI, __CRYP_HandleTypeDef::CrypInCount, __CRYP_HandleTypeDef::CrypOutCount, __CRYP_HandleTypeDef::ErrorCallback, __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::InCpltCallback, __CRYP_HandleTypeDef::Instance, __CRYP_HandleTypeDef::OutCpltCallback, __CRYP_HandleTypeDef::pCrypInBuffPtr, __CRYP_HandleTypeDef::pCrypOutBuffPtr, __CRYP_HandleTypeDef::Size, and __CRYP_HandleTypeDef::State.

Referenced by HAL_CRYP_IRQHandler().

static void CRYP_AES_ProcessData ( CRYP_HandleTypeDef hcryp,
uint32_t  Timeout 
) [static]

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

Parameters:
hcryp,:pointer to a CRYP_HandleTypeDef structure that contains the configuration information for CRYP module
Timeout,:Specify Timeout value
Return values:
None

Definition at line 3310 of file stm32f4xx_hal_cryp.c.

References __HAL_CRYP_DISABLE, CRYP_FLAG_IFNF, CRYP_FLAG_OFNE, CRYP_WaitOnOFNEFlag(), __CRYP_HandleTypeDef::CrypInCount, __CRYP_HandleTypeDef::CrypOutCount, __CRYP_HandleTypeDef::ErrorCallback, __CRYP_HandleTypeDef::ErrorCode, HAL_CRYP_ERROR_TIMEOUT, HAL_CRYP_ErrorCallback(), HAL_CRYP_STATE_READY, __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().

static HAL_StatusTypeDef CRYP_AESCCM_Process ( CRYP_HandleTypeDef hcryp,
uint32_t  Timeout 
) [static]
static HAL_StatusTypeDef CRYP_AESCCM_Process_DMA ( CRYP_HandleTypeDef hcryp) [static]
static HAL_StatusTypeDef CRYP_AESCCM_Process_IT ( CRYP_HandleTypeDef hcryp) [static]
static HAL_StatusTypeDef CRYP_AESGCM_Process ( CRYP_HandleTypeDef hcryp,
uint32_t  Timeout 
) [static]
static HAL_StatusTypeDef CRYP_AESGCM_Process_DMA ( CRYP_HandleTypeDef hcryp) [static]
static HAL_StatusTypeDef CRYP_AESGCM_Process_IT ( CRYP_HandleTypeDef hcryp) [static]
static void CRYP_DMAError ( DMA_HandleTypeDef hdma) [static]

DMA CRYP communication error callback.

Parameters:
hdma,:DMA handle
Return values:
None

Definition at line 3161 of file stm32f4xx_hal_cryp.c.

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

Referenced by CRYP_SetDMAConfig().

static void CRYP_DMAInCplt ( DMA_HandleTypeDef hdma) [static]

DMA CRYP input data process complete callback.

Parameters:
hdma,:DMA handle
Return values:
None

Definition at line 3065 of file stm32f4xx_hal_cryp.c.

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

Referenced by CRYP_SetDMAConfig().

static void CRYP_DMAOutCplt ( DMA_HandleTypeDef hdma) [static]
static HAL_StatusTypeDef CRYP_GCMCCM_SetHeaderPhase ( CRYP_HandleTypeDef hcryp,
uint32_t  Timeout 
) [static]
static HAL_StatusTypeDef CRYP_GCMCCM_SetHeaderPhase_DMA ( CRYP_HandleTypeDef hcryp) [static]
static void CRYP_GCMCCM_SetHeaderPhase_IT ( CRYP_HandleTypeDef hcryp) [static]
static void CRYP_GCMCCM_SetPayloadPhase_IT ( CRYP_HandleTypeDef hcryp) [static]
static void CRYP_SetDMAConfig ( CRYP_HandleTypeDef hcryp,
uint32_t  inputaddr,
uint16_t  Size,
uint32_t  outputaddr 
) [static]

Set the DMA configuration and start the DMA transfer.

Parameters:
hcryp,:pointer to a CRYP_HandleTypeDef structure that contains the configuration information for CRYP module
inputaddr,:address of the input buffer
Size,:size of the input buffer, must be a multiple of 16.
outputaddr,:address of the output buffer
Return values:
None

Definition at line 3197 of file stm32f4xx_hal_cryp.c.

References __HAL_CRYP_ENABLE, CRYP_ConfigTypeDef::Algorithm, CRYP_AES_CCM, CRYP_DMAError(), CRYP_DMAInCplt(), CRYP_DMAOutCplt(), __CRYP_HandleTypeDef::ErrorCallback, __CRYP_HandleTypeDef::ErrorCode, HAL_CRYP_ERROR_DMA, HAL_CRYP_ErrorCallback(), HAL_DMA_Start_IT(), __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().

static void CRYP_SetKey ( CRYP_HandleTypeDef hcryp,
uint32_t  KeySize 
) [static]

Writes Key in Key registers.

Parameters:
hcryp,:pointer to a CRYP_HandleTypeDef structure that contains the configuration information for CRYP module
KeySize,:Size of Key
Return values:
None

Definition at line 3606 of file stm32f4xx_hal_cryp.c.

References CRYP_KEYSIZE_128B, CRYP_KEYSIZE_192B, 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().

static void CRYP_TDES_IT ( CRYP_HandleTypeDef hcryp) [static]

CRYP block input/output data handling under interruption with DES/TDES standard.

Note:
The function is called under interruption only, once interruptions have been enabled by CRYP_Decrypt_IT() and CRYP_Encrypt_IT().
Parameters:
hcryp,:pointer to a CRYP_HandleTypeDef structure that contains the configuration information for CRYP module.
Return values:
none

Definition at line 2304 of file stm32f4xx_hal_cryp.c.

References __HAL_CRYP_DISABLE, __HAL_CRYP_DISABLE_IT, __HAL_CRYP_GET_FLAG, __HAL_CRYP_GET_IT, CRYP_FLAG_INRIS, CRYP_FLAG_OUTRIS, CRYP_IT_INI, CRYP_IT_OUTI, __CRYP_HandleTypeDef::CrypInCount, __CRYP_HandleTypeDef::CrypOutCount, __CRYP_HandleTypeDef::ErrorCallback, __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::InCpltCallback, __CRYP_HandleTypeDef::Instance, __CRYP_HandleTypeDef::OutCpltCallback, __CRYP_HandleTypeDef::pCrypInBuffPtr, __CRYP_HandleTypeDef::pCrypOutBuffPtr, __CRYP_HandleTypeDef::Size, and __CRYP_HandleTypeDef::State.

Referenced by HAL_CRYP_IRQHandler().

static HAL_StatusTypeDef CRYP_TDES_Process ( CRYP_HandleTypeDef hcryp,
uint32_t  Timeout 
) [static]

Encryption in ECB/CBC Algorithm with DES/TDES standard.

Parameters:
hcryp,:pointer to a CRYP_HandleTypeDef structure that contains the configuration information for CRYP module
Timeout,:specify Timeout value
Return values:
HALstatus

Definition at line 2218 of file stm32f4xx_hal_cryp.c.

References __HAL_CRYP_DISABLE, __HAL_CRYP_ENABLE, CRYP_FLAG_IFNF, CRYP_FLAG_OFNE, CRYP_WaitOnOFNEFlag(), __CRYP_HandleTypeDef::CrypInCount, __CRYP_HandleTypeDef::CrypOutCount, __CRYP_HandleTypeDef::ErrorCallback, __CRYP_HandleTypeDef::ErrorCode, HAL_CRYP_ERROR_TIMEOUT, HAL_CRYP_ErrorCallback(), HAL_CRYP_STATE_READY, __CRYP_HandleTypeDef::Instance, __CRYP_HandleTypeDef::pCrypInBuffPtr, __CRYP_HandleTypeDef::pCrypOutBuffPtr, __CRYP_HandleTypeDef::Size, and __CRYP_HandleTypeDef::State.

Referenced by HAL_CRYP_Decrypt(), and HAL_CRYP_Encrypt().

static HAL_StatusTypeDef CRYP_WaitOnBUSYFlag ( CRYP_HandleTypeDef hcryp,
uint32_t  Timeout 
) [static]

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

Parameters:
hcryp,:pointer to a CRYP_HandleTypeDef structure that contains the configuration information for CRYP module.
Timeout,:Timeout duration.
Return values:
HALstatus

Definition at line 7025 of file stm32f4xx_hal_cryp.c.

References CRYP_FLAG_BUSY, HAL_GetTick(), and __CRYP_HandleTypeDef::Instance.

Referenced by CRYP_AES_Decrypt(), CRYP_GCMCCM_SetHeaderPhase(), and CRYP_Workaround().

static HAL_StatusTypeDef CRYP_WaitOnIFEMFlag ( CRYP_HandleTypeDef hcryp,
uint32_t  Timeout 
) [static]

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

Parameters:
hcryp,:pointer to a CRYP_HandleTypeDef structure that contains the configuration information for CRYP module.
Timeout,:Timeout duration.
Return values:
HALstatus

Definition at line 6997 of file stm32f4xx_hal_cryp.c.

References CRYP_FLAG_IFEM, HAL_GetTick(), and __CRYP_HandleTypeDef::Instance.

Referenced by CRYP_GCMCCM_SetHeaderPhase().

static HAL_StatusTypeDef CRYP_WaitOnOFNEFlag ( CRYP_HandleTypeDef hcryp,
uint32_t  Timeout 
) [static]

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

Parameters:
hcryp,:pointer to a CRYP_HandleTypeDef structure that contains the configuration information for CRYP module.
Timeout,:Timeout duration.
Return values:
HALstatus

Definition at line 7054 of file stm32f4xx_hal_cryp.c.

References CRYP_FLAG_OFNE, HAL_GetTick(), and __CRYP_HandleTypeDef::Instance.

Referenced by CRYP_AES_ProcessData(), CRYP_TDES_Process(), and CRYP_Workaround().

static void CRYP_Workaround ( CRYP_HandleTypeDef hcryp,
uint32_t  Timeout 
) [static]