Scroll to navigation

LIBCAES(3) Library Functions Manual LIBCAES(3)

NAME

libcaes.hLibrary 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_ctr_only( 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 () 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

SEE ALSO

<libcaes.h>

AUTHORS

Joachim Metz <joachim.metz@gmail.com>

BUGS

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

COPYRIGHT

Copyright (C) 2011-2026, 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.

September 5, 2026 Linux 6.12.0-160000.37-default