메시지 인증 코드는 메시지를 인증하는 데 사용할 수 있는 몇 바이트 블록입니다. 수신자는 이 블록을 테스트하고 메시지가 제3자에 의해 변경되지 않았는지 확인할 수 있습니다.
대칭 키로 매개변수화된 암호화 기능 제품군입니다. 각 함수는 가변 길이의 입력 데이터("메시지"로 알려짐)를 용이하게 하여 한정된 길이의 출력 값을 생성할 수 있습니다. 출력 값은 입력 메시지의 MAC으로 알려져 있습니다.
승인된 MAC 알고리즘은 다음 속성을 충족하는 것이 정상입니다(각 제공된 보안 수준에 대해):키를 학습하지 않고 메시지의 MAC을 결정하는 것은 계산적으로 불가능해야 합니다. 다른 메시지의 MAC. MAC 알고리즘은 데이터 원본 인증 및 데이터 무결성 보안을 지원하는 데 사용할 수 있습니다.
MAC은 암호화 기본 요소이며 그 정의에는 키 생성, 태깅 및 확인 알고리즘이라는 세 가지 알고리즘이 포함됩니다.
키 생성 알고리즘은 보안 매개변수의 입력으로 정의되는 일부 '품질'(길이)의 키를 생성합니다.
태그 알고리즘에는 키와 메시지와 같은 두 개의 입력이 있고 하나의 출력은 태그입니다.
인증 알고리즘에는 키, 메시지 및 태그와 같은 세 가지 입력이 있습니다. 주어진 메시지에 대한 태그의 유효성을 정의하는 비트와 키를 출력합니다.
MAC은 대칭 프리미티브이므로 메시지를 교환하려는 두 당사자는 유사한(대칭) 키를 사용합니다. 디지털 서명은 비대칭 원시적이며 두 당사자는 서로 다른(그러나 수학적으로 연결된) 키를 갖습니다.
이것은 MAC을 확인할 수 있는 사람이 동일한 비밀 키를 사용하여 MAC을 계산할 수도 있다는 간단한 설명으로 해석됩니다.
즉, 개인 서명 키를 소유한 주체만 서명을 생성할 수 있으며 누구나 공개적으로 호출되는 검증 키로 이러한 서명을 확인할 수 있습니다. 디지털 서명이 더 동적 원시적인 것처럼 보이지만 그 계산은 MAC 계산보다 훨씬 쉽기 때문에 MAC은 적용 가능한 경우 항상 사용됩니다.
MAC은 데이터 통신에서 필수적인 역할을 합니다. 안전하지 않은 채널을 통해 공유되는 메시지는 채널을 조작할 수 있는 침입자의 메시지 위조를 포함하여 공격을 피하기 위해 인증을 받아야 합니다. 송신측과 수신측이 비밀키를 보낸다고 가정하면 메시지 진위성을 지원할 수 있으며, MAC을 사용할 수 있다.
MAC 시스템에서 송신기는 메시지와 비밀 키의 기능인 태그를 생성하고 채널을 통해 전송하기 전에 메시지에 결합합니다.