STM32F4xx HAL Documentation
Hardware Abstraction Layer for STM32F4 familiy
|
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_Encrypt | ( | CRYP_HandleTypeDef * | hcryp, |
uint32_t * | Input, | ||
uint16_t | Size, | ||
uint32_t * | Output, | ||
uint32_t | Timeout ) |
#include <stm32f4xx_hal_cryp.h>
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 __HAL_LOCK, __HAL_UNLOCK, CRYP_ConfigTypeDef::Algorithm, CRYP_AES_CBC, CRYP_AES_CCM, CRYP_AES_CTR, CRYP_AES_ECB, CRYP_AES_Encrypt(), CRYP_AES_GCM_GMAC, CRYP_AESCCM_Process(), CRYP_AESGCM_Process(), CRYP_DATAWIDTHUNIT_WORD, CRYP_OPERATINGMODE_ENCRYPT, CRYP_PHASE_PROCESS, __CRYP_HandleTypeDef::CrypInCount, __CRYP_HandleTypeDef::CrypOutCount, CRYP_ConfigTypeDef::DataWidthUnit, __CRYP_HandleTypeDef::ErrorCode, HAL_CRYP_ERROR_BUSY, HAL_CRYP_ERROR_NOT_SUPPORTED, HAL_CRYP_STATE_BUSY, HAL_CRYP_STATE_READY, HAL_ERROR, HAL_OK, __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 | ( | CRYP_HandleTypeDef * | hcryp, |
uint32_t * | Input, | ||
uint16_t | Size, | ||
uint32_t * | Output, | ||
uint32_t | Timeout ) |
#include <stm32f4xx_hal_cryp.h>
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 __HAL_LOCK, __HAL_UNLOCK, CRYP_ConfigTypeDef::Algorithm, CRYP_AES_CBC, CRYP_AES_CCM, CRYP_AES_CTR, CRYP_AES_Decrypt(), CRYP_AES_ECB, CRYP_AES_GCM_GMAC, CRYP_AESCCM_Process(), CRYP_AESGCM_Process(), CRYP_DATAWIDTHUNIT_WORD, CRYP_OPERATINGMODE_DECRYPT, CRYP_PHASE_PROCESS, __CRYP_HandleTypeDef::CrypInCount, __CRYP_HandleTypeDef::CrypOutCount, CRYP_ConfigTypeDef::DataWidthUnit, __CRYP_HandleTypeDef::ErrorCode, HAL_CRYP_ERROR_BUSY, HAL_CRYP_ERROR_NOT_SUPPORTED, HAL_CRYP_STATE_BUSY, HAL_CRYP_STATE_READY, HAL_ERROR, HAL_OK, __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_IT | ( | CRYP_HandleTypeDef * | hcryp, |
uint32_t * | Input, | ||
uint16_t | Size, | ||
uint32_t * | Output ) |
#include <stm32f4xx_hal_cryp.h>
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, __HAL_LOCK, __HAL_UNLOCK, CRYP_ConfigTypeDef::Algorithm, CRYP_AES_CBC, CRYP_AES_CCM, CRYP_AES_CTR, CRYP_AES_ECB, CRYP_AES_Encrypt_IT(), CRYP_AES_GCM_GMAC, CRYP_AESCCM_Process_IT(), CRYP_AESGCM_Process_IT(), CRYP_DATAWIDTHUNIT_WORD, CRYP_OPERATINGMODE_ENCRYPT, CRYP_PHASE_PROCESS, __CRYP_HandleTypeDef::CrypInCount, __CRYP_HandleTypeDef::CrypOutCount, CRYP_ConfigTypeDef::DataWidthUnit, __CRYP_HandleTypeDef::ErrorCode, HAL_CRYP_ERROR_BUSY, HAL_CRYP_ERROR_NOT_SUPPORTED, HAL_CRYP_STATE_BUSY, HAL_CRYP_STATE_READY, HAL_ERROR, HAL_OK, __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 ) |
#include <stm32f4xx_hal_cryp.h>
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, __HAL_LOCK, __HAL_UNLOCK, CRYP_ConfigTypeDef::Algorithm, CRYP_AES_CBC, CRYP_AES_CCM, CRYP_AES_CTR, CRYP_AES_Decrypt_IT(), CRYP_AES_ECB, CRYP_AES_GCM_GMAC, CRYP_AESCCM_Process_IT(), CRYP_AESGCM_Process_IT(), CRYP_DATAWIDTHUNIT_WORD, CRYP_OPERATINGMODE_DECRYPT, CRYP_PHASE_PROCESS, __CRYP_HandleTypeDef::CrypInCount, __CRYP_HandleTypeDef::CrypOutCount, CRYP_ConfigTypeDef::DataWidthUnit, __CRYP_HandleTypeDef::ErrorCode, HAL_CRYP_ERROR_BUSY, HAL_CRYP_ERROR_NOT_SUPPORTED, HAL_CRYP_STATE_BUSY, HAL_CRYP_STATE_READY, HAL_ERROR, HAL_OK, __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 ) |
#include <stm32f4xx_hal_cryp.h>
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 __HAL_LOCK, __HAL_UNLOCK, CRYP_ConfigTypeDef::Algorithm, CRYP_AES_CBC, CRYP_AES_CCM, CRYP_AES_CTR, CRYP_AES_ECB, CRYP_AES_GCM_GMAC, CRYP_AESCCM_Process_DMA(), CRYP_AESGCM_Process_DMA(), CRYP_DATAWIDTHUNIT_WORD, CRYP_KEYIVCONFIG_ONCE, CRYP_OPERATINGMODE_ENCRYPT, CRYP_PHASE_PROCESS, CRYP_SetDMAConfig(), CRYP_SetKey(), __CRYP_HandleTypeDef::CrypInCount, __CRYP_HandleTypeDef::CrypOutCount, CRYP_ConfigTypeDef::DataWidthUnit, __CRYP_HandleTypeDef::ErrorCode, HAL_CRYP_ERROR_BUSY, HAL_CRYP_ERROR_NOT_SUPPORTED, HAL_CRYP_STATE_BUSY, HAL_CRYP_STATE_READY, HAL_ERROR, HAL_OK, __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_Decrypt_DMA | ( | CRYP_HandleTypeDef * | hcryp, |
uint32_t * | Input, | ||
uint16_t | Size, | ||
uint32_t * | Output ) |
#include <stm32f4xx_hal_cryp.h>
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 __HAL_LOCK, __HAL_UNLOCK, CRYP_ConfigTypeDef::Algorithm, CRYP_AES_CBC, CRYP_AES_CCM, CRYP_AES_CTR, CRYP_AES_Decrypt_DMA(), CRYP_AES_ECB, CRYP_AES_GCM_GMAC, CRYP_AESCCM_Process_DMA(), CRYP_AESGCM_Process_DMA(), CRYP_DATAWIDTHUNIT_WORD, CRYP_OPERATINGMODE_DECRYPT, CRYP_PHASE_PROCESS, CRYP_SetDMAConfig(), __CRYP_HandleTypeDef::CrypInCount, __CRYP_HandleTypeDef::CrypOutCount, CRYP_ConfigTypeDef::DataWidthUnit, __CRYP_HandleTypeDef::ErrorCode, HAL_CRYP_ERROR_BUSY, HAL_CRYP_ERROR_NOT_SUPPORTED, HAL_CRYP_STATE_BUSY, HAL_CRYP_STATE_READY, HAL_ERROR, HAL_OK, __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.