30 #ifndef POLARSSL_CIPHER_H
31 #define POLARSSL_CIPHER_H
35 #if defined(_MSC_VER) && !defined(inline)
36 #define inline _inline
38 #if defined(__ARMCC_VERSION) && !defined(inline)
39 #define inline __inline
43 #define POLARSSL_ERR_CIPHER_FEATURE_UNAVAILABLE -0x6080
44 #define POLARSSL_ERR_CIPHER_BAD_INPUT_DATA -0x6100
45 #define POLARSSL_ERR_CIPHER_ALLOC_FAILED -0x6180
46 #define POLARSSL_ERR_CIPHER_INVALID_PADDING -0x6200
47 #define POLARSSL_ERR_CIPHER_FULL_BLOCK_EXPECTED -0x6280
118 int (*cbc_func)(
void *ctx,
operation_t mode,
size_t length,
unsigned char *iv,
119 const unsigned char *input,
unsigned char *output );
122 int (*cfb128_func)(
void *ctx,
operation_t mode,
size_t length,
size_t *iv_off,
123 unsigned char *iv,
const unsigned char *input,
unsigned char *output );
126 int (*ctr_func)(
void *ctx,
size_t length,
size_t *nc_off,
unsigned char *nonce_counter,
127 unsigned char *stream_block,
const unsigned char *input,
unsigned char *output );
130 int (*setkey_enc_func)(
void *ctx,
const unsigned char *key,
unsigned int key_length);
133 int (*setkey_dec_func)(
void *ctx,
const unsigned char *key,
unsigned int key_length);
136 void * (*ctx_alloc_func)( void );
139 void (*ctx_free_func)(
void *ctx );
423 unsigned char *output,
size_t *olen );