libcaes(3)

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-2025, Joachim Metz <joachim.metz@gmail.com>.

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