|
STM32F479xx HAL User Manual
|
processing functions. More...
Functions | |
| HAL_StatusTypeDef | HAL_CRYP_Encrypt (CRYP_HandleTypeDef *hcryp, uint32_t *Input, uint16_t Size, uint32_t *Output, uint32_t Timeout) |
| Encryption mode. | |
| HAL_StatusTypeDef | HAL_CRYP_Decrypt (CRYP_HandleTypeDef *hcryp, uint32_t *Input, uint16_t Size, uint32_t *Output, uint32_t Timeout) |
| Decryption mode. | |
| HAL_StatusTypeDef | HAL_CRYP_Encrypt_IT (CRYP_HandleTypeDef *hcryp, uint32_t *Input, uint16_t Size, uint32_t *Output) |
| Encryption in interrupt mode. | |
| HAL_StatusTypeDef | HAL_CRYP_Decrypt_IT (CRYP_HandleTypeDef *hcryp, uint32_t *Input, uint16_t Size, uint32_t *Output) |
| Decryption in itnterrupt mode. | |
| HAL_StatusTypeDef | HAL_CRYP_Encrypt_DMA (CRYP_HandleTypeDef *hcryp, uint32_t *Input, uint16_t Size, uint32_t *Output) |
| Encryption in DMA mode. | |
| HAL_StatusTypeDef | HAL_CRYP_Decrypt_DMA (CRYP_HandleTypeDef *hcryp, uint32_t *Input, uint16_t Size, uint32_t *Output) |
| Decryption in DMA mode. | |
processing functions.
==============================================================================
##### Encrypt Decrypt functions #####
==============================================================================
[..] This section provides API allowing to Encrypt/Decrypt Data following
Standard DES/TDES or AES, and Algorithm configured by the user:
(+) Standard DES/TDES only supported by CRYP1 IP, below list of Algorithm supported :
- Electronic Code Book(ECB)
- Cipher Block Chaining (CBC)
(+) Standard AES supported by CRYP1 IP & TinyAES, list of Algorithm supported:
- Electronic Code Book(ECB)
- Cipher Block Chaining (CBC)
- Counter mode (CTR)
- Cipher Block Chaining (CBC)
- Counter mode (CTR)
- Galois/counter mode (GCM)
- Counter with Cipher Block Chaining-Message(CCM)
[..] Three processing functions are available:
(+) Polling mode : HAL_CRYP_Encrypt & HAL_CRYP_Decrypt
(+) Interrupt mode : HAL_CRYP_Encrypt_IT & HAL_CRYP_Decrypt_IT
(+) DMA mode : HAL_CRYP_Encrypt_DMA & HAL_CRYP_Decrypt_DMA
| HAL_StatusTypeDef HAL_CRYP_Decrypt | ( | CRYP_HandleTypeDef * | hcryp, |
| uint32_t * | Input, | ||
| uint16_t | Size, | ||
| uint32_t * | Output, | ||
| uint32_t | Timeout | ||
| ) |
Decryption mode.
| hcryp,: | pointer to a CRYP_HandleTypeDef structure that contains the configuration information for CRYP module |
| Input,: | Pointer to the input buffer (ciphertext ) |
| Size,: | Length of the plaintext buffer in word. |
| Output,: | Pointer to the output buffer(plaintext) |
| Timeout,: | Specify Timeout value |
| HAL | status |
Definition at line 1119 of file stm32f4xx_hal_cryp.c.
References CRYP_ConfigTypeDef::Algorithm, CRYP_AES_CBC, CRYP_AES_CCM, CRYP_AES_CTR, CRYP_AES_Decrypt(), CRYP_AES_ECB, CRYP_AES_GCM, CRYP_AESCCM_Process(), CRYP_AESGCM_Process(), CRYP_DATAWIDTHUNIT_WORD, CRYP_DES_CBC, CRYP_DES_ECB, CRYP_OPERATINGMODE_DECRYPT, CRYP_PHASE_PROCESS, CRYP_TDES_CBC, CRYP_TDES_ECB, CRYP_TDES_Process(), __CRYP_HandleTypeDef::CrypInCount, __CRYP_HandleTypeDef::CrypOutCount, CRYP_ConfigTypeDef::DataWidthUnit, __CRYP_HandleTypeDef::ErrorCode, HAL_CRYP_ERROR_BUSY, HAL_CRYP_ERROR_NOT_SUPPORTED, HAL_CRYP_FIFO_FLUSH, HAL_CRYP_STATE_BUSY, HAL_CRYP_STATE_READY, __CRYP_HandleTypeDef::Init, __CRYP_HandleTypeDef::Instance, __CRYP_HandleTypeDef::pCrypInBuffPtr, __CRYP_HandleTypeDef::pCrypOutBuffPtr, __CRYP_HandleTypeDef::Phase, CRYP_ConfigTypeDef::pInitVect, CRYP_ConfigTypeDef::pKey, __CRYP_HandleTypeDef::Size, and __CRYP_HandleTypeDef::State.
| HAL_StatusTypeDef HAL_CRYP_Decrypt_DMA | ( | CRYP_HandleTypeDef * | hcryp, |
| uint32_t * | Input, | ||
| uint16_t | Size, | ||
| uint32_t * | Output | ||
| ) |
Decryption in DMA mode.
| hcryp,: | pointer to a CRYP_HandleTypeDef structure that contains the configuration information for CRYP module |
| Input,: | Pointer to the input buffer (ciphertext ) |
| Size,: | Length of the plaintext buffer in word |
| Output,: | Pointer to the output buffer(plaintext) |
| HAL | status |
Definition at line 1854 of file stm32f4xx_hal_cryp.c.
References CRYP_ConfigTypeDef::Algorithm, CRYP_AES_CBC, CRYP_AES_CCM, CRYP_AES_CTR, CRYP_AES_Decrypt_DMA(), CRYP_AES_ECB, CRYP_AES_GCM, CRYP_AESCCM_Process_DMA(), CRYP_AESGCM_Process_DMA(), CRYP_DATAWIDTHUNIT_WORD, CRYP_DES_CBC, CRYP_DES_ECB, CRYP_OPERATINGMODE_DECRYPT, CRYP_PHASE_PROCESS, CRYP_SetDMAConfig(), CRYP_TDES_CBC, CRYP_TDES_ECB, __CRYP_HandleTypeDef::CrypInCount, __CRYP_HandleTypeDef::CrypOutCount, CRYP_ConfigTypeDef::DataWidthUnit, __CRYP_HandleTypeDef::ErrorCode, HAL_CRYP_ERROR_BUSY, HAL_CRYP_ERROR_NOT_SUPPORTED, HAL_CRYP_FIFO_FLUSH, HAL_CRYP_STATE_BUSY, HAL_CRYP_STATE_READY, __CRYP_HandleTypeDef::Init, __CRYP_HandleTypeDef::Instance, __CRYP_HandleTypeDef::pCrypInBuffPtr, __CRYP_HandleTypeDef::pCrypOutBuffPtr, __CRYP_HandleTypeDef::Phase, CRYP_ConfigTypeDef::pInitVect, CRYP_ConfigTypeDef::pKey, __CRYP_HandleTypeDef::Size, and __CRYP_HandleTypeDef::State.
| HAL_StatusTypeDef HAL_CRYP_Decrypt_IT | ( | CRYP_HandleTypeDef * | hcryp, |
| uint32_t * | Input, | ||
| uint16_t | Size, | ||
| uint32_t * | Output | ||
| ) |
Decryption in itnterrupt mode.
| hcryp,: | pointer to a CRYP_HandleTypeDef structure that contains the configuration information for CRYP module |
| Input,: | Pointer to the input buffer (ciphertext ) |
| Size,: | Length of the plaintext buffer in word. |
| Output,: | Pointer to the output buffer(plaintext) |
| HAL | status |
Definition at line 1455 of file stm32f4xx_hal_cryp.c.
References __HAL_CRYP_ENABLE, __HAL_CRYP_ENABLE_IT, CRYP_ConfigTypeDef::Algorithm, CRYP_AES_CBC, CRYP_AES_CCM, CRYP_AES_CTR, CRYP_AES_Decrypt_IT(), CRYP_AES_ECB, CRYP_AES_GCM, CRYP_AESCCM_Process_IT(), CRYP_AESGCM_Process_IT(), CRYP_DATAWIDTHUNIT_WORD, CRYP_DES_CBC, CRYP_DES_ECB, CRYP_IT_INI, CRYP_IT_OUTI, CRYP_OPERATINGMODE_DECRYPT, CRYP_PHASE_PROCESS, CRYP_TDES_CBC, CRYP_TDES_ECB, __CRYP_HandleTypeDef::CrypInCount, __CRYP_HandleTypeDef::CrypOutCount, CRYP_ConfigTypeDef::DataWidthUnit, __CRYP_HandleTypeDef::ErrorCode, HAL_CRYP_ERROR_BUSY, HAL_CRYP_ERROR_NOT_SUPPORTED, HAL_CRYP_FIFO_FLUSH, HAL_CRYP_STATE_BUSY, HAL_CRYP_STATE_READY, __CRYP_HandleTypeDef::Init, __CRYP_HandleTypeDef::Instance, __CRYP_HandleTypeDef::pCrypInBuffPtr, __CRYP_HandleTypeDef::pCrypOutBuffPtr, __CRYP_HandleTypeDef::Phase, CRYP_ConfigTypeDef::pInitVect, CRYP_ConfigTypeDef::pKey, __CRYP_HandleTypeDef::Size, and __CRYP_HandleTypeDef::State.
| HAL_StatusTypeDef HAL_CRYP_Encrypt | ( | CRYP_HandleTypeDef * | hcryp, |
| uint32_t * | Input, | ||
| uint16_t | Size, | ||
| uint32_t * | Output, | ||
| uint32_t | Timeout | ||
| ) |
Encryption mode.
| hcryp,: | pointer to a CRYP_HandleTypeDef structure that contains the configuration information for CRYP module |
| Input,: | Pointer to the input buffer (plaintext) |
| Size,: | Length of the plaintext buffer in word. |
| Output,: | Pointer to the output buffer(ciphertext) |
| Timeout,: | Specify Timeout value |
| HAL | status |
Definition at line 946 of file stm32f4xx_hal_cryp.c.
References CRYP_ConfigTypeDef::Algorithm, CRYP_AES_CBC, CRYP_AES_CCM, CRYP_AES_CTR, CRYP_AES_ECB, CRYP_AES_Encrypt(), CRYP_AES_GCM, CRYP_AESCCM_Process(), CRYP_AESGCM_Process(), CRYP_DATAWIDTHUNIT_WORD, CRYP_DES_CBC, CRYP_DES_ECB, CRYP_OPERATINGMODE_ENCRYPT, CRYP_PHASE_PROCESS, CRYP_TDES_CBC, CRYP_TDES_ECB, CRYP_TDES_Process(), __CRYP_HandleTypeDef::CrypInCount, __CRYP_HandleTypeDef::CrypOutCount, CRYP_ConfigTypeDef::DataWidthUnit, __CRYP_HandleTypeDef::ErrorCode, HAL_CRYP_ERROR_BUSY, HAL_CRYP_ERROR_NOT_SUPPORTED, HAL_CRYP_FIFO_FLUSH, HAL_CRYP_STATE_BUSY, HAL_CRYP_STATE_READY, __CRYP_HandleTypeDef::Init, __CRYP_HandleTypeDef::Instance, __CRYP_HandleTypeDef::pCrypInBuffPtr, __CRYP_HandleTypeDef::pCrypOutBuffPtr, __CRYP_HandleTypeDef::Phase, CRYP_ConfigTypeDef::pInitVect, CRYP_ConfigTypeDef::pKey, __CRYP_HandleTypeDef::Size, and __CRYP_HandleTypeDef::State.
| HAL_StatusTypeDef HAL_CRYP_Encrypt_DMA | ( | CRYP_HandleTypeDef * | hcryp, |
| uint32_t * | Input, | ||
| uint16_t | Size, | ||
| uint32_t * | Output | ||
| ) |
Encryption in DMA mode.
| hcryp,: | pointer to a CRYP_HandleTypeDef structure that contains the configuration information for CRYP module |
| Input,: | Pointer to the input buffer (plaintext) |
| Size,: | Length of the plaintext buffer in word. |
| Output,: | Pointer to the output buffer(ciphertext) |
| HAL | status |
Definition at line 1622 of file stm32f4xx_hal_cryp.c.
References CRYP_ConfigTypeDef::Algorithm, CRYP_AES_CBC, CRYP_AES_CCM, CRYP_AES_CTR, CRYP_AES_ECB, CRYP_AES_GCM, CRYP_AESCCM_Process_DMA(), CRYP_AESGCM_Process_DMA(), CRYP_DATAWIDTHUNIT_WORD, CRYP_DES_CBC, CRYP_DES_ECB, CRYP_KEYIVCONFIG_ONCE, CRYP_OPERATINGMODE_ENCRYPT, CRYP_PHASE_PROCESS, CRYP_SetDMAConfig(), CRYP_SetKey(), CRYP_TDES_CBC, CRYP_TDES_ECB, __CRYP_HandleTypeDef::CrypInCount, __CRYP_HandleTypeDef::CrypOutCount, CRYP_ConfigTypeDef::DataWidthUnit, __CRYP_HandleTypeDef::ErrorCode, HAL_CRYP_ERROR_BUSY, HAL_CRYP_ERROR_NOT_SUPPORTED, HAL_CRYP_FIFO_FLUSH, HAL_CRYP_STATE_BUSY, HAL_CRYP_STATE_READY, __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_ConfigTypeDef::pInitVect, CRYP_ConfigTypeDef::pKey, __CRYP_HandleTypeDef::Size, and __CRYP_HandleTypeDef::State.
| HAL_StatusTypeDef HAL_CRYP_Encrypt_IT | ( | CRYP_HandleTypeDef * | hcryp, |
| uint32_t * | Input, | ||
| uint16_t | Size, | ||
| uint32_t * | Output | ||
| ) |
Encryption in interrupt mode.
| hcryp,: | pointer to a CRYP_HandleTypeDef structure that contains the configuration information for CRYP module |
| Input,: | Pointer to the input buffer (plaintext) |
| Size,: | Length of the plaintext buffer in word |
| Output,: | Pointer to the output buffer(ciphertext) |
| HAL | status |
Definition at line 1292 of file stm32f4xx_hal_cryp.c.
References __HAL_CRYP_ENABLE, __HAL_CRYP_ENABLE_IT, CRYP_ConfigTypeDef::Algorithm, CRYP_AES_CBC, CRYP_AES_CCM, CRYP_AES_CTR, CRYP_AES_ECB, CRYP_AES_Encrypt_IT(), CRYP_AES_GCM, CRYP_AESCCM_Process_IT(), CRYP_AESGCM_Process_IT(), CRYP_DATAWIDTHUNIT_WORD, CRYP_DES_CBC, CRYP_DES_ECB, CRYP_IT_INI, CRYP_IT_OUTI, CRYP_OPERATINGMODE_ENCRYPT, CRYP_PHASE_PROCESS, CRYP_TDES_CBC, CRYP_TDES_ECB, __CRYP_HandleTypeDef::CrypInCount, __CRYP_HandleTypeDef::CrypOutCount, CRYP_ConfigTypeDef::DataWidthUnit, __CRYP_HandleTypeDef::ErrorCode, HAL_CRYP_ERROR_BUSY, HAL_CRYP_ERROR_NOT_SUPPORTED, HAL_CRYP_FIFO_FLUSH, HAL_CRYP_STATE_BUSY, HAL_CRYP_STATE_READY, __CRYP_HandleTypeDef::Init, __CRYP_HandleTypeDef::Instance, __CRYP_HandleTypeDef::pCrypInBuffPtr, __CRYP_HandleTypeDef::pCrypOutBuffPtr, __CRYP_HandleTypeDef::Phase, CRYP_ConfigTypeDef::pInitVect, CRYP_ConfigTypeDef::pKey, __CRYP_HandleTypeDef::Size, and __CRYP_HandleTypeDef::State.
1.7.6.1