Authenticated Encryption

* Use HMAC instead of the cipher noise functions.
* Use a constant-time comparison function for HMAC validation to prevent timing attacks.