\brief Output CMAC.
Called after mbedtls_cipher_cmac_update().
Usually followed by mbedtls_cipher_cmac_reset(), then
mbedtls_cipher_cmac_starts(), or mbedtls_cipher_free().
\brief Generic CMAC process buffer.
Called between mbedtls_cipher_cmac_starts() or
mbedtls_cipher_cmac_reset() and
mbedtls_cipher_cmac_finish().
May be called repeatedly.
\brief Generic cipher finalisation function. If data still
needs to be flushed from an incomplete block, data
contained within it will be padded with the size of
the last block, and written to the output buffer.
\brief Generic cipher update function. Encrypts/decrypts
using the given cipher context. Writes as many block
size'd blocks of data as possible to output. Any data
that cannot be written immediately will either be added
to the next block, or flushed when cipher_final is
called.
Exception: for MBEDTLS_MODE_ECB, expects single block
in size (e.g. 16 bytes for AES)