-------------- The HMAC class --------------