4.4.2.1 Crypto_Hash_Shake_Init

crypto_Hash_Status_E Crypto_Hash_Shake_Init(
    st_Crypto_Hash_Shake_Ctx *ptr_shakeCtx_st, 
    crypto_Hash_Algo_E shakeAlgorithm_en,
    uint32_t digestlen,  
    crypto_HandlerType_E shakeHandlerType_en, 
    uint32_t shakeSessionId
    );

Description

This API is used to initiate context for SHAKE algorithms variants.

Parameters

No.Argument TypeArgument NameTypeDescription
1st_Crypto_Sha_Hash_Ctx*ptr_shakeCtx_stOutputHash algorithm and crypto handler selection
2crypto_Hash_Algo_EshakeAlgorithm_enInputHash algorithm selection
3uint32_tdigestlenInputExpected length of hash/digest input data in number of bytes
4crypto_HandlerType_EshakeHandlerType_enInputInput to select the crypto engine i.e., SW library or HW crypto
5uint32_tshakeSessionIdInputIt defines the session ID, must be more than zero

Returns

Return TypeDescription
crypto_Hash_Status_EFunction returns the status of the API.

Prerequisites

  • To use the HW handler, the algorithm must be enabled in Crypto v4 in MPLAB® Code Configurator.
  • To use the SW handler, the algorithm must be enabled in wolfCrypt, and linked to Crypto V4 in MPLAB® Code Configurator.

Example

Example provided in Crypto_Hash_Shake_Final.