mbed-os for GR-LYCHEE

Dependents:   mbed-os-example-blinky-gr-lychee GR-Boads_Camera_sample GR-Boards_Audio_Recoder GR-Boads_Camera_DisplayApp ... more

Embed: (wiki syntax)

« Back to documentation index

cmac.h File Reference

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:
keyPRF key
key_lenPRF key length in bytes
inputbuffer holding the input data
in_lenlength of the input data in bytes
outputbuffer 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_infomessage digest info
keyCMAC key
keylenlength of the CMAC key in bits
inputbuffer holding the data
ilenlength of the input data
outputGeneric CMAC-result
Returns:
0 on success, MBEDTLS_ERR_MD_BAD_INPUT_DATA if parameter verification fails.

Definition at line 390 of file cmac.c.

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:
ctxCMAC context
outputGeneric CMAC checksum result
Returns:
0 on success, MBEDTLS_ERR_MD_BAD_INPUT_DATA if parameter verification fails.

Definition at line 310 of file cmac.c.

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:
ctxCMAC context to be reset
Returns:
0 on success, MBEDTLS_ERR_MD_BAD_INPUT_DATA if parameter verification fails.

Definition at line 371 of file cmac.c.

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:
ctxCipher 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.
keyCMAC key
keybitslength of the CMAC key in bits (must be acceptable by the cipher)
Returns:
0 if successful, or a cipher specific error code

Definition at line 202 of file cmac.c.

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:
ctxCMAC context
inputbuffer holding the data
ilenlength of the input data
Returns:
0 on success, MBEDTLS_ERR_MD_BAD_INPUT_DATA if parameter verification fails.

Definition at line 242 of file cmac.c.

int mbedtls_cmac_self_test ( int  verbose )

Checkup routine.

Returns:
0 if successful, or 1 if the test failed

Definition at line 918 of file cmac.c.