Reference

libcaes(3)

Library to support cross-platform AES encryption

NAME

libcaes.h – Library to support cross-platform AES encryption

SYNOPSIS

#include <libcaes.h>

Support functions

const char *

libcaes_get_version(void);

Error functions

void

libcaes_error_free(libcaes_error_t **error);

int

libcaes_error_fprint(libcaes_error_t *error, FILE *stream);

int

libcaes_error_sprint(libcaes_error_t *error, char *string, size_t size);

int

libcaes_error_backtrace_fprint(libcaes_error_t *error, FILE *stream);

int

libcaes_error_backtrace_sprint(libcaes_error_t *error, char *string, size_t size);

Context functions

int

libcaes_context_initialize(libcaes_context_t **context, libcaes_error_t **error);

int

libcaes_context_free(libcaes_context_t **context, libcaes_error_t **error);

int

libcaes_context_set_key(libcaes_context_t *context, int mode, const uint8_t *key, size_t key_bit_size, libcaes_error_t **error);

int

libcaes_crypt_cbc(libcaes_context_t *context, int mode, const uint8_t *initialization_vector, size_t initialization_vector_size, const uint8_t *input_data, size_t input_data_size, uint8_t *output_data, size_t output_data_size, libcaes_error_t **error);

int

libcaes_crypt_ccm(libcaes_context_t *context, int mode, const uint8_t *nonce, size_t nonce_size, const uint8_t *input_data, size_t input_data_size, uint8_t *output_data, size_t output_data_size, libcaes_error_t **error);

int

libcaes_crypt_ecb(libcaes_context_t *context, int mode, const uint8_t *input_data, size_t input_data_size, uint8_t *output_data, size_t output_data_size, libcaes_error_t **error);

Tweaked context functions

int

libcaes_tweaked_context_initialize(libcaes_tweaked_context_t **tweaked_context, libcaes_error_t **error);

int

libcaes_tweaked_context_free(libcaes_tweaked_context_t **tweaked_context, libcaes_error_t **error);

int

libcaes_tweaked_context_set_keys(libcaes_tweaked_context_t *tweaked_context, int mode, const uint8_t *key, size_t key_bit_size, const uint8_t *tweak_key, size_t tweak_key_bit_size, libcaes_error_t **error);

int

libcaes_crypt_xts(libcaes_tweaked_context_t *tweaked_context, int mode, const uint8_t *tweak_value, size_t tweak_value_size, const uint8_t *input_data, size_t input_data_size, uint8_t *output_data, size_t output_data_size, libcaes_error_t **error);

DESCRIPTION

The libcaes_get_version() function is used to retrieve the library version.

RETURN VALUES

Most of the functions return NULL or -1 on error, dependent on the return type. For the actual return values see "libcaes.h".

ENVIRONMENT

None

FILES

None

BUGS

Please report bugs of any kind on the project issue tracker: https://github.com/libyal/libcaes/issues

AUTHOR

These man pages are generated from "libcaes.h".

COPYRIGHT

Copyright (C) 2011-2024, Joachim Metz <[email protected]>.

This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

SEE ALSO

the libcaes.h include file