STM32H735xx 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.
static HAL_StatusTypeDef CRYP_AESCCM_Process_IT (CRYP_HandleTypeDef *hcryp)
 AES CCM encryption/decryption process in interrupt mode.
static HAL_StatusTypeDef CRYP_AESCCM_Process_DMA (CRYP_HandleTypeDef *hcryp)
 AES CCM encryption/decryption process in DMA mode.
static void CRYP_GCMCCM_SetPayloadPhase_IT (CRYP_HandleTypeDef *hcryp)
 Sets the payload phase in interrupt 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 HAL_StatusTypeDef CRYP_WaitOnIFEMFlag (const CRYP_HandleTypeDef *hcryp, uint32_t Timeout)
 Handle CRYP hardware block Timeout when waiting for IFEM flag to be raised.
static HAL_StatusTypeDef CRYP_WaitOnBUSYFlag (const CRYP_HandleTypeDef *hcryp, uint32_t Timeout)
 Handle CRYP hardware block Timeout when waiting for BUSY flag to be raised.
static HAL_StatusTypeDef CRYP_WaitOnOFNEFlag (const 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]

Encryption in ECB/CBC & CTR mode with AES Standard using interrupt mode.

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

Definition at line 2056 of file stm32h7xx_hal_cryp.c.

References __HAL_CRYP_ENABLE, __HAL_CRYP_ENABLE_IT, CRYP_ConfigTypeDef::Algorithm, CRYP_AES_ECB, CRYP_IT_INI, CRYP_IT_OUTI, CRYP_KEYIVCONFIG_ONCE, CRYP_PHASE_PROCESS, CRYP_SetKey(), HAL_CRYP_STATE_READY, __CRYP_HandleTypeDef::Init, __CRYP_HandleTypeDef::Instance, __CRYP_HandleTypeDef::KeyIVConfig, CRYP_ConfigTypeDef::KeyIVConfigSkip, CRYP_ConfigTypeDef::KeySize, __CRYP_HandleTypeDef::Phase, CRYP_ConfigTypeDef::pInitVect, __CRYP_HandleTypeDef::Size, and __CRYP_HandleTypeDef::State.

Referenced by HAL_CRYP_Encrypt_IT().

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 2737 of file stm32h7xx_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 2665 of file stm32h7xx_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 2577 of file stm32h7xx_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 2426 of file stm32h7xx_hal_cryp.c.

References HAL_CRYP_InCpltCallback(), __CRYP_HandleTypeDef::InCpltCallback, and __CRYP_HandleTypeDef::Instance.

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]

Sets the header phase in polling mode.

Parameters:
hcryp,:pointer to a CRYP_HandleTypeDef structure that contains the configuration information for CRYP module(Header & HeaderSize)
Timeout,:Timeout value
Return values:
state

Definition at line 4354 of file stm32h7xx_hal_cryp.c.

References __HAL_CRYP_DISABLE, __HAL_CRYP_ENABLE, CRYP_HEADERWIDTHUNIT_WORD, CRYP_PHASE_HEADER, CRYP_SET_PHASE, CRYP_WaitOnBUSYFlag(), CRYP_WaitOnIFEMFlag(), __CRYP_HandleTypeDef::CrypHeaderCount, __CRYP_HandleTypeDef::ErrorCode, HAL_CRYP_ERROR_TIMEOUT, HAL_CRYP_STATE_READY, CRYP_ConfigTypeDef::Header, CRYP_ConfigTypeDef::HeaderSize, CRYP_ConfigTypeDef::HeaderWidthUnit, __CRYP_HandleTypeDef::Init, __CRYP_HandleTypeDef::Instance, and __CRYP_HandleTypeDef::State.

Referenced by CRYP_AESCCM_Process(), and CRYP_AESGCM_Process().

static HAL_StatusTypeDef CRYP_GCMCCM_SetHeaderPhase_DMA ( CRYP_HandleTypeDef hcryp) [static]

Sets the header phase when using DMA in process.

Parameters:
hcryp,:pointer to a CRYP_HandleTypeDef structure that contains the configuration information for CRYP module(Header & HeaderSize)
Return values:
None

Definition at line 4512 of file stm32h7xx_hal_cryp.c.

References __HAL_CRYP_DISABLE, __HAL_CRYP_ENABLE, CRYP_FLAG_BUSY, CRYP_FLAG_IFEM, CRYP_PHASE_HEADER, CRYP_SET_PHASE, CRYP_TIMEOUT_GCMCCMHEADERPHASE, __CRYP_HandleTypeDef::CrypHeaderCount, __CRYP_HandleTypeDef::ErrorCode, HAL_CRYP_ERROR_TIMEOUT, HAL_CRYP_STATE_READY, CRYP_ConfigTypeDef::Header, CRYP_ConfigTypeDef::HeaderSize, __CRYP_HandleTypeDef::Init, __CRYP_HandleTypeDef::Instance, and __CRYP_HandleTypeDef::State.

Referenced by CRYP_AESCCM_Process_DMA(), and CRYP_AESGCM_Process_DMA().

static void CRYP_GCMCCM_SetHeaderPhase_IT ( CRYP_HandleTypeDef hcryp) [static]

Sets the header phase in interrupt mode.

Parameters:
hcryp,:pointer to a CRYP_HandleTypeDef structure that contains the configuration information for CRYP module(Header & HeaderSize)
Return values:
None

Definition at line 4654 of file stm32h7xx_hal_cryp.c.

References __HAL_CRYP_DISABLE, __HAL_CRYP_DISABLE_IT, __HAL_CRYP_ENABLE, __HAL_CRYP_ENABLE_IT, CRYP_IT_INI, CRYP_IT_OUTI, CRYP_PHASE_PAYLOAD, CRYP_PHASE_PROCESS, CRYP_SET_PHASE, __CRYP_HandleTypeDef::CrypHeaderCount, CRYP_ConfigTypeDef::Header, CRYP_ConfigTypeDef::HeaderSize, __CRYP_HandleTypeDef::Init, __CRYP_HandleTypeDef::Instance, __CRYP_HandleTypeDef::Phase, REV_ID_B, and __CRYP_HandleTypeDef::Version.

Referenced by HAL_CRYP_IRQHandler().

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 2606 of file stm32h7xx_hal_cryp.c.

References __HAL_CRYP_ENABLE, 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::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 2841 of file stm32h7xx_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:
HALstatus

Definition at line 1894 of file stm32h7xx_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]
static HAL_StatusTypeDef CRYP_WaitOnBUSYFlag ( const 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 5103 of file stm32h7xx_hal_cryp.c.

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

Referenced by CRYP_AES_Decrypt(), and CRYP_GCMCCM_SetHeaderPhase().

static HAL_StatusTypeDef CRYP_WaitOnIFEMFlag ( const 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 5076 of file stm32h7xx_hal_cryp.c.

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

Referenced by CRYP_GCMCCM_SetHeaderPhase().

static HAL_StatusTypeDef CRYP_WaitOnOFNEFlag ( const 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 5132 of file stm32h7xx_hal_cryp.c.

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

Referenced by CRYP_AES_ProcessData(), CRYP_AESCCM_Process(), CRYP_AESGCM_Process(), and CRYP_TDES_Process().