Pranešimo autentifikavimo kodas (MAC) yra nedidelis duomenų blokas, pridedamas prie pranešimo, kurį gavėjas naudoja pranešimo vientisumui patikrinti. Galima manyti, kad tai panašu į vaško antspaudus, kurie buvo dedami ant laiškų ir oficialios korespondencijos, siekiant patikrinti siuntėjo tapatybę ir patvirtinti, kad pranešimas nebuvo atidarytas. Tokie kodai naudojami, kai siunčiami tam tikro tipo užšifruoti arba apsaugoti duomenys, kad siuntėjas galėtų patikrinti, ar pranešimas nebuvo pažeistas. Pranešimų autentifikavimo kodai gali būti rodomi tokiuose pranešimuose kaip elektroniniai lėšų pervedimai ir el.
Sugeneravus pranešimą, tuo pačiu metu sukuriamas MAC. Laiškas siunčiamas gavėjui, o kai gavėjas jį atidaro, laiško turinys paleidžiamas naudojant algoritmą, sukuriant naują pranešimo autentifikavimo kodą. Šis naujas kodas lyginamas su kodu, išsiųstu kartu su pirminiu pranešimu. Jei kodai sutampa, pranešimas patvirtinamas. Jei yra skirtumas, tai rodo, kad kažkas pasikeitė siuntėjo ir gavėjo žinutėje.
MAC generavimo ir palyginimo procesas paprastai vyksta užkulisiuose. Siuntėjas ir gavėjas pasikliauja šifravimo programomis, kurias naudoja tvarkydami MAC. Programą, kuri generuoja pranešimo autentifikavimo kodą, parašė programuotojas, susipažinęs su kriptografijos poreikiais. Pasirinktinės programos gali būti parašytos aukšto saugumo situacijoms arba žmonės gali naudoti bendras programas, kurios yra lengvai prieinamos.
Norint sukurti MAC, galima naudoti kelis skirtingus metodus, įskaitant srauto šifrą, maišos funkciją arba blokinį šifrą. Taip pat žinomas kaip kontrolinė suma, MAC gali būti vienas iš kelių saugos sluoksnių, skirtų apsaugoti smalsius žvilgsnius nuo pranešimų ir užtikrinti, kad pranešimai nebūtų manipuliuojami ar nekeičiami neįspėjus gavėjo. Kai gavėjas atidaro pranešimą, kuriam buvo pakenkta, bus rodomas įspėjimas, pranešantis vartotojui, kad pranešimo autentifikavimo kodas nesutampa ir kad yra problema su pranešimu.
Kriptografija yra nuolat besikeičiantis procesas. Kuriant naujus metodus, sukuriami ir nauji jų krekingo būdai. Žmonės, besidomintys duomenų saugumu, turi pagalvoti keletą žingsnių į priekį, kad galėtų numatyti kriptografijos pažeidimo būdus, kad galėtų sukurti stiprias apsaugos sistemas. Superkompiuterių kūrimas padėjo atlikti šį procesą, nes kriptografai galėjo kurti ir eksperimentuoti su labai pažangiais šifravimo metodais.