메시지 인증 코드(message authentication code, MAC)는 비밀 키를 써서 데이터로 계산한 고정 길이의 비트 열이다. NIST SP 800-38B가 이렇게 정의한다.[1] MAC은 메시지의 출처와 무결성을 함께 인증한다.[2] NIST SP 800-175B Rev. 1에 따르면 키를 나눠 가진 쪽만 데이터에 맞는 MAC을 계산할 수 있다.[3]

NIST는 MAC 알고리즘의 출력을 MacTag라고도 부르고[4], 비밀 키가 있어야 계산하고 검증할 수 있는 암호 체크섬을 tag라고도 부른다.[5]

생성과 검증

MAC은 대개 비밀 키를 나눠 가진 두 쪽 사이에서 쓴다. 송신자는 비밀 키와 메시지로 MAC을 만들어, 대개 메시지와 함께 수신자에게 보낸다. 어느 MAC 알고리즘이든 키를 가진 쪽이 데이터에 MAC 생성을 적용하고, 키를 가진 쪽이 받은 데이터와 MAC에 검증을 적용한다. 검증에 성공하면 메시지가 키를 나눠 가진 쪽에게서 왔고 바뀌지 않았다는 보증을 얻는다.[1][2]

블록 암호 기반: CMAC

NIST SP 800-38B는 대칭 키 블록 암호에 기반한 MAC 알고리즘인 CMAC(Cipher-based Message Authentication Code)을 정하고, 바탕 블록 암호로 AES 같은 승인된 블록 암호를 쓰게 한다. CMAC의 검증은 받은 메시지에 MAC 생성을 다시 적용해 얻은 값이 받은 MAC과 같은지 보는 것이다.[1]

해시 기반: HMAC

FIPS 198-1은 암호학적 해시 함수와 비밀 키로 MAC을 만드는 HMAC(keyed-Hash Message Authentication Code)을 정하고, HMAC에 승인된 해시 함수를 쓰게 한다. HMAC은 키에서 만든 두 값으로 해시를 두 번 적용한다. 메시지 의 HMAC은 이다. 여기서 는 해시 함수, 은 비밀 키 를 해시 함수의 입력 블록 길이에 맞춘 키, ipad와 opad는 각각 바이트 0x36과 0x5c를 블록 길이만큼 되풀이한 값, 는 이어 붙이기, 는 XOR이다. 수신자는 같은 키와 HMAC 함수로 MAC을 다시 계산해 받은 MAC과 견준다.[2]

NIST SP 800-175B Rev. 1은 HMAC을 FIPS 180-4나 FIPS 202에 정한 승인된 해시 함수와 함께 쓰도록 승인한다.[3]

해시만 쓸 때와의 차이

해시 함수는 데이터 무결성을 어느 정도만 보증하고, MAC 알고리즘은 무결성과 출처 인증을 함께 줄 수 있다. 해시 함수를 비밀 키 없이 쓰면 공격자가 데이터를 바꾸고 해시 값을 새로 계산했을 수 있어서, 데이터가 바뀌지 않았다는 보증이 없다. 키를 모르는 공격자는 데이터를 바꾼 뒤 그 데이터에 맞아 검증을 통과할 MAC을 계산해 내지 못한다.[3]

NIST SP 800-63-4에 따르면 MAC은 authenticity와 무결성은 보호하지만 부인 방지는 주지 않는다.[6] 디지털 서명과의 비교는 디지털 서명에서 다룬다.

[1]
M. Dworkin, “Recommendation for Block Cipher Modes of Operation: The CMAC Mode for Authentication,” NIST Special Publication 800–38B, Oct. 2016. Accessed: Oct. 03, 2026. [Online]. Available: https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-38b.pdf
[2]
National Institute of Standards and Technology, “The Keyed-Hash Message Authentication Code (HMAC),” FIPS PUB 198–1, Jul. 2008. Accessed: Oct. 03, 2026. [Online]. Available: https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.198-1.pdf
[3]
E. Barker, “Guideline for Using Cryptographic Standards in the Federal Government: Cryptographic Mechanisms,” NIST Special Publication 800–175B Revision 1, Mar. 2020. Accessed: Oct. 03, 2026. [Online]. Available: https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-175Br1.pdf
[4]
NIST, “MacTag — CSRC Glossary.” 2026. Accessed: Oct. 03, 2026. [Online]. Available: https://csrc.nist.gov/glossary/term/mactag
[5]
NIST, “tag — CSRC Glossary.” 2026. Accessed: Oct. 03, 2026. [Online]. Available: https://csrc.nist.gov/glossary/term/tag
[6]
D. Temoshok et al., “Digital Identity Guidelines,” NIST Special Publication 800-63–4, Jul. 2025. Accessed: Oct. 03, 2026. [Online]. Available: https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-63-4.pdf