FFmpeg
Loading...
Searching...
No Matches
xtea.c File Reference

XTEA 32-bit implementation. More...

#include <string.h>
#include "config.h"
#include "intreadwrite.h"
#include "mem.h"
#include "xtea.h"

Go to the source code of this file.

Macros

#define DSTEP(SUM, K0, K1)
 
#define ESTEP(SUM, K0, K1)
 

Functions

AVXTEAav_xtea_alloc (void)
 Allocate an AVXTEA context.
 
void av_xtea_init (AVXTEA *ctx, const uint8_t key[16])
 Initialize an AVXTEA context.
 
void av_xtea_le_init (AVXTEA *ctx, const uint8_t key[16])
 Initialize an AVXTEA context.
 
static void xtea_crypt_ecb (AVXTEA *ctx, uint8_t *dst, const uint8_t *src, int decrypt, uint8_t *iv)
 
static void xtea_le_crypt_ecb (AVXTEA *ctx, uint8_t *dst, const uint8_t *src, int decrypt, uint8_t *iv)
 
static void xtea_crypt (AVXTEA *ctx, uint8_t *dst, const uint8_t *src, int count, uint8_t *iv, int decrypt, void(*crypt)(AVXTEA *, uint8_t *, const uint8_t *, int, uint8_t *))
 
void av_xtea_crypt (AVXTEA *ctx, uint8_t *dst, const uint8_t *src, int count, uint8_t *iv, int decrypt)
 Encrypt or decrypt a buffer using a previously initialized context, in big endian format.
 
void av_xtea_le_crypt (AVXTEA *ctx, uint8_t *dst, const uint8_t *src, int count, uint8_t *iv, int decrypt)
 Encrypt or decrypt a buffer using a previously initialized context, in little endian format.
 

Detailed Description

XTEA 32-bit implementation.

Author
Samuel Pitoiset

Definition in file xtea.c.

Macro Definition Documentation

◆ DSTEP

#define DSTEP ( SUM,
K0,
K1 )
Value:
v1 -= (((v0 << 4) ^ (v0 >> 5)) + v0) ^ (SUM + K0); \
v0 -= (((v1 << 4) ^ (v1 >> 5)) + v1) ^ (SUM - 0x9E3779B9U + K1)
#define SUM(type, name)
Definition vf_corr.c:88

Referenced by xtea_crypt_ecb().

◆ ESTEP

#define ESTEP ( SUM,
K0,
K1 )
Value:
v0 += (((v1 << 4) ^ (v1 >> 5)) + v1) ^ (SUM + K0);\
v1 += (((v0 << 4) ^ (v0 >> 5)) + v0) ^ (SUM + 0x9E3779B9U + K1)

Referenced by xtea_crypt_ecb().

Function Documentation

◆ xtea_crypt_ecb()

static void xtea_crypt_ecb ( AVXTEA * ctx,
uint8_t * dst,
const uint8_t * src,
int decrypt,
uint8_t * iv )
static

Definition at line 58 of file xtea.c.

Referenced by av_xtea_crypt().

◆ xtea_le_crypt_ecb()

static void xtea_le_crypt_ecb ( AVXTEA * ctx,
uint8_t * dst,
const uint8_t * src,
int decrypt,
uint8_t * iv )
static

Definition at line 178 of file xtea.c.

Referenced by av_xtea_le_crypt().

◆ xtea_crypt()

static void xtea_crypt ( AVXTEA * ctx,
uint8_t * dst,
const uint8_t * src,
int count,
uint8_t * iv,
int decrypt,
void(* crypt )(AVXTEA *, uint8_t *, const uint8_t *, int, uint8_t *) )
static

Definition at line 214 of file xtea.c.

Referenced by av_xtea_crypt(), and av_xtea_le_crypt().