A CBC-MAC az üzenet-hitelesítési kódok (MAC) egyik algoritmusa . A CBC ( cipher block chaining ) működési mód szerint használt blokkos titkosításon alapul . Ezt az elvet 1985- ben fogalmazták meg egy NIST szabványban ( FIPS PUB 113, Standard on Computer Data Authentication ).
A titkosításhoz az adatokat megfelelő méretű blokkokra vágják (az alkalmazott blokk titkosítástól függően legalább egy 32 bites blokk titkosítást). A blokkok egymás után vannak titkosítva, az előző blokk titkosított eredménye átkerül a következő blokkba.
Vagy a titkosítási művelet egy adattömbön a kulccsal .
A titkosítás a következőképpen történik:
A hitelesítési kód az utolsó titkosított blokk egy részének felel meg (16–64 bites kibontás a NIST szabványban).
A Preneel és Van Oorschot által leírt támadáshoz hozzávetőlegesen ismert szövegekre van szükség hitelesítési kódokkal együtt ( n a blokk hossza bitben), ez lehetővé teszi a hitelesítési kódok hamisítását. A CBC-MAC nem biztonságos változó méretű üzenetekkel. Ezen okok miatt ajánlott az XCBC-MAC használata, ha iteratív MAC alapú rendszerre van szükség.