CBC-MAC

Schéma CBC-MAC

CBC-MAC je v kryptografii zkratka pro techniku konstrukce autentizačního kódu zprávy pomocí blokové šifry. Kromě autentizačního kódu (zkratka MAC) odkazuje k provoznímu režimu CBC, kterému je podobná, a v kterém je šifrování každého bloku závislé na šifrovém textu bloku předchozího. Právě toto řetězové provázání zajišťuje, že změna jakéhokoliv bitu kteréhokoliv bloku se projeví i na šifrovém textu posledního bloku.

Samotné realizace funkce CBC-MAC v její základní podobě je tak poměrně jednoduchá – jedná se o zašifrování zprávy v CBC režimu s nulovým inicializačním vektorem, přičemž výstupem funkce CBC-MAC je šifrový text posledního bloku.

Standardizace

CBC-MAC v kombinaci s šifrou DES standardizoval FIPS PUB 113, který je zrušen od září 2008. CBC-MAC je také pod označením MAC Algorithm1 přítomno ve standardu ISO/IEC 9797-1.

Útoky

Nejjednodušším útokem je zřetězení odchycených zpráv. Útočník, který zná dvě dvojice zpráva-kód, ( z , k ) {\displaystyle (z,k)} a ( z , k ) {\displaystyle (z',k')} , totiž může zřetězením vytvořit zprávu m = z [ ( z 1 k ) z 2 z x ] {\displaystyle m''=z\|[(z_{1}'\oplus k)\|z_{2}'\|\dots \|z_{x}']} , kde {\displaystyle \oplus } je bitová exkluzivní disjunkce. Nejjednodušší obranou proti tomuto útoku je v navrhovaném protokolu povolit zprávy pouze stejné, pevně dané délky.

Reference

V tomto článku byl použit překlad textu z článku CBC-MAC na anglické Wikipedii.