HASH processing functions using interrupt mode.
More...
|
HAL_StatusTypeDef | HAL_HASH_SHA1_Start_IT (HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t *pOutBuffer) |
| Initialize the HASH peripheral in SHA1 mode, next process pInBuffer then read the computed digest in interruption mode. More...
|
|
HAL_StatusTypeDef | HAL_HASH_SHA1_Accmlt_IT (HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size) |
| If not already done, initialize the HASH peripheral in SHA1 mode then processes pInBuffer in interruption mode. More...
|
|
HAL_StatusTypeDef | HAL_HASH_SHA1_Accmlt_End_IT (HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t *pOutBuffer) |
| End computation of a single HASH signature after several calls to HAL_HASH_SHA1_Accmlt_IT() API. More...
|
|
HAL_StatusTypeDef | HAL_HASH_MD5_Start_IT (HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t *pOutBuffer) |
| Initialize the HASH peripheral in MD5 mode, next process pInBuffer then read the computed digest in interruption mode. More...
|
|
HAL_StatusTypeDef | HAL_HASH_MD5_Accmlt_IT (HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size) |
| If not already done, initialize the HASH peripheral in MD5 mode then processes pInBuffer in interruption mode. More...
|
|
HAL_StatusTypeDef | HAL_HASH_MD5_Accmlt_End_IT (HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t *pOutBuffer) |
| End computation of a single HASH signature after several calls to HAL_HASH_MD5_Accmlt_IT() API. More...
|
|
void | HAL_HASH_IRQHandler (HASH_HandleTypeDef *hhash) |
| Handle HASH interrupt request. More...
|
|
HASH processing functions using interrupt mode.
===============================================================================
##### Interruption mode HASH processing functions #####
===============================================================================
[..] This section provides functions allowing to calculate in interrupt mode
the hash value using one of the following algorithms:
(+) MD5
(++) HAL_HASH_MD5_Start_IT()
(++) HAL_HASH_MD5_Accmlt_IT()
(++) HAL_HASH_MD5_Accmlt_End_IT()
(+) SHA1
(++) HAL_HASH_SHA1_Start_IT()
(++) HAL_HASH_SHA1_Accmlt_IT()
(++) HAL_HASH_SHA1_Accmlt_End_IT()
[..] API HAL_HASH_IRQHandler() manages each HASH interruption.
[..] Note that HAL_HASH_IRQHandler() manages as well HASH Peripheral interruptions when in
HMAC processing mode.
◆ HAL_HASH_IRQHandler()
Handle HASH interrupt request.
- Parameters
-
- Note
- HAL_HASH_IRQHandler() handles interrupts in HMAC processing as well.
-
In case of error reported during the HASH interruption processing, HAL_HASH_ErrorCallback() API is called so that user code can manage the error. The error type is available in hhash->Status field.
- Return values
-
Definition at line 1024 of file stm32f4xx_hal_hash.c.
◆ HAL_HASH_MD5_Accmlt_End_IT()
HAL_StatusTypeDef HAL_HASH_MD5_Accmlt_End_IT |
( |
HASH_HandleTypeDef * |
hhash, |
|
|
uint8_t * |
pInBuffer, |
|
|
uint32_t |
Size, |
|
|
uint8_t * |
pOutBuffer |
|
) |
| |
End computation of a single HASH signature after several calls to HAL_HASH_MD5_Accmlt_IT() API.
- Note
- Digest is available in pOutBuffer.
- Parameters
-
hhash | HASH handle. |
pInBuffer | pointer to the input buffer (buffer to be hashed). |
Size | length of the input buffer in bytes. |
pOutBuffer | pointer to the computed digest. Digest size is 16 bytes. |
- Return values
-
Definition at line 954 of file stm32f4xx_hal_hash.c.
◆ HAL_HASH_MD5_Accmlt_IT()
HAL_StatusTypeDef HAL_HASH_MD5_Accmlt_IT |
( |
HASH_HandleTypeDef * |
hhash, |
|
|
uint8_t * |
pInBuffer, |
|
|
uint32_t |
Size |
|
) |
| |
If not already done, initialize the HASH peripheral in MD5 mode then processes pInBuffer in interruption mode.
- Note
- Consecutive calls to HAL_HASH_MD5_Accmlt_IT() can be used to feed several input buffers back-to-back to the Peripheral that will yield a single HASH signature once all buffers have been entered. Wrap-up of input buffers feeding and retrieval of digest is done by a call to HAL_HASH_MD5_Accmlt_End_IT().
-
Field hhash->Phase of HASH handle is tested to check whether or not the Peripheral has already been initialized.
-
The input buffer size (in bytes) must be a multiple of 4 otherwise, the HASH digest computation is corrupted. Only HAL_HASH_MD5_Accmlt_End_IT() is able to manage the ending buffer with a length in bytes not 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, must be a multiple of 4. |
- Return values
-
Definition at line 940 of file stm32f4xx_hal_hash.c.
◆ HAL_HASH_MD5_Start_IT()
HAL_StatusTypeDef HAL_HASH_MD5_Start_IT |
( |
HASH_HandleTypeDef * |
hhash, |
|
|
uint8_t * |
pInBuffer, |
|
|
uint32_t |
Size, |
|
|
uint8_t * |
pOutBuffer |
|
) |
| |
Initialize the HASH peripheral in MD5 mode, next process pInBuffer then read the computed digest in interruption mode.
- Note
- Digest is available in pOutBuffer.
- Parameters
-
hhash | HASH handle. |
pInBuffer | pointer to the input buffer (buffer to be hashed). |
Size | length of the input buffer in bytes. |
pOutBuffer | pointer to the computed digest. Digest size is 16 bytes. |
- Return values
-
Definition at line 916 of file stm32f4xx_hal_hash.c.
◆ HAL_HASH_SHA1_Accmlt_End_IT()
HAL_StatusTypeDef HAL_HASH_SHA1_Accmlt_End_IT |
( |
HASH_HandleTypeDef * |
hhash, |
|
|
uint8_t * |
pInBuffer, |
|
|
uint32_t |
Size, |
|
|
uint8_t * |
pOutBuffer |
|
) |
| |
End computation of a single HASH signature after several calls to HAL_HASH_SHA1_Accmlt_IT() API.
- Note
- Digest is available in pOutBuffer.
- Parameters
-
hhash | HASH handle. |
pInBuffer | pointer to the input buffer (buffer to be hashed). |
Size | length of the input buffer in bytes. |
pOutBuffer | pointer to the computed digest. Digest size is 20 bytes. |
- Return values
-
Definition at line 1009 of file stm32f4xx_hal_hash.c.
◆ HAL_HASH_SHA1_Accmlt_IT()
HAL_StatusTypeDef HAL_HASH_SHA1_Accmlt_IT |
( |
HASH_HandleTypeDef * |
hhash, |
|
|
uint8_t * |
pInBuffer, |
|
|
uint32_t |
Size |
|
) |
| |
If not already done, initialize the HASH peripheral in SHA1 mode then processes pInBuffer in interruption mode.
- Note
- Consecutive calls to HAL_HASH_SHA1_Accmlt_IT() can be used to feed several input buffers back-to-back to the Peripheral that will yield a single HASH signature once all buffers have been entered. Wrap-up of input buffers feeding and retrieval of digest is done by a call to HAL_HASH_SHA1_Accmlt_End_IT().
-
Field hhash->Phase of HASH handle is tested to check whether or not the Peripheral has already been initialized.
-
The input buffer size (in bytes) must be a multiple of 4 otherwise, the HASH digest computation is corrupted. Only HAL_HASH_SHA1_Accmlt_End_IT() is able to manage the ending buffer with a length in bytes not 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, must be a multiple of 4. |
- Return values
-
Definition at line 995 of file stm32f4xx_hal_hash.c.
◆ HAL_HASH_SHA1_Start_IT()
HAL_StatusTypeDef HAL_HASH_SHA1_Start_IT |
( |
HASH_HandleTypeDef * |
hhash, |
|
|
uint8_t * |
pInBuffer, |
|
|
uint32_t |
Size, |
|
|
uint8_t * |
pOutBuffer |
|
) |
| |
Initialize the HASH peripheral in SHA1 mode, next process pInBuffer then read the computed digest in interruption mode.
- Note
- Digest is available in pOutBuffer.
- Parameters
-
hhash | HASH handle. |
pInBuffer | pointer to the input buffer (buffer to be hashed). |
Size | length of the input buffer in bytes. |
pOutBuffer | pointer to the computed digest. Digest size is 20 bytes. |
- Return values
-
Definition at line 970 of file stm32f4xx_hal_hash.c.