One of the most complex areas of cryptography is authentication of message. Message authentication works in three different modules. The first module is about key generation; the second module is the algorithm, which takes the key and message as input and then produces MAC; and the third module requires an algorithm, which will be used for validation, i.e., a verifying algorithm, which verifies the MAC at receiver’s end. Cryptographic Hash Functions takes message as an input and produces a value that is called hash, which is used to validate message integrity. MAC and cryptographic hash functions have lot in common but they possess different security requirements. MAC at one end ensures authentication while hashing ensures integrity. But MAC and hashing could be combined to ensure both authentication and integrity.