Question 3 how is a message integrity check (mic) different from a message authentication code (mac)

A message authentication code (MAC) is a cryptographic checksum on data that uses a session key to detect both accidental and intentional modifications of the data.

A MAC requires two inputs: a message and a secret key known only to the originator of the message and its intended recipient(s). This allows the recipient of the message to verify the integrity of the message and authenticate that the messege's sender has the shared secret key. If a sender doesn’t know the secret key, the hash value would then be different, which would tell the recipient that the message was not from the original sender. 

There are four types of MACs:  unconditionally secure, hash function-based, stream cipher-based  and block cipher-based  In the past, the most common approach to creating a MAC was to use block ciphers like Data Encryption Standard (DES), but hash-based MACs (HMACs) which use a secret key in conjunction with a cryptographic hash function to produce a hash, have become more widely used.

This was last updated in November 2010

Next Steps

Authentication comes in all sizes and flavors, and security pros need to know the differences between subjects like data integrity and PKI, and Multifactor authentication. Learn about the various types of data integrity authentication schemes such as message authentication protocol (MAC) and hashing algorithms to ensure data hasn’t been tampered with along the way. Then, read about how to build a business case for MFA.

Continue Reading About message authentication code (MAC)

  • Learn how wireless security protocols work
  • This Q/A covers why MAC and HMAC use hash function encryption for authentication
  • Read about how to prevent spoofing, and the importance of MAC addresses
  • Learn about security requirements for message authentication in this presentation

Dig Deeper on Identity and access management

  • Question 3 how is a message integrity check (mic) different from a message authentication code (mac)
    Symmetric vs. asymmetric encryption: What's the difference?

    By: Michael Cobb

  • Question 3 how is a message integrity check (mic) different from a message authentication code (mac)
    encryption

    Question 3 how is a message integrity check (mic) different from a message authentication code (mac)

    By: Peter Loshin

  • Question 3 how is a message integrity check (mic) different from a message authentication code (mac)
    Wireless Transport Layer Security (WTLS)

    Question 3 how is a message integrity check (mic) different from a message authentication code (mac)

    By: Rahul Awati

  • Question 3 how is a message integrity check (mic) different from a message authentication code (mac)
    Counter Mode with Cipher Block Chaining Message Authentication Code Protocol (CCMP)

    Question 3 how is a message integrity check (mic) different from a message authentication code (mac)

    By: Rahul Awati

What Is a Message Authentication Code?

A message authentication code(MAC), or tag, is a security code that is typed in by the user of a computer to access accounts or portals. This code is attached to the message or request sent by the user. Message authentication codes (MACs) attached to the message must be recognized by the receiving system in order to grant the user access.

Understanding Message Authentication Code (MAC)

Message authentication codes(MACs) are commonly used in electronic funds transfers (EFTs) to maintain information integrity. They confirm that a message is authentic; that it really does come, in other words, from the stated sender, and hasn’t undergone any changes en route. A verifier who also possesses the key can use it to identify changes to the content of the message in question.

Message authentication codes are usually required to access any kind of financial account. Banks, brokerage firms, trust companies, and any other deposit, investment, or insurance company that offers online access can employ these codes. They are a vital component of financial cryptography.

Algorithms Used to Generate MACs

Three algorithms typically comprise a MAC: a key generation algorithm, a signing algorithm and a verifying algorithm. The key generation algorithm chooses a key at random. The signing algorithm sends a tag when given the key and the message. The verifying algorithm is used to verify the authenticity of the message when given the key and tag; it will return a message of accepted if the message and tag are authentic and unaltered, but otherwise, it will return a message of rejected.

For example, the sender sends a message, such as an EFT, through the MAC algorithm, which generates a key and attaches a MAC data tag to the message. The recipient gets the message, runs it back through the MAC algorithm with the same key, and gets a second data tag. They will then compare this MAC data tag with the first one attached to the message when it was transmitted. If the code is the same at both ends, the recipient can safely assume that the data integrity of the message is intact. If not, however, it means that the message was altered, tampered with, or forged.

However, the message itself should contain some data that ensures that this message can only be sent once. For example, a one-time MAC, timestamp, or sequence number could be used to guarantee that the message can only be sent once. Otherwise, the system could be vulnerable to a replay attack, in which an attacker intercepts the message after it has been decoded and retransmits it at a later time, replicating the original results and infiltrating the system.

Message Integrity Codes (MICs)

Sometimes, the term message integrity code(MIC) will be used instead of MAC. This is most often done in the communications industry, where MACtraditionally means media access control address(MAC address). However, MIC can also be used to refer to message digest, which does not use secret keys in the same manner as a MAC, and cannot offer the same level of security without further encryption.

What are some of the functions that a trusted platform module can perform check all that apply 1 point?

TPM (Trusted Platform Module) is a computer chip (microcontroller) that can securely store artifacts used to authenticate the platform (your PC or laptop). These artifacts can include passwords, certificates, or encryption keys.

What are the two components of an asymmetric encryption system necessary for encryption and decryption operations?

Asymmetric encryption uses a mathematically related pair of keys for encryption and decryption: a public key and a private key. If the public key is used for encryption, then the related private key is used for decryption. If the private key is used for encryption, then the related public key is used for decryption.

When authenticating a user's password the password supplied by the user is authenticated?

12. When authenticating a user's password, the password supplied by the user is authenticated by comparing the ____ of the password with the one stored on the system. Yep! Passwords are verified by hashing and comparing hashes.

In what way are U2F tokens more secure than OTP generators?

In what way are U2F tokens more secure than OTP generators? they're resistant to phishing attacks; With one-time-password generators, the one-time password along with the username and password can be stolen through phishing.