Add GEM structure and implement HMAC SHA256