mbed TLS v2.16.0: xtea.h File Reference

mbed TLS v2.16.0

Data Structures | Macros | Typedefs | Functions
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...

## 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. More...

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

## 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 42 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 39 of file xtea.h.

## ◆ MBEDTLS_XTEA_DECRYPT

#define MBEDTLS_XTEA_DECRYPT 0

Definition at line 37 of file xtea.h.

## ◆ MBEDTLS_XTEA_ENCRYPT

#define MBEDTLS_XTEA_ENCRYPT 1

Definition at line 36 of file xtea.h.

## Typedef Documentation

## ◆ mbedtls_xtea_context

typedef struct mbedtls_xtea_context 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

  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

## ◆ 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

  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

## ◆ mbedtls_xtea_free()

void mbedtls_xtea_free | ( | mbedtls_xtea_context * | ctx | ) |

Clear XTEA context.

Parameters

  ctx | XTEA context to be cleared

## ◆ mbedtls_xtea_init()

void mbedtls_xtea_init | ( | mbedtls_xtea_context * | ctx | ) |

Initialize XTEA context.

Parameters

  ctx | XTEA context to be initialized

## ◆ mbedtls_xtea_self_test()

int mbedtls_xtea_self_test | ( | int | verbose | ) |

Checkup routine.

Returns
  0 if successful, or 1 if the test failed

## ◆ mbedtls_xtea_setup()

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