Mbed OS Reference
|
Data Structures | |
struct | mbedtls_cmac_context_t |
The CMAC context structure. More... | |
Macros | |
#define | MBEDTLS_ERR_CMAC_HW_ACCEL_FAILED -0x007A |
CMAC hardware accelerator failed. More... | |
#define | MBEDTLS_CIPHER_BLKSIZE_MAX 8 |
The longest block used by CMAC is that of 3DES. More... | |
Functions | |
int | mbedtls_cipher_cmac_starts (mbedtls_cipher_context_t *ctx, const unsigned char *key, size_t keybits) |
This function sets the CMAC key, and prepares to authenticate the input data. More... | |
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. More... | |
int | mbedtls_cipher_cmac_finish (mbedtls_cipher_context_t *ctx, unsigned char *output) |
This function finishes the CMAC operation, and writes the result to the output buffer. More... | |
int | mbedtls_cipher_cmac_reset (mbedtls_cipher_context_t *ctx) |
This function prepares the authentication of another message with the same key as the previous CMAC operation. More... | |
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. More... | |
#define MBEDTLS_ERR_CMAC_HW_ACCEL_FAILED -0x007A |
#define MBEDTLS_CIPHER_BLKSIZE_MAX 8 |
int mbedtls_cipher_cmac_starts | ( | mbedtls_cipher_context_t * | ctx, |
const unsigned char * | key, | ||
size_t | keybits | ||
) |
This function sets the CMAC key, and prepares to authenticate the input data.
Must be called with an initialized cipher context.
ctx | The cipher context used for the CMAC operation, initialized as one of the following types: MBEDTLS_CIPHER_AES_128_ECB, MBEDTLS_CIPHER_AES_192_ECB, MBEDTLS_CIPHER_AES_256_ECB, or MBEDTLS_CIPHER_DES_EDE3_ECB. |
key | The CMAC key. |
keybits | The length of the CMAC key in bits. Must be supported by the cipher. |
0
on success. 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.
It is called between mbedtls_cipher_cmac_starts() or mbedtls_cipher_cmac_reset(), and mbedtls_cipher_cmac_finish(). Can be called repeatedly.
ctx | The cipher context used for the CMAC operation. |
input | The buffer holding the input data. |
ilen | The length of the input data. |
0
on success. int mbedtls_cipher_cmac_finish | ( | mbedtls_cipher_context_t * | ctx, |
unsigned char * | output | ||
) |
This function finishes the CMAC operation, and writes the result to the output buffer.
It is called after mbedtls_cipher_cmac_update(). It can be followed by mbedtls_cipher_cmac_reset() and mbedtls_cipher_cmac_update(), or mbedtls_cipher_free().
ctx | The cipher context used for the CMAC operation. |
output | The output buffer for the CMAC checksum result. |
0
on success. int mbedtls_cipher_cmac_reset | ( | mbedtls_cipher_context_t * | ctx | ) |
This function prepares the authentication of another message with the same key as the previous CMAC operation.
It is called after mbedtls_cipher_cmac_finish() and before mbedtls_cipher_cmac_update().
ctx | The cipher context used for the CMAC operation. |
0
on success. 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.
The function allocates the context, performs the calculation, and frees the context.
The CMAC result is calculated as output = generic CMAC(cmac key, input buffer).
cipher_info | The cipher information. |
key | The CMAC key. |
keylen | The length of the CMAC key in bits. |
input | The buffer holding the input data. |
ilen | The length of the input data. |
output | The buffer for the generic CMAC result. |
0
on success.