STM32F4xx HAL Documentation
Hardware Abstraction Layer for STM32F4 familiy
Loading...
Searching...
No Matches
HASH extended processing functions in interrupt mode

HASH extended processing functions using interrupt mode. More...

Collaboration diagram for HASH extended processing functions in interrupt mode:

Functions

HAL_StatusTypeDef HAL_HASHEx_SHA224_Start_IT (HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t *pOutBuffer)
 Initialize the HASH peripheral in SHA224 mode, next process pInBuffer then read the computed digest in interruption mode.
 
HAL_StatusTypeDef HAL_HASHEx_SHA224_Accmlt_IT (HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size)
 If not already done, initialize the HASH peripheral in SHA224 mode then processes pInBuffer in interruption mode.
 
HAL_StatusTypeDef HAL_HASHEx_SHA224_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_HASHEx_SHA224_Accmlt_IT() API.
 
HAL_StatusTypeDef HAL_HASHEx_SHA256_Start_IT (HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t *pOutBuffer)
 Initialize the HASH peripheral in SHA256 mode, next process pInBuffer then read the computed digest in interruption mode.
 
HAL_StatusTypeDef HAL_HASHEx_SHA256_Accmlt_IT (HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size)
 If not already done, initialize the HASH peripheral in SHA256 mode then processes pInBuffer in interruption mode.
 
HAL_StatusTypeDef HAL_HASHEx_SHA256_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_HASHEx_SHA256_Accmlt_IT() API.
 

Detailed Description

HASH extended processing functions using interrupt mode.

 ===============================================================================
          ##### Interruption mode HASH extended processing functions #####
 ===============================================================================
    [..]  This section provides functions allowing to calculate in interrupt mode
          the hash value using one of the following algorithms:
      (+) SHA224
         (++) HAL_HASHEx_SHA224_Start_IT()
         (++) HAL_HASHEx_SHA224_Accmlt_IT()
         (++) HAL_HASHEx_SHA224_Accmlt_End_IT()
      (+) SHA256
         (++) HAL_HASHEx_SHA256_Start_IT()
         (++) HAL_HASHEx_SHA256_Accmlt_IT()
         (++) HAL_HASHEx_SHA256_Accmlt_End_IT()

Function Documentation

◆ HAL_HASHEx_SHA224_Start_IT()

HAL_StatusTypeDef HAL_HASHEx_SHA224_Start_IT ( HASH_HandleTypeDef * hhash,
uint8_t * pInBuffer,
uint32_t Size,
uint8_t * pOutBuffer )

#include <stm32f4xx_hal_hash_ex.h>

Initialize the HASH peripheral in SHA224 mode, next process pInBuffer then read the computed digest in interruption mode.

Note
Digest is available in pOutBuffer.
Parameters
hhashHASH handle.
pInBufferpointer to the input buffer (buffer to be hashed).
Sizelength of the input buffer in bytes.
pOutBufferpointer to the computed digest. Digest size is 28 bytes.
Return values
HALstatus

Definition at line 293 of file stm32f4xx_hal_hash_ex.c.

References HASH_ALGOSELECTION_SHA224, and HASH_Start_IT().

◆ HAL_HASHEx_SHA224_Accmlt_IT()

HAL_StatusTypeDef HAL_HASHEx_SHA224_Accmlt_IT ( HASH_HandleTypeDef * hhash,
uint8_t * pInBuffer,
uint32_t Size )

#include <stm32f4xx_hal_hash_ex.h>

If not already done, initialize the HASH peripheral in SHA224 mode then processes pInBuffer in interruption mode.

Note
Consecutive calls to HAL_HASHEx_SHA224_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_HASHEx_SHA224_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_HASHEx_SHA224_Accmlt_End_IT() is able to manage the ending buffer with a length in bytes not a multiple of 4.
Parameters
hhashHASH handle.
pInBufferpointer to the input buffer (buffer to be hashed).
Sizelength of the input buffer in bytes, must be a multiple of 4.
Return values
HALstatus

Definition at line 317 of file stm32f4xx_hal_hash_ex.c.

References HASH_Accumulate_IT(), and HASH_ALGOSELECTION_SHA224.

◆ HAL_HASHEx_SHA224_Accmlt_End_IT()

HAL_StatusTypeDef HAL_HASHEx_SHA224_Accmlt_End_IT ( HASH_HandleTypeDef * hhash,
uint8_t * pInBuffer,
uint32_t Size,
uint8_t * pOutBuffer )

#include <stm32f4xx_hal_hash_ex.h>

End computation of a single HASH signature after several calls to HAL_HASHEx_SHA224_Accmlt_IT() API.

Note
Digest is available in pOutBuffer.
Parameters
hhashHASH handle.
pInBufferpointer to the input buffer (buffer to be hashed).
Sizelength of the input buffer in bytes.
pOutBufferpointer to the computed digest. Digest size is 28 bytes.
Return values
HALstatus

Definition at line 331 of file stm32f4xx_hal_hash_ex.c.

References HASH_ALGOSELECTION_SHA224, and HASH_Start_IT().

◆ HAL_HASHEx_SHA256_Start_IT()

HAL_StatusTypeDef HAL_HASHEx_SHA256_Start_IT ( HASH_HandleTypeDef * hhash,
uint8_t * pInBuffer,
uint32_t Size,
uint8_t * pOutBuffer )

#include <stm32f4xx_hal_hash_ex.h>

Initialize the HASH peripheral in SHA256 mode, next process pInBuffer then read the computed digest in interruption mode.

Note
Digest is available in pOutBuffer.
Parameters
hhashHASH handle.
pInBufferpointer to the input buffer (buffer to be hashed).
Sizelength of the input buffer in bytes.
pOutBufferpointer to the computed digest. Digest size is 32 bytes.
Return values
HALstatus

Definition at line 347 of file stm32f4xx_hal_hash_ex.c.

References HASH_ALGOSELECTION_SHA256, and HASH_Start_IT().

◆ HAL_HASHEx_SHA256_Accmlt_IT()

HAL_StatusTypeDef HAL_HASHEx_SHA256_Accmlt_IT ( HASH_HandleTypeDef * hhash,
uint8_t * pInBuffer,
uint32_t Size )

#include <stm32f4xx_hal_hash_ex.h>

If not already done, initialize the HASH peripheral in SHA256 mode then processes pInBuffer in interruption mode.

Note
Consecutive calls to HAL_HASHEx_SHA256_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_HASHEx_SHA256_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_HASHEx_SHA256_Accmlt_End_IT() is able to manage the ending buffer with a length in bytes not a multiple of 4.
Parameters
hhashHASH handle.
pInBufferpointer to the input buffer (buffer to be hashed).
Sizelength of the input buffer in bytes, must be a multiple of 4.
Return values
HALstatus

Definition at line 371 of file stm32f4xx_hal_hash_ex.c.

References HASH_Accumulate_IT(), and HASH_ALGOSELECTION_SHA256.

◆ HAL_HASHEx_SHA256_Accmlt_End_IT()

HAL_StatusTypeDef HAL_HASHEx_SHA256_Accmlt_End_IT ( HASH_HandleTypeDef * hhash,
uint8_t * pInBuffer,
uint32_t Size,
uint8_t * pOutBuffer )

#include <stm32f4xx_hal_hash_ex.h>

End computation of a single HASH signature after several calls to HAL_HASHEx_SHA256_Accmlt_IT() API.

Note
Digest is available in pOutBuffer.
Parameters
hhashHASH handle.
pInBufferpointer to the input buffer (buffer to be hashed).
Sizelength of the input buffer in bytes.
pOutBufferpointer to the computed digest. Digest size is 32 bytes.
Return values
HALstatus

Definition at line 385 of file stm32f4xx_hal_hash_ex.c.

References HASH_ALGOSELECTION_SHA256, and HASH_Start_IT().