Wikipedia
In cryptography, a cipher block chaining message authentication code (CBC-MAC) is a technique for constructing a message authentication code from a block cipher. The message is encrypted with some block cipher algorithm in CBC mode to create a chain of blocks such that each block depends on the proper encryption of the previous block. This interdependence ensures that a change to any of the plaintext bits will cause the final encrypted block to change in a way that cannot be predicted or counteracted without knowing the key to the block cipher.
To calculate the CBC-MAC of message m one encrypts m in CBC mode with zero initialization vector. The following figure sketches the computation of the CBC-MAC of a message comprising blocks m∥m∥⋯∥m using a secret key k and a block cipher E: