The Message Authentication Code(MAC) is a data assurance code. It is applied to keys to form a cryptographic checksum for the data integrity and authenticity ofmessages. Changes to the message are thus directly detected, which means that the MAC code is also used for error detection.
The MAC code is a hash function that contains a key that can be used to verify the hash value. A checksum is formed via the parameterization of the hash function, which is appended to the encrypted message.
In MAC computation, a Message Authentication Code is computed using a secret key and a cryptographic block algorithm. The first data block corresponds is created as the first input block as a block cipher and is XORed with the second data block. The result is used as the second input block and again combined as a block cipher with the third data block in XOR, and so on, until a block cipher is obtained from the result of the last XOR operation, from which the MAC value is then calculated.
The MAC code is a symmetric encryption used, among other things, for online banking in the Home Banking Computer Interface( HBCI) and is particularly suitable for smart cards. It is less interesting for home banking, however, because the bank customer would have to have his own card reader.