ReactOS 0.4.15-dev-7918-g2a2556c
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.

Classes

struct  mbedtls_xtea_context
 XTEA context structure. More...
 

Macros

#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
 

Typedefs

typedef struct mbedtls_xtea_context mbedtls_xtea_context
 XTEA context structure.
 

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.
 

Detailed Description

XTEA block cipher (32-bit)

Definition in file xtea.h.

Macro Definition Documentation

◆ MBEDTLS_ERR_XTEA_HW_ACCEL_FAILED

#define MBEDTLS_ERR_XTEA_HW_ACCEL_FAILED   -0x0029

XTEA hardware accelerator failed.

Definition at line 67 of file xtea.h.

◆ MBEDTLS_ERR_XTEA_INVALID_INPUT_LENGTH

#define MBEDTLS_ERR_XTEA_INVALID_INPUT_LENGTH   -0x0028

The data input has an invalid length.

Definition at line 64 of file xtea.h.

◆ MBEDTLS_XTEA_DECRYPT

#define MBEDTLS_XTEA_DECRYPT   0

Definition at line 62 of file xtea.h.

◆ MBEDTLS_XTEA_ENCRYPT

#define MBEDTLS_XTEA_ENCRYPT   1

Definition at line 61 of file xtea.h.

Typedef Documentation

◆ mbedtls_xtea_context

XTEA context structure.

Function Documentation

◆ mbedtls_xtea_crypt_cbc()

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
ctxXTEA context
modeMBEDTLS_XTEA_ENCRYPT or MBEDTLS_XTEA_DECRYPT
lengththe length of input, multiple of 8
ivinitialization vector for CBC mode
inputinput block
outputoutput block
Returns
0 if successful, MBEDTLS_ERR_XTEA_INVALID_INPUT_LENGTH if the length % 8 != 0

◆ mbedtls_xtea_crypt_ecb()

int mbedtls_xtea_crypt_ecb ( mbedtls_xtea_context ctx,
int  mode,
const unsigned char  input[8],
unsigned char  output[8] 
)

XTEA cipher function.

Parameters
ctxXTEA context
modeMBEDTLS_XTEA_ENCRYPT or MBEDTLS_XTEA_DECRYPT
input8-byte input block
output8-byte output block
Returns
0 if successful

◆ mbedtls_xtea_free()

void mbedtls_xtea_free ( mbedtls_xtea_context ctx)

Clear XTEA context.

Parameters
ctxXTEA context to be cleared

◆ mbedtls_xtea_init()

void mbedtls_xtea_init ( mbedtls_xtea_context ctx)

Initialize XTEA context.

Parameters
ctxXTEA context to be initialized

◆ mbedtls_xtea_setup()

void mbedtls_xtea_setup ( mbedtls_xtea_context ctx,
const unsigned char  key[16] 
)

XTEA key schedule.

Parameters
ctxXTEA context to be initialized
keythe secret key