CBC-MAC on yksi algoritmeja varten Message Authentication Codes (MAC) . Se perustuu lohkosalaukseen, jota käytetään CBC ( cipher block chaining ) -tavan mukaisesti . Tämä periaate muotoiltiin vuonna 1985 NIST- standardissa ( FIPS PUB 113, Standard on Computer Data Authentication ).
Salaus, data leikataan riittävän suuriksi lohkoiksi (käytetystä lohkosalauksesta riippuen vähintään 32-bittinen lohkosala). Lohkot salataan peräkkäin, edellisen lohkon salattu tulos lähetetään seuraavalle lohkolle.
Joko salaustoiminto datalohkossa avaimella .
Salaus tapahtuu seuraavasti:
Todennuskoodi vastaa osaa viimeksi salatusta lohkosta (16 - 64-bittinen purku NIST-standardissa).
Preneelin ja Van Oorschotin kuvaama hyökkäys vaatii suunnilleen tunnettuja tekstejä, joihin liittyy niiden todennuskoodit ( n on lohkon pituus bitteinä), se mahdollistaa väärennettyjen todennuskoodien väärentämisen. CBC-MAC ei ole turvallinen vaihtelevakokoisilla viesteillä. Näistä syistä on suositeltavaa käyttää XCBC-MAC, jos halutaan iteratiivinen MAC-pohjainen järjestelmä.