mbed TLS v1.3.17
xtea.h
Go to the documentation of this file.
1 
24 #ifndef POLARSSL_XTEA_H
25 #define POLARSSL_XTEA_H
26 
27 #if !defined(POLARSSL_CONFIG_FILE)
28 #include "config.h"
29 #else
30 #include POLARSSL_CONFIG_FILE
31 #endif
32 
33 #include <stddef.h>
34 
35 #if defined(_MSC_VER) && !defined(EFIX64) && !defined(EFI32)
36 #include <basetsd.h>
37 typedef UINT32 uint32_t;
38 #else
39 #include <inttypes.h>
40 #endif
41 
42 #define XTEA_ENCRYPT 1
43 #define XTEA_DECRYPT 0
44 
45 #define POLARSSL_ERR_XTEA_INVALID_INPUT_LENGTH -0x0028
47 #if !defined(POLARSSL_XTEA_ALT)
48 // Regular implementation
49 //
50 
51 #ifdef __cplusplus
52 extern "C" {
53 #endif
54 
58 typedef struct
59 {
60  uint32_t k[4];
61 }
63 
69 void xtea_init( xtea_context *ctx );
70 
76 void xtea_free( xtea_context *ctx );
77 
84 void xtea_setup( xtea_context *ctx, const unsigned char key[16] );
85 
97  int mode,
98  const unsigned char input[8],
99  unsigned char output[8] );
100 
101 #if defined(POLARSSL_CIPHER_MODE_CBC)
102 
115 int xtea_crypt_cbc( xtea_context *ctx,
116  int mode,
117  size_t length,
118  unsigned char iv[8],
119  const unsigned char *input,
120  unsigned char *output);
121 #endif /* POLARSSL_CIPHER_MODE_CBC */
122 
123 #ifdef __cplusplus
124 }
125 #endif
126 
127 #else /* POLARSSL_XTEA_ALT */
128 #include "xtea_alt.h"
129 #endif /* POLARSSL_XTEA_ALT */
130 
131 #ifdef __cplusplus
132 extern "C" {
133 #endif
134 
140 int xtea_self_test( int verbose );
141 
142 #ifdef __cplusplus
143 }
144 #endif
145 
146 #endif /* xtea.h */
void xtea_free(xtea_context *ctx)
Clear XTEA context.
Configuration options (set of defines)
void xtea_init(xtea_context *ctx)
Initialize XTEA context.
int xtea_crypt_ecb(xtea_context *ctx, int mode, const unsigned char input[8], unsigned char output[8])
XTEA cipher function.
void xtea_setup(xtea_context *ctx, const unsigned char key[16])
XTEA key schedule.
int xtea_crypt_cbc(xtea_context *ctx, int mode, size_t length, unsigned char iv[8], const unsigned char *input, unsigned char *output)
XTEA CBC cipher function.
XTEA context structure.
Definition: xtea.h:58
int xtea_self_test(int verbose)
Checkup routine.