Electroneum
Classes | Macros | Typedefs | Enumerations | Functions
oaes_lib.h File Reference
#include <stdint.h>
#include <stdlib.h>
Include dependency graph for oaes_lib.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _oaes_key
 
struct  _oaes_ctx
 

Macros

#define OAES_API
 
#define OAES_VERSION   "0.8.1"
 
#define OAES_BLOCK_SIZE   16
 
#define OAES_OPTION_NONE   0
 
#define OAES_OPTION_ECB   1
 
#define OAES_OPTION_CBC   2
 

Typedefs

typedef void OAES_CTX
 
typedef uint16_t OAES_OPTION
 
typedef struct _oaes_key oaes_key
 
typedef struct _oaes_ctx oaes_ctx
 

Enumerations

enum  OAES_RET {
  OAES_RET_FIRST = 0 , OAES_RET_SUCCESS = 0 , OAES_RET_UNKNOWN , OAES_RET_ARG1 ,
  OAES_RET_ARG2 , OAES_RET_ARG3 , OAES_RET_ARG4 , OAES_RET_ARG5 ,
  OAES_RET_NOKEY , OAES_RET_MEM , OAES_RET_BUF , OAES_RET_HEADER ,
  OAES_RET_COUNT
}
 

Functions

OAES_API OAES_CTXoaes_alloc (void)
 
OAES_API OAES_RET oaes_free (OAES_CTX **ctx)
 
OAES_API OAES_RET oaes_set_option (OAES_CTX *ctx, OAES_OPTION option, const void *value)
 
OAES_API OAES_RET oaes_key_gen_128 (OAES_CTX *ctx)
 
OAES_API OAES_RET oaes_key_gen_192 (OAES_CTX *ctx)
 
OAES_API OAES_RET oaes_key_gen_256 (OAES_CTX *ctx)
 
OAES_API OAES_RET oaes_key_export (OAES_CTX *ctx, uint8_t *data, size_t *data_len)
 
OAES_API OAES_RET oaes_key_export_data (OAES_CTX *ctx, uint8_t *data, size_t *data_len)
 
OAES_API OAES_RET oaes_key_import (OAES_CTX *ctx, const uint8_t *data, size_t data_len)
 
OAES_API OAES_RET oaes_key_import_data (OAES_CTX *ctx, const uint8_t *data, size_t data_len)
 
OAES_API OAES_RET oaes_encrypt (OAES_CTX *ctx, const uint8_t *m, size_t m_len, uint8_t *c, size_t *c_len)
 
OAES_API OAES_RET oaes_decrypt (OAES_CTX *ctx, const uint8_t *c, size_t c_len, uint8_t *m, size_t *m_len)
 
OAES_API OAES_RET oaes_sprintf (char *buf, size_t *buf_len, const uint8_t *data, size_t data_len)
 
OAES_API OAES_RET oaes_encryption_round (const uint8_t *key, uint8_t *c)
 
OAES_API OAES_RET oaes_pseudo_encrypt_ecb (OAES_CTX *ctx, uint8_t *c)
 

Macro Definition Documentation

◆ OAES_API

#define OAES_API

◆ OAES_BLOCK_SIZE

#define OAES_BLOCK_SIZE   16

◆ OAES_OPTION_CBC

#define OAES_OPTION_CBC   2

◆ OAES_OPTION_ECB

#define OAES_OPTION_ECB   1

◆ OAES_OPTION_NONE

#define OAES_OPTION_NONE   0

◆ OAES_VERSION

#define OAES_VERSION   "0.8.1"

Typedef Documentation

◆ OAES_CTX

typedef void OAES_CTX

◆ oaes_ctx

typedef struct _oaes_ctx oaes_ctx

◆ oaes_key

typedef struct _oaes_key oaes_key

◆ OAES_OPTION

typedef uint16_t OAES_OPTION

Enumeration Type Documentation

◆ OAES_RET

enum OAES_RET
Enumerator
OAES_RET_FIRST 
OAES_RET_SUCCESS 
OAES_RET_UNKNOWN 
OAES_RET_ARG1 
OAES_RET_ARG2 
OAES_RET_ARG3 
OAES_RET_ARG4 
OAES_RET_ARG5 
OAES_RET_NOKEY 
OAES_RET_MEM 
OAES_RET_BUF 
OAES_RET_HEADER 
OAES_RET_COUNT 

Function Documentation

◆ oaes_alloc()

OAES_API OAES_CTX* oaes_alloc ( void  )

◆ oaes_decrypt()

OAES_API OAES_RET oaes_decrypt ( OAES_CTX ctx,
const uint8_t *  c,
size_t  c_len,
uint8_t *  m,
size_t *  m_len 
)

◆ oaes_encrypt()

OAES_API OAES_RET oaes_encrypt ( OAES_CTX ctx,
const uint8_t *  m,
size_t  m_len,
uint8_t *  c,
size_t *  c_len 
)

◆ oaes_encryption_round()

OAES_API OAES_RET oaes_encryption_round ( const uint8_t *  key,
uint8_t *  c 
)

◆ oaes_free()

OAES_API OAES_RET oaes_free ( OAES_CTX **  ctx)

◆ oaes_key_export()

OAES_API OAES_RET oaes_key_export ( OAES_CTX ctx,
uint8_t *  data,
size_t *  data_len 
)

◆ oaes_key_export_data()

OAES_API OAES_RET oaes_key_export_data ( OAES_CTX ctx,
uint8_t *  data,
size_t *  data_len 
)

◆ oaes_key_gen_128()

OAES_API OAES_RET oaes_key_gen_128 ( OAES_CTX ctx)

◆ oaes_key_gen_192()

OAES_API OAES_RET oaes_key_gen_192 ( OAES_CTX ctx)

◆ oaes_key_gen_256()

OAES_API OAES_RET oaes_key_gen_256 ( OAES_CTX ctx)

◆ oaes_key_import()

OAES_API OAES_RET oaes_key_import ( OAES_CTX ctx,
const uint8_t *  data,
size_t  data_len 
)

◆ oaes_key_import_data()

OAES_API OAES_RET oaes_key_import_data ( OAES_CTX ctx,
const uint8_t *  data,
size_t  data_len 
)

◆ oaes_pseudo_encrypt_ecb()

OAES_API OAES_RET oaes_pseudo_encrypt_ecb ( OAES_CTX ctx,
uint8_t *  c 
)

◆ oaes_set_option()

OAES_API OAES_RET oaes_set_option ( OAES_CTX ctx,
OAES_OPTION  option,
const void *  value 
)

◆ oaes_sprintf()

OAES_API OAES_RET oaes_sprintf ( char *  buf,
size_t *  buf_len,
const uint8_t *  data,
size_t  data_len 
)