xtea.h File Reference

XTEA block cipher (32-bit). More...

#include "config.h"
#include <stddef.h>
#include <stdint.h>
Include dependency graph for xtea.h:

Go to the source code of this file.

Data Structures

struct  mbedtls_xtea_context
 XTEA context structure. More...

Defines

#define MBEDTLS_XTEA_ENCRYPT   1
#define MBEDTLS_XTEA_DECRYPT   0
#define MBEDTLS_ERR_XTEA_INVALID_INPUT_LENGTH   -0x0028
#define MBEDTLS_ERR_XTEA_HW_ACCEL_FAILED   -0x0029

Functions

void mbedtls_xtea_init (mbedtls_xtea_context *ctx)
 Initialize XTEA context.
void mbedtls_xtea_free (mbedtls_xtea_context *ctx)
 Clear XTEA context.
void mbedtls_xtea_setup (mbedtls_xtea_context *ctx, const unsigned char key[16])
 XTEA key schedule.
int mbedtls_xtea_crypt_ecb (mbedtls_xtea_context *ctx, int mode, const unsigned char input[8], unsigned char output[8])
 XTEA cipher function.
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.
int mbedtls_xtea_self_test (int verbose)
 Checkup routine.

Detailed Description

XTEA block cipher (32-bit).

Definition in file xtea.h.


Define Documentation

#define MBEDTLS_ERR_XTEA_HW_ACCEL_FAILED   -0x0029

XTEA hardware accelerator failed.

Definition at line 67 of file xtea.h.

#define MBEDTLS_ERR_XTEA_INVALID_INPUT_LENGTH   -0x0028

The data input has an invalid length.

Definition at line 66 of file xtea.h.

#define MBEDTLS_XTEA_DECRYPT   0

Definition at line 64 of file xtea.h.

#define MBEDTLS_XTEA_ENCRYPT   1

Definition at line 63 of file xtea.h.


Function Documentation

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_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
void mbedtls_xtea_free ( mbedtls_xtea_context ctx  ) 

Clear XTEA context.

Parameters:
ctx XTEA context to be cleared
void mbedtls_xtea_init ( mbedtls_xtea_context ctx  ) 

Initialize XTEA context.

Parameters:
ctx XTEA context to be initialized
int mbedtls_xtea_self_test ( int  verbose  ) 

Checkup routine.

Returns:
0 if successful, or 1 if the test failed
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

Generated on 10 Aug 2020 for mbed TLS v2.7.16 by  doxygen 1.6.1