1.Input Parameters: HMAC takes two inputs: a secret key (K) and the message or data (M) that needs to be authenticated. Additionally, it requires a cryptographic hash function (H), such as SHA-256 or SHA-3.
2.Key Padding: If necessary, the secret key (K) is padded or truncated to match the block size of the hash function (typically 512 bits for SHA-2).
3.Inner Padding: XOR (exclusive OR) operations are performed on the padded key (K) with two fixed values known as the inner and outer padding constants (ipad and opad). These constants are specific to the HMAC algorithm.
ipad is used to XOR with the key before hashing.
opad is used to XOR with the key after hashing.
4.Inner Hash: The inner padding (ipad XOR K) is concatenated with the message (M), and this combined value is hashed using the chosen hash function (H). This produces an intermediate hash result, denoted as H(ipad XOR K || M).
5.Outer Hash: The outer padding (opad XOR K) is concatenated with the intermediate hash result from the previous step (H(ipad XOR K || M)), and this combined value is hashed again using the same hash function (H). This final hash operation yields the HMAC, represented as H(opad XOR K || H(ipad XOR K || M)).
HMAC Output: The output of the second hash operation is the HMAC, which is a fixed-size value that can be appended to the message to create a MAC.  Based on above " Explain about Hmac"