Rtos API example
cmac.h File Reference
Cipher-based Message Authentication Code (CMAC) Mode for Authentication. More...
Go to the source code of this file.
Data Structures | |
struct | mbedtls_cmac_context_t |
CMAC context structure - Contains internal state information only. More... | |
Functions | |
int | mbedtls_cipher_cmac_starts (mbedtls_cipher_context_t *ctx, const unsigned char *key, size_t keybits) |
Set the CMAC key and prepare to authenticate the input data. | |
int | mbedtls_cipher_cmac_update (mbedtls_cipher_context_t *ctx, const unsigned char *input, size_t ilen) |
Generic CMAC process buffer. | |
int | mbedtls_cipher_cmac_finish (mbedtls_cipher_context_t *ctx, unsigned char *output) |
Output CMAC. | |
int | mbedtls_cipher_cmac_reset (mbedtls_cipher_context_t *ctx) |
Prepare to authenticate a new message with the same key. | |
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) |
Output = Generic_CMAC( cmac key, input buffer ) | |
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]) |
AES-CMAC-128-PRF Implementation of (AES-CMAC-PRF-128), as defined in RFC 4615. | |
int | mbedtls_cmac_self_test (int verbose) |
Checkup routine. |
Detailed Description
Cipher-based Message Authentication Code (CMAC) Mode for Authentication.
Copyright (C) 2015-2016, ARM Limited, All Rights Reserved SPDX-License-Identifier: Apache-2.0
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
This file is part of mbed TLS (https://tls.mbed.org)
Definition in file cmac.h.
Function Documentation
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] | ||
) |
AES-CMAC-128-PRF Implementation of (AES-CMAC-PRF-128), as defined in RFC 4615.
- Parameters:
-
key PRF key key_len PRF key length in bytes input buffer holding the input data in_len length of the input data in bytes output buffer holding the generated pseudorandom output (16 bytes)
- Returns:
- 0 if successful
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 | ||
) |
Output = Generic_CMAC( cmac key, input buffer )
- Parameters:
-
cipher_info message digest info key CMAC key keylen length of the CMAC key in bits input buffer holding the data ilen length of the input data output Generic CMAC-result
- Returns:
- 0 on success, MBEDTLS_ERR_MD_BAD_INPUT_DATA if parameter verification fails.
int mbedtls_cipher_cmac_finish | ( | mbedtls_cipher_context_t * | ctx, |
unsigned char * | output | ||
) |
Output CMAC.
Called after mbedtls_cipher_cmac_update(). Usually followed by mbedtls_cipher_cmac_reset(), then mbedtls_cipher_cmac_starts(), or mbedtls_cipher_free().
- Parameters:
-
ctx CMAC context output Generic CMAC checksum result
- Returns:
- 0 on success, MBEDTLS_ERR_MD_BAD_INPUT_DATA if parameter verification fails.
int mbedtls_cipher_cmac_reset | ( | mbedtls_cipher_context_t * | ctx ) |
Prepare to authenticate a new message with the same key.
Called after mbedtls_cipher_cmac_finish() and before mbedtls_cipher_cmac_update().
- Parameters:
-
ctx CMAC context to be reset
- Returns:
- 0 on success, MBEDTLS_ERR_MD_BAD_INPUT_DATA if parameter verification fails.
int mbedtls_cipher_cmac_starts | ( | mbedtls_cipher_context_t * | ctx, |
const unsigned char * | key, | ||
size_t | keybits | ||
) |
Set the CMAC key and prepare to authenticate the input data.
Should be called with an initialized cipher context.
- Parameters:
-
ctx Cipher context. This should be a cipher context, initialized to be 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 CMAC key keybits length of the CMAC key in bits (must be acceptable by the cipher)
- Returns:
- 0 if successful, or a cipher specific error code
int mbedtls_cipher_cmac_update | ( | mbedtls_cipher_context_t * | ctx, |
const unsigned char * | input, | ||
size_t | ilen | ||
) |
Generic CMAC process buffer.
Called between mbedtls_cipher_cmac_starts() or mbedtls_cipher_cmac_reset() and mbedtls_cipher_cmac_finish(). May be called repeatedly.
- Parameters:
-
ctx CMAC context input buffer holding the data ilen length of the input data
- Returns:
- 0 on success, MBEDTLS_ERR_MD_BAD_INPUT_DATA if parameter verification fails.
Generated on Sun Jul 17 2022 08:25:34 by 1.7.2