HMAC processing functions using DMA modes.
More...
|
HAL_StatusTypeDef | HAL_HMAC_SHA1_Start_DMA (HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size) |
| Initialize the HASH peripheral in HMAC SHA1 mode then initiate the required DMA transfers to feed the key and the input buffer to the Peripheral. More...
|
|
HAL_StatusTypeDef | HAL_HMAC_MD5_Start_DMA (HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size) |
| Initialize the HASH peripheral in HMAC MD5 mode then initiate the required DMA transfers to feed the key and the input buffer to the Peripheral. More...
|
|
HMAC processing functions using DMA modes.
===============================================================================
##### DMA mode HMAC processing functions #####
===============================================================================
[..] This section provides functions allowing to calculate in DMA mode
the HMAC value using one of the following algorithms:
(+) MD5
(++) HAL_HMAC_MD5_Start_DMA()
(+) SHA1
(++) HAL_HMAC_SHA1_Start_DMA()
[..] When resorting to DMA mode to enter the data in the Peripheral for HMAC processing,
user must resort to HAL_HMAC_xxx_Start_DMA() then read the resulting digest
with HAL_HASH_xxx_Finish().
◆ HAL_HMAC_MD5_Start_DMA()
HAL_StatusTypeDef HAL_HMAC_MD5_Start_DMA |
( |
HASH_HandleTypeDef * |
hhash, |
|
|
uint8_t * |
pInBuffer, |
|
|
uint32_t |
Size |
|
) |
| |
Initialize the HASH peripheral in HMAC MD5 mode then initiate the required DMA transfers to feed the key and the input buffer to the Peripheral.
- Note
- Once the DMA transfers are finished (indicated by hhash->State set back to HAL_HASH_STATE_READY), HAL_HASH_MD5_Finish() API must be called to retrieve the computed digest.
-
Same key is used for the inner and the outer hash functions; pointer to key and key size are respectively stored in hhash->Init.pKey and hhash->Init.KeySize.
-
If MDMAT bit is set before calling this function (multi-buffer HASH processing case), the input buffer size (in bytes) must be a multiple of 4 otherwise, the HASH digest computation is corrupted. For the processing of the last buffer of the thread, MDMAT bit must be reset and the buffer length (in bytes) doesn't have to be a multiple of 4.
- Parameters
-
hhash | HASH handle. |
pInBuffer | pointer to the input buffer (buffer to be hashed). |
Size | length of the input buffer in bytes. |
- Return values
-
Definition at line 1302 of file stm32f4xx_hal_hash.c.
◆ HAL_HMAC_SHA1_Start_DMA()
HAL_StatusTypeDef HAL_HMAC_SHA1_Start_DMA |
( |
HASH_HandleTypeDef * |
hhash, |
|
|
uint8_t * |
pInBuffer, |
|
|
uint32_t |
Size |
|
) |
| |
Initialize the HASH peripheral in HMAC SHA1 mode then initiate the required DMA transfers to feed the key and the input buffer to the Peripheral.
- Note
- Once the DMA transfers are finished (indicated by hhash->State set back to HAL_HASH_STATE_READY), HAL_HASH_SHA1_Finish() API must be called to retrieve the computed digest.
-
Same key is used for the inner and the outer hash functions; pointer to key and key size are respectively stored in hhash->Init.pKey and hhash->Init.KeySize.
-
If MDMAT bit is set before calling this function (multi-buffer HASH processing case), the input buffer size (in bytes) must be a multiple of 4 otherwise, the HASH digest computation is corrupted. For the processing of the last buffer of the thread, MDMAT bit must be reset and the buffer length (in bytes) doesn't have to be a multiple of 4.
- Parameters
-
hhash | HASH handle. |
pInBuffer | pointer to the input buffer (buffer to be hashed). |
Size | length of the input buffer in bytes. |
- Return values
-
Definition at line 1327 of file stm32f4xx_hal_hash.c.