File xtea.h
XTEA block cipher (32-bit)
Defines
-
MBEDTLS_XTEA_ENCRYPT
-
MBEDTLS_XTEA_DECRYPT
-
MBEDTLS_ERR_XTEA_INVALID_INPUT_LENGTH
The data input has an invalid length.
-
MBEDTLS_ERR_XTEA_HW_ACCEL_FAILED
XTEA hardware accelerator failed.
Functions
-
void mbedtls_xtea_init(mbedtls_xtea_context *ctx)
Initialize XTEA context.
- Parameters
ctx – XTEA context to be initialized
-
void mbedtls_xtea_free(mbedtls_xtea_context *ctx)
Clear XTEA context.
- Parameters
ctx – XTEA context to be cleared
-
void mbedtls_xtea_setup(mbedtls_xtea_context *ctx, const unsigned char key[16])
XTEA key schedule.
- Parameters
ctx – XTEA context to be initialized
key – the secret key
-
int mbedtls_xtea_crypt_ecb(mbedtls_xtea_context *ctx, int mode, const unsigned char input[8], unsigned char output[8])
XTEA cipher function.
- Parameters
ctx – XTEA context
mode – MBEDTLS_XTEA_ENCRYPT or MBEDTLS_XTEA_DECRYPT
input – 8-byte input block
output – 8-byte output block
- Returns
0 if successful
-
int mbedtls_xtea_crypt_cbc(mbedtls_xtea_context *ctx, int mode, size_t length, unsigned char iv[8], const unsigned char *input, unsigned char *output)
XTEA CBC cipher function.
- Parameters
ctx – XTEA context
mode – MBEDTLS_XTEA_ENCRYPT or MBEDTLS_XTEA_DECRYPT
length – the length of input, multiple of 8
iv – initialization vector for CBC mode
input – input block
output – output block
- Returns
0 if successful, MBEDTLS_ERR_XTEA_INVALID_INPUT_LENGTH if the length % 8 != 0
-
int mbedtls_xtea_self_test(int verbose)
Checkup routine.
- Returns
0 if successful, or 1 if the test failed