43 # ifdef oaes_lib_EXPORTS
44 # define OAES_API __declspec(dllexport)
46 # define OAES_API __declspec(dllimport)
55 #define OAES_VERSION "0.8.1"
56 #define OAES_BLOCK_SIZE 16
82 #define OAES_OPTION_NONE 0
84 #define OAES_OPTION_ECB 1
88 #define OAES_OPTION_CBC 2
91 typedef int ( * oaes_step_cb ) (
93 const char * step_name,
98 #define OAES_OPTION_STEP_ON 4
100 #define OAES_OPTION_STEP_OFF 8
117 #ifdef OAES_HAVE_ISAAC
122 oaes_step_cb step_cb;
180 uint8_t * data,
size_t * data_len );
185 uint8_t * data,
size_t * data_len );
189 const uint8_t * data,
size_t data_len );
193 const uint8_t * data,
size_t data_len );
197 const uint8_t * m,
size_t m_len, uint8_t * c,
size_t * c_len );
201 const uint8_t * c,
size_t c_len, uint8_t * m,
size_t * m_len );
205 char * buf,
size_t * buf_len,
const uint8_t * data,
size_t data_len );
OAES_API OAES_RET oaes_key_export(OAES_CTX *ctx, uint8_t *data, size_t *data_len)
Definition: oaes_lib.c:689
OAES_API OAES_RET oaes_key_import_data(OAES_CTX *ctx, const uint8_t *data, size_t data_len)
Definition: oaes_lib.c:842
OAES_API OAES_RET oaes_encrypt(OAES_CTX *ctx, const uint8_t *m, size_t m_len, uint8_t *c, size_t *c_len)
Definition: oaes_lib.c:1258
OAES_API OAES_RET oaes_free(OAES_CTX **ctx)
Definition: oaes_lib.c:934
#define OAES_API
Definition: oaes_lib.h:52
OAES_API OAES_RET oaes_key_gen_128(OAES_CTX *ctx)
Definition: oaes_lib.c:674
OAES_API OAES_RET oaes_key_gen_256(OAES_CTX *ctx)
Definition: oaes_lib.c:684
void OAES_CTX
Definition: oaes_lib.h:58
OAES_API OAES_RET oaes_key_gen_192(OAES_CTX *ctx)
Definition: oaes_lib.c:679
OAES_API OAES_RET oaes_sprintf(char *buf, size_t *buf_len, const uint8_t *data, size_t data_len)
Definition: oaes_lib.c:440
OAES_API OAES_CTX * oaes_alloc(void)
Definition: oaes_lib.c:894
uint16_t OAES_OPTION
Definition: oaes_lib.h:103
OAES_API OAES_RET oaes_set_option(OAES_CTX *ctx, OAES_OPTION option, const void *value)
Definition: oaes_lib.c:961
OAES_API OAES_RET oaes_encryption_round(const uint8_t *key, uint8_t *c)
Definition: oaes_lib.c:1457
OAES_API OAES_RET oaes_key_import(OAES_CTX *ctx, const uint8_t *data, size_t data_len)
Definition: oaes_lib.c:752
OAES_API OAES_RET oaes_key_export_data(OAES_CTX *ctx, uint8_t *data, size_t *data_len)
Definition: oaes_lib.c:723
#define OAES_BLOCK_SIZE
Definition: oaes_lib.h:56
OAES_API OAES_RET oaes_pseudo_encrypt_ecb(OAES_CTX *ctx, uint8_t *c)
Definition: oaes_lib.c:1487
struct _oaes_key oaes_key
OAES_API OAES_RET oaes_decrypt(OAES_CTX *ctx, const uint8_t *c, size_t c_len, uint8_t *m, size_t *m_len)
Definition: oaes_lib.c:1330
struct _oaes_ctx oaes_ctx
OAES_RET
Definition: oaes_lib.h:61
@ OAES_RET_ARG5
Definition: oaes_lib.h:69
@ OAES_RET_MEM
Definition: oaes_lib.h:71
@ OAES_RET_UNKNOWN
Definition: oaes_lib.h:64
@ OAES_RET_BUF
Definition: oaes_lib.h:72
@ OAES_RET_ARG3
Definition: oaes_lib.h:67
@ OAES_RET_FIRST
Definition: oaes_lib.h:62
@ OAES_RET_ARG2
Definition: oaes_lib.h:66
@ OAES_RET_NOKEY
Definition: oaes_lib.h:70
@ OAES_RET_SUCCESS
Definition: oaes_lib.h:63
@ OAES_RET_ARG4
Definition: oaes_lib.h:68
@ OAES_RET_ARG1
Definition: oaes_lib.h:65
@ OAES_RET_COUNT
Definition: oaes_lib.h:74
@ OAES_RET_HEADER
Definition: oaes_lib.h:73
Definition: oaes_lib.h:116
oaes_key * key
Definition: oaes_lib.h:125
OAES_OPTION options
Definition: oaes_lib.h:126
uint8_t iv[OAES_BLOCK_SIZE]
Definition: oaes_lib.h:127
Definition: oaes_lib.h:106
size_t data_len
Definition: oaes_lib.h:107
size_t num_keys
Definition: oaes_lib.h:111
size_t key_base
Definition: oaes_lib.h:112
size_t exp_data_len
Definition: oaes_lib.h:109
uint8_t * data
Definition: oaes_lib.h:108
uint8_t * exp_data
Definition: oaes_lib.h:110
Definition: blake256.h:37