MAC ย่อมาจาก Message Authentication Code ยังนิยามว่าเป็น Tag ใช้เพื่อยืนยันต้นทางและลักษณะของข้อความ MACs ใช้การเข้ารหัสการตรวจสอบสิทธิ์ (Authentication Cryptography) เพื่อตรวจสอบความถูกต้องของข้อมูลที่ส่งผ่านเครือข่ายหรือแชร์จากบุคคลหนึ่งไปอีกบุคคลหนึ่ง
MAC รับรองว่าข้อความมาจาก Sender ที่ถูกต้อง ไม่ได้ถูกแก้ไข และข้อมูลที่ถ่ายโอนผ่านเครือข่ายหรือจัดเก็บในหรือนอกระบบ เป็นสิ่งถูกต้องและไม่รวมโค้ดที่เป็นอันตราย MACs สามารถจัดเก็บได้บนโครงสร้างความปลอดภัยฮาร์ดแวร์ อุปกรณ์ที่ใช้จัดการคีย์ดิจิทัลที่ละเอียดอ่อน
MAC ถูกพัฒนาโดย Keyed Secure Hash Function บนข้อความ สามารถใช้เพื่อรับรองความสมบูรณ์ของข้อความ ซึ่งหากข้อความที่ได้รับการปกป้องโดย MAC ถูกปลอมแปลง สามารถระบุได้โดยการเปรียบเทียบ MAC ที่อยู่ในข้อความ และ MAC ที่คำนวณใหม่
MAC เป็น Keyed Checksum ของข้อความที่แชร์ไปพร้อมกับข้อความ มันรับ Fixed-length Secret Key และ Message ความยาว Arbitrary และส่งออก Fixed-length Checksum MAC ที่ปลอดภัยมีคุณสมบัติว่าการเปลี่ยนแปลงใดๆ ให้กับข้อความ จะทำให้ Checksum เป็น Null
MACs สามารถใช้ได้มากกว่าแค่การสื่อสารที่ปลอดภัย ตัวอย่างเช่น สมมติว่าจำเป็นต้องจัดเก็บไฟล์บน USB Flash Drive ที่ถอดได้ ซึ่งบางครั้งแชร์กับเพื่อน สามารถป้องกันการปลอมแปลงไฟล์บน Flash Drive ของเรา เครื่องของเราสามารถสร้าง Secret Key และจัดเก็บ MAC ของแต่ละไฟล์ที่ใดที่หนึ่งบน Flash Drive
เมื่อเครื่องอ่านไฟล์ มันสามารถตรวจสอบได้ว่า MAC ถูกต้องก่อนใช้เนื้อหาไฟล์ ในความรู้สึกบางอย่าง นี่คือกรณีที่มันสื่อสารกับเวอร์ชันอนาคตของตัวเอง ดังนั้น ความปลอดภัยสำหรับข้อมูลที่จัดเก็บ สามารถมองได้เป็นรูปแบบที่แตกต่างของความปลอดภัยการสื่อสาร
ข้อเสียพื้นฐานของวิธีนี้คือขาดความปลอดภัยต่อการแก้ไขตั้งใจในเนื้อหาข้อความ ผู้บุกครั่นสามารถแก้ไขข้อความ ดังนั้นคำนวณ Checksum ใหม่ และสุดท้ายกู้คืน Checksum เดิมด้วยค่าใหม่ อัลกอริธึม CRC ทั่วไปช่วยเพียงแค่ระบุองค์ประกอบของข้อความที่เสียหายแบบสุ่ม (แต่ไม่ใช่การเปลี่ยนแปลงตั้งใจที่ทำโดยผู้โจมตี)
Message Authentication (การตรวจสอบสิทธิ์ข้อความ) ช่วยให้ฝ่ายหนึ่งและ Sender สามารถส่งข้อความไปยังฝ่ายอื่นและ Receiver ด้วยวิธีที่ หากข้อความถูกเปลี่ยนแปลงระหว่างทาง Receiver จะค้นพบได้เกือบแน่นอน
Message Authentication ยังเรียกว่า Data-origin Authentication เพราะมันยืนยัน Point-of-origin สำหรับแต่ละข้อความ Message Authentication เป็นการรักษาหลักการของข้อความ ให้แน่ใจว่าแต่ละข้อความที่รับและมีชื่อเสียงว่าถูกต้อง กำลังปรากฏในสถานการณ์เดียวกับที่มันถูกส่งออกไป และไม่มีบิตที่ถูกแทรก ลบ หรือเปลี่ยนแปลง