MAC ย่อมาจาก Message Authentication Code เป็นรหัสความปลอดภัยหรือแท็กที่อยู่ถัดจากข้อความที่ส่งโดยผู้ส่งไปยังผู้รับเพื่อสนับสนุนการตรวจสอบความถูกต้องและความสมบูรณ์ของข้อความ (ไม่มีการแก้ไขในข้อความ)
MAC นั้นคล้ายกับ Message Digest (MD) ยกเว้นว่ามันต้องการขั้นตอนการเข้ารหัสคีย์สมมาตรเพื่อรับรองความถูกต้องของข้อความ กล่าวคือ คีย์ที่คล้ายกันจะถูกใช้ร่วมกันระหว่างผู้ส่งและผู้รับ ฟังก์ชันแฮชแบบมีคีย์เป็นฟังก์ชันที่สองสำหรับรหัสการตรวจสอบความถูกต้องของข้อความ MAC ยังถูกกำหนดให้เป็น Checksum การเข้ารหัสด้วย
อัลกอริทึมรหัสตรวจสอบข้อความ (MAC) สร้างข้อความเพื่อตรวจสอบสิทธิ์ &รหัสลับที่เป็นที่นิยมเฉพาะผู้ส่งข้อความและผู้รับข้อความ และสร้าง MAC เป็นเอาต์พุต ด้วยการใช้ MAC ผู้รับสามารถทดสอบความสมบูรณ์ของข้อความ &ความถูกต้องของข้อความ เช่น ว่าข้อความนั้นปรากฏจากผู้ส่งที่ถูกต้องหรือไม่ MAC ไม่รองรับการไม่ปฏิเสธ
สามอัลกอริธึมโดยทั่วไปประกอบด้วย MAC เช่น อัลกอริธึมการสร้างคีย์ อัลกอริธึมการลงนาม และอัลกอริธึมการตรวจสอบ อัลกอริทึมการสร้างคีย์จะเลือกคีย์แบบสุ่ม
อัลกอริทึมการเซ็นชื่อส่งแท็กเมื่อมีแนวโน้มว่าจะเป็นคีย์และข้อความ อัลกอริทึมการตรวจสอบสามารถใช้เพื่อตรวจสอบความถูกต้องของข้อความเมื่อได้รับคีย์และแท็ก มันจะกู้คืนข้อความที่ยอมรับหากข้อความและแท็กเป็นของแท้และเหมือนกัน แต่มิฉะนั้นจะกู้คืนข้อความที่ถูกปฏิเสธ
มีข้อกำหนดบางประการสำหรับ MAC มีดังนี้ -
-
รหัสการตรวจสอบความถูกต้องของข้อความ (MAC) มักใช้ในการโอนเงินดิจิทัล (EFT) เพื่อสนับสนุนความสมบูรณ์ของข้อมูล พวกเขาสามารถตรวจสอบได้ว่าข้อความนั้นเป็นของแท้ ที่มาจากผู้ส่งที่ระบุไว้จริงๆ และไม่เปลี่ยนแปลงบางอย่างระหว่างเส้นทาง
-
ผู้ตรวจสอบที่ดูแลคีย์ด้วยสามารถใช้คีย์ดังกล่าวเพื่อรับรู้การเปลี่ยนแปลงองค์ประกอบของข้อความที่เป็นปัญหาได้
-
โดยทั่วไปจำเป็นต้องใช้รหัสตรวจสอบข้อความเพื่อเข้าถึงบัญชีการเงินทุกประเภท ธนาคาร บริษัทนายหน้า องค์กรทรัสต์ และองค์กรด้านเงินฝาก การลงทุน หรือประกันอื่นๆ บางแห่งที่ให้การเข้าถึงออนไลน์สามารถใช้รหัสเหล่านี้ได้ เป็นองค์ประกอบสำคัญของการเข้ารหัสทางการเงิน
-
หากคู่ต่อสู้สังเกต M และ C (K, M) และต้องเป็นไปไม่ได้ในการคำนวณสำหรับคู่ต่อสู้ที่จะส่งข้อความ M' โดยที่ C (K, M') =C (K, M)
-
C (K, M) ควรกระจายอย่างสม่ำเสมอในแง่ที่ว่าสำหรับข้อความที่เลือกแบบสุ่ม M และ M' ความน่าจะเป็นที่ C (K, M) =C (K, M') คือ 2 n โดยที่ n คือจำนวนบิตใน MAC
-
ให้ M' เหมือนกับการแปลงที่ทราบบน M นั่นคือ M'=f (M) ตัวอย่างเช่น f สามารถรวมการกลับบิตที่แน่นอนได้ตั้งแต่หนึ่งบิตขึ้นไป ในกรณีนั้น PR[C(K, M) =C(K, M')] =2 -n .