Ziņojuma autentifikācijas kods (MAC) ir neliels ziņojumam pievienots datu bloks, ko adresāts izmanto, lai pārbaudītu ziņojuma integritāti. To varētu uzskatīt par līdzīgu vaska zīmogiem, kas tika likti uz vēstulēm un oficiālai sarakstei, lai pārbaudītu sūtītāja identifikāciju un apstiprinātu, ka ziņojums nav atvērts. Šādi kodi tiek izmantoti, kad tiek nosūtīti noteikta veida šifrēti vai aizsargāti dati, lai sūtītājs varētu pārbaudīt, vai ziņojums nav apdraudēts. Ziņojumu autentifikācijas kodi var tikt parādīti ziņojumos, piemēram, elektroniskajos līdzekļu pārskaitījumos un e-pastos.
Kad tiek ģenerēts ziņojums, tajā pašā laikā tiek izveidots MAC. Ziņojums tiek nosūtīts adresātam, un, kad adresāts to atver, ziņojuma saturs tiek palaists, izmantojot algoritmu, lai izveidotu jaunu ziņojuma autentifikācijas kodu. Šis jaunais kods tiek salīdzināts ar kodu, kas nosūtīts kopā ar sākotnējo ziņojumu. Ja kodi ir vienādi, ziņojums tiek autentificēts. Ja ir atšķirība, tas norāda, ka kaut kas ziņojumā ir mainījies starp sūtītāju un adresātu.
MAC ģenerēšanas un salīdzināšanas process parasti notiek aizkulisēs. Sūtītājs un saņēmējs paļaujas uz šifrēšanas programmām, kuras viņi izmanto, lai apstrādātu MAC. Programmu, kas ģenerē ziņojuma autentifikācijas kodu, raksta programmētājs, kurš pārzina kriptogrāfijas vajadzības. Pielāgotas lietojumprogrammas var tikt rakstītas augstas drošības situācijām, vai arī cilvēki var izmantot vispārīgas programmas, kas ir viegli pieejamas.
Lai izveidotu MAC, var izmantot vairākas dažādas metodes, tostarp straumes šifru, jaucējfunkciju vai bloka šifru. Zināms arī kā kontrolsumma, MAC var būt viens no vairākiem drošības līmeņiem, kas ir paredzēti, lai novērstu ziņkārīgo skatienu no ziņojumiem un nodrošinātu, ka ziņojumi netiek manipulēti vai mainīti, nebrīdinot adresātu. Kad adresāts atver ziņojumu, kas ir apdraudēts, lietotājam tiks parādīts brīdinājums, ka ziņojuma autentifikācijas kods nesakrīt un ka ar ziņojumu ir radusies problēma.
Kriptogrāfija ir process, kas pastāvīgi attīstās. Attīstoties jauniem paņēmieniem, tiek radītas arī jaunas metodes to plaisāšanai. Cilvēkiem, kurus interesē datu drošība, ir jādomā par vairākiem soļiem uz priekšu, lai paredzētu metodes kriptogrāfijas pārtraukšanai, lai viņi varētu izveidot spēcīgas drošības sistēmas. Superdatoru izstrāde ir palīdzējusi šim procesam, ļaujot kriptogrāfiem izstrādāt un eksperimentēt ar ļoti progresīvām šifrēšanas metodēm.