Can someone elaborate on how 'signing' is done using AES- CMAC and AES-HMAC?
HMAC Signing as I understand: Compute the HMAC( Hash the key and the input concatenated in a special way) Verification: Verify if for the given input and secret key the calculated HMAC(signature) is the same as that is computed. But how is AES used in conjunction with this? is it HMAC(AES(Data)) then what is CMAC?
CMAC signing as I understand: is to encrypt the input using the key by applying AES algorithm and then calculating a MAC by applying a special concatenation step of the key and resulting encrypted data??. For verification, the signature should be compared with the newly computed CMAC of input and key at the receiving end.
Also, does openSSL libs support AES CMAC and AES HMAC?