Added HMAC, refactoring hash functions, added ripemd160