Go to the documentation of this file.
14 #ifndef MBEDTLS_CMAC_H
15 #define MBEDTLS_CMAC_H
17 #if !defined(MBEDTLS_CONFIG_FILE)
20 #include MBEDTLS_CONFIG_FILE
31 #define MBEDTLS_ERR_CMAC_HW_ACCEL_FAILED -0x007A
33 #define MBEDTLS_AES_BLOCK_SIZE 16
34 #define MBEDTLS_DES3_BLOCK_SIZE 8
40 #if defined(MBEDTLS_AES_C) || defined(MBEDTLS_ARIA_C) || defined(MBEDTLS_CAMELLIA_C)
41 #define MBEDTLS_CIPHER_BLKSIZE_MAX 16
43 #define MBEDTLS_CIPHER_BLKSIZE_MAX 8
46 #if !defined(MBEDTLS_CMAC_ALT)
98 const unsigned char *key,
size_t keybits);
123 const unsigned char *input,
size_t ilen);
142 unsigned char *output);
190 const unsigned char *key,
size_t keylen,
191 const unsigned char *input,
size_t ilen,
192 unsigned char *output);
194 #if defined(MBEDTLS_AES_C)
213 const unsigned char *input,
size_t in_len,
214 unsigned char output[16]);
217 #if defined(MBEDTLS_SELF_TEST) && (defined(MBEDTLS_AES_C) || defined(MBEDTLS_DES_C))
int mbedtls_cipher_cmac_starts(mbedtls_cipher_context_t *ctx, const unsigned char *key, size_t keybits)
This function starts a new CMAC computation by setting the CMAC key, and preparing to authenticate th...
unsigned char state[MBEDTLS_CIPHER_BLKSIZE_MAX]
int mbedtls_cipher_cmac(const mbedtls_cipher_info_t *cipher_info, const unsigned char *key, size_t keylen, const unsigned char *input, size_t ilen, unsigned char *output)
This function calculates the full generic CMAC on the input buffer with the provided key.
#define MBEDTLS_CIPHER_BLKSIZE_MAX
unsigned char unprocessed_block[MBEDTLS_CIPHER_BLKSIZE_MAX]
int mbedtls_cipher_cmac_reset(mbedtls_cipher_context_t *ctx)
This function starts a new CMAC operation with the same key as the previous one.
int mbedtls_cipher_cmac_finish(mbedtls_cipher_context_t *ctx, unsigned char *output)
This function finishes an ongoing CMAC operation, and writes the result to the output buffer.
This file contains an abstraction interface for use with the cipher primitives provided by the librar...
int mbedtls_aes_cmac_prf_128(const unsigned char *key, size_t key_len, const unsigned char *input, size_t in_len, unsigned char output[16])
This function implements the AES-CMAC-PRF-128 pseudorandom function, as defined in RFC-4615: The Adva...
int mbedtls_cmac_self_test(int verbose)
The CMAC checkup routine.
Configuration options (set of defines)
int mbedtls_cipher_cmac_update(mbedtls_cipher_context_t *ctx, const unsigned char *input, size_t ilen)
This function feeds an input buffer into an ongoing CMAC computation.