Message authentication is a mechanism or service usedto verify the integrity of a message. Messageauthentication assures that data received are exactly as sent (i.e., contain no modification, insertion, deletion, or replay). In many cases, there is a requirement that the authentication mechanism assures that purported identity
of the sender is valid. When a hash function is used to provide message authentication, the hash function value is often referred to as a message digest. More commonly, message authentication is achieved using a message authentication code (MAC), also known as a keyed hash function or cryptographic checksum. Typically, MACs are used between two parties say sender and receiver, that share a secret key K to authenticate information exchanged between those parties. A MAC function C takes as input a secret key K and a variable-length data block or message M and produces a fixed-length hash value MAC, referred to as the message authentication Code. This can then be transmitted with or stored with the protected message. If the integrity of the message needs to be checked, the MAC function can be applied to the message and the result compared with the stored MAC value. Process of MAC is shown in Figure 7.