BaselineWatch
Desk

4.2.3 Message Authentication Codes (MACs)

NIST platform security: roots of trust, firmware and secure enclaves SP 800-57 Part 1 Rev. 4
All changes in this version
first version loaded 4 Cryptographic Algorithms part of 4.2

Title

Message Authentication Codes (MACs)

Control

Message Authentication Codes (MACs) can be used to provide source and integrity authentication. A MAC is a cryptographic checksum on the data that is used in order to provide assurance that the data has not changed and that the MAC was computed by the expected entity. Although non-cryptographic techniques (known as error detection codes) are often used to provide message authentication, these codes can be altered by an adversary to effect an action to the adversary’s benefit. The use of an approved cryptographic mechanism, such as a MAC, can alleviate this problem. In addition, the MAC can provide a recipient with assurance that the originator (i.e., the source) of the data is a key holder (i.e., an entity authorized to have the key). MACs are often used to authenticate the originator to the recipient when only those two parties share the MAC key. The computation of a MAC requires the use of (1) a secret key that is known only by the party that generates the MAC and by the intended recipient(s) of the MAC, and (2) the data on which the MAC is calculated. The result of the MAC computation is often called a MacTag when transmitted; a MacTag is either a full-length or truncated result from the MAC computation. Two types of algorithms for computing a MAC have been approved : MAC algorithms that are based on block cipher algorithms, and MAC algorithms that are based on hash functions.