Kode otentikasi pesan (MAC) adalah blok kecil data yang dilampirkan ke pesan yang digunakan oleh penerima untuk memverifikasi integritas pesan. Orang bisa menganggapnya mirip dengan segel lilin yang digunakan untuk ditempatkan pada surat dan korespondensi formal untuk memverifikasi identitas pengirim dan mengkonfirmasi bahwa pesan tersebut belum dibuka. Kode tersebut digunakan ketika jenis data terenkripsi atau aman tertentu dikirim sehingga pengirim dapat memeriksa untuk mengonfirmasi bahwa pesan tersebut tidak disusupi. Kode otentikasi pesan dapat muncul pada pesan seperti transfer dana elektronik dan email.
Ketika sebuah pesan dibuat, MAC dibuat pada saat yang sama. Pesan dikirim ke penerima, dan ketika penerima membukanya, isi pesan dijalankan melalui algoritme untuk membuat kode otentikasi pesan baru. Kode baru ini dibandingkan dengan kode yang dikirimkan bersama dengan pesan aslinya. Jika kodenya sama, pesan diautentikasi. Jika ada perbedaan, itu menunjukkan bahwa ada sesuatu tentang pesan yang berubah antara pengirim dan penerima.
Proses menghasilkan dan membandingkan MAC biasanya terjadi di belakang layar. Pengirim dan penerima bergantung pada program enkripsi yang mereka gunakan untuk menangani MAC. Program yang menghasilkan kode otentikasi pesan ditulis oleh seorang programmer yang akrab dengan kebutuhan kriptografi. Aplikasi kustom dapat ditulis untuk situasi keamanan tinggi, atau orang dapat menggunakan program generik yang sudah tersedia.
Beberapa metode berbeda dapat digunakan untuk membuat MAC, termasuk stream cipher, fungsi hash, atau block cipher. Juga dikenal sebagai checksum, MAC dapat menjadi salah satu di antara beberapa lapisan keamanan yang dirancang untuk menjauhkan mata dari pesan dan untuk memastikan bahwa pesan tidak dimanipulasi atau diubah tanpa memberi tahu penerima. Saat penerima membuka pesan yang telah disusupi, peringatan akan ditampilkan untuk memberi tahu pengguna bahwa kode otentikasi pesan tidak cocok dan ada masalah dengan pesan tersebut.
Kriptografi adalah proses yang terus berkembang. Saat teknik baru dikembangkan, metode baru untuk memecahkannya juga dibuat. Orang yang tertarik dengan keamanan data harus memikirkan beberapa langkah ke depan untuk memprediksi metode untuk memecahkan kriptografi sehingga mereka dapat membangun sistem keamanan yang kuat. Perkembangan superkomputer telah membantu proses ini dengan memungkinkan kriptografer untuk mengembangkan dan bereksperimen dengan metode enkripsi yang sangat canggih.