Overview#Cipher-based Message Authentication Code (CMAC) is a Cryptographic algorithm and a variation of CBC-MAC that Black and Rogaway proposed and analyzed under the name XCBC and submitted to NIST.SP.38.
The XCBC algorithm efficiently addresses the security deficiencies of CBC-MAC, but requires three keys. Iwata and Kurosawa proposed an improvement of XCBC and named the resulting algorithm One-Key CBC-MAC (OMAC) in their papers. They later submitted OMAC1, a refinement of OMAC, and additional security analysis.
The OMAC algorithm reduces the amount of key material required for XCBC.
Cipher-based Message Authentication Code is equivalent to OMAC1.