xilsecure
Vitis Drivers API Documentation
xsecure_hmac.c File Reference

Overview

This file contains the implementation of the HMAC APIs.

MODIFICATION HISTORY:
Ver   Who Date     Changes


5.0 vns 05/30/22 Initial release kpt 07/24/22 Moved XSecure_HmacKat into xsecure_kat_plat.c 5.2 kpt 07/27/23 Fix security review comments dd 10/11/23 MISRA-C violation Rule 10.3 fixed dd 10/11/23 MISRA-C violation Rule 8.13 fixed 5.3 kpt 11/24/23 Replace Xil_SMemSet with Xil_SecureZeroize har 01/16/24 Corrected length of IntHash for zeroization

 

Macros

#define XSECURE_HMAC_8BIT_SHIFT   (8U)
 8 Bit shift for HMAC More...
 
#define XSECURE_HMAC_16BIT_SHIFT   (16U)
 16 Bit shift for HMAC More...
 
#define XSECURE_HMAC_24BIT_SHIFT   (24U)
 24 Bit shift for HMAC More...
 
#define XSECURE_HMAC_WORD_LEN   (4U)
 HMAC word length. More...
 
#define XSECURE_HMAC_IPAD_VALUE   (0x36U)
 HMAC IPAD value. More...
 
#define XSECURE_HMAC_OPAD_VALUE   (0x5CU)
 HMAC OPAD value. More...
 

Functions

int XSecure_HmacInit (XSecure_Hmac *InstancePtr, XSecure_Sha3 *Sha3InstancePtr, u64 KeyAddr, u32 KeyLen)
 This function initializes the HMAC instance. More...
 
int XSecure_HmacUpdate (XSecure_Hmac *InstancePtr, u64 DataAddr, u32 Len)
 This function updates the data to be authenticated, which can be called repeatedly with chunks of the message to be authenticated (len bytes at data). More...
 
int XSecure_HmacFinal (XSecure_Hmac *InstancePtr, XSecure_HmacRes *Hmac)
 This function calculates the final HMAC. More...