aes.h File Reference
AES block cipher.
More...
#include "config.h"
#include <stddef.h>
#include <stdint.h>
Go to the source code of this file.
Data Structures |
struct | mbedtls_aes_context |
| AES context structure. More...
|
Defines |
#define | MBEDTLS_AES_ENCRYPT 1 |
#define | MBEDTLS_AES_DECRYPT 0 |
#define | MBEDTLS_ERR_AES_INVALID_KEY_LENGTH -0x0020 |
| Invalid key length.
|
#define | MBEDTLS_ERR_AES_INVALID_INPUT_LENGTH -0x0022 |
| Invalid data input length.
|
Functions |
void | mbedtls_aes_init (mbedtls_aes_context *ctx) |
| Initialize AES context.
|
void | mbedtls_aes_free (mbedtls_aes_context *ctx) |
| Clear AES context.
|
int | mbedtls_aes_setkey_enc (mbedtls_aes_context *ctx, const unsigned char *key, unsigned int keybits) |
| AES key schedule (encryption).
|
int | mbedtls_aes_setkey_dec (mbedtls_aes_context *ctx, const unsigned char *key, unsigned int keybits) |
| AES key schedule (decryption).
|
int | mbedtls_aes_crypt_ecb (mbedtls_aes_context *ctx, int mode, const unsigned char input[16], unsigned char output[16]) |
| AES-ECB block encryption/decryption.
|
void | mbedtls_aes_encrypt (mbedtls_aes_context *ctx, const unsigned char input[16], unsigned char output[16]) |
| Internal AES block encryption function (Only exposed to allow overriding it, see MBEDTLS_AES_ENCRYPT_ALT).
|
void | mbedtls_aes_decrypt (mbedtls_aes_context *ctx, const unsigned char input[16], unsigned char output[16]) |
| Internal AES block decryption function (Only exposed to allow overriding it, see MBEDTLS_AES_DECRYPT_ALT).
|
int | mbedtls_aes_self_test (int verbose) |
| Checkup routine.
|
Detailed Description
AES block cipher.
Copyright (C) 2006-2015, 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 aes.h.
Define Documentation
#define MBEDTLS_AES_DECRYPT 0 |
Definition at line 37 of file aes.h.
#define MBEDTLS_AES_ENCRYPT 1 |
Definition at line 36 of file aes.h.
#define MBEDTLS_ERR_AES_INVALID_INPUT_LENGTH -0x0022 |
Invalid data input length.
Definition at line 40 of file aes.h.
#define MBEDTLS_ERR_AES_INVALID_KEY_LENGTH -0x0020 |
Invalid key length.
Definition at line 39 of file aes.h.
Function Documentation
int mbedtls_aes_crypt_ecb |
( |
mbedtls_aes_context * |
ctx, |
|
|
int |
mode, |
|
|
const unsigned char |
input[16], |
|
|
unsigned char |
output[16] | |
|
) |
| | |
AES-ECB block encryption/decryption.
- Parameters:
-
| ctx | AES context |
| mode | MBEDTLS_AES_ENCRYPT or MBEDTLS_AES_DECRYPT |
| input | 16-byte input block |
| output | 16-byte output block |
- Returns:
- 0 if successful
void mbedtls_aes_decrypt |
( |
mbedtls_aes_context * |
ctx, |
|
|
const unsigned char |
input[16], |
|
|
unsigned char |
output[16] | |
|
) |
| | |
Internal AES block decryption function (Only exposed to allow overriding it, see MBEDTLS_AES_DECRYPT_ALT).
- Parameters:
-
| ctx | AES context |
| input | Ciphertext block |
| output | Output (plaintext) block |
void mbedtls_aes_encrypt |
( |
mbedtls_aes_context * |
ctx, |
|
|
const unsigned char |
input[16], |
|
|
unsigned char |
output[16] | |
|
) |
| | |
Internal AES block encryption function (Only exposed to allow overriding it, see MBEDTLS_AES_ENCRYPT_ALT).
- Parameters:
-
| ctx | AES context |
| input | Plaintext block |
| output | Output (ciphertext) block |
Clear AES context.
- Parameters:
-
| ctx | AES context to be cleared |
Initialize AES context.
- Parameters:
-
| ctx | AES context to be initialized |
int mbedtls_aes_self_test |
( |
int |
verbose |
) |
|
Checkup routine.
- Returns:
- 0 if successful, or 1 if the test failed
int mbedtls_aes_setkey_dec |
( |
mbedtls_aes_context * |
ctx, |
|
|
const unsigned char * |
key, |
|
|
unsigned int |
keybits | |
|
) |
| | |
AES key schedule (decryption).
- Parameters:
-
| ctx | AES context to be initialized |
| key | decryption key |
| keybits | must be 128, 192 or 256 |
- Returns:
- 0 if successful, or MBEDTLS_ERR_AES_INVALID_KEY_LENGTH
int mbedtls_aes_setkey_enc |
( |
mbedtls_aes_context * |
ctx, |
|
|
const unsigned char * |
key, |
|
|
unsigned int |
keybits | |
|
) |
| | |
AES key schedule (encryption).
- Parameters:
-
| ctx | AES context to be initialized |
| key | encryption key |
| keybits | must be 128, 192 or 256 |
- Returns:
- 0 if successful, or MBEDTLS_ERR_AES_INVALID_KEY_LENGTH