STM32H735xx HAL User Manual
Functions
HASH extended processing functions in interrupt mode
HASH Extended Exported Functions

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

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_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.

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 stm32h7xx_hal_hash_ex.c.

References HASH_ALGOSELECTION_SHA224, and HASH_Start_IT().

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.

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 stm32h7xx_hal_hash_ex.c.

References HASH_Accumulate_IT(), and HASH_ALGOSELECTION_SHA224.

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.

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 stm32h7xx_hal_hash_ex.c.

References HASH_ALGOSELECTION_SHA224, and HASH_Start_IT().

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.

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 stm32h7xx_hal_hash_ex.c.

References HASH_ALGOSELECTION_SHA256, and HASH_Start_IT().

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.

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 stm32h7xx_hal_hash_ex.c.

References HASH_Accumulate_IT(), and HASH_ALGOSELECTION_SHA256.

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.

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 stm32h7xx_hal_hash_ex.c.

References HASH_ALGOSELECTION_SHA256, and HASH_Start_IT().