wickr-crypto-c

Data Fields
wickr_crypto_engine Struct Reference
Wickr_crypto_engine

Interface to a set of cryptographic operations used throughout the library. Currently the default implementation of this can be found along with documentation in openssl_suite.h and kdf.h. More...

`#include <crypto_engine.h>`

## Data Fields
wickr_ec_curve_t | default_curve
wickr_cipher_t | default_cipher
wickr_buffer_t *(* | wickr_crypto_engine_crypto_random )(size_t len)
wickr_cipher_key_t *(* | wickr_crypto_engine_cipher_key_random )(wickr_cipher_t cipher)
wickr_cipher_result_t *(* | wickr_crypto_engine_cipher_encrypt )(const wickr_buffer_t *plaintext, const wickr_buffer_t *aad, const wickr_cipher_key_t *key, const wickr_buffer_t *iv)
wickr_buffer_t *(* | wickr_crypto_engine_cipher_decrypt )(const wickr_cipher_result_t *cipher_result, const wickr_buffer_t *aad, const wickr_cipher_key_t *key, bool only_auth_ciphers)
bool(* | wickr_crypto_engine_encrypt_file )(const wickr_cipher_key_t *key, const char *sourceFilePath, const char *destinationFilePath)
bool(* | wickr_crypto_engine_decrypt_file )(const wickr_cipher_key_t *key, const char *sourceFilePath, const char *destinationFilePath, bool only_auth_ciphers)
bool(* | wickr_crypto_engine_encrypt_ofile )(FILE *fin, const wickr_cipher_key_t *key, FILE *fout)
bool(* | wickr_crypto_engine_decrypt_ofile )(FILE *fin, const wickr_cipher_key_t *key, FILE *fout, bool only_auth_ciphers)
wickr_buffer_t *(* | wickr_crypto_engine_digest )(const wickr_buffer_t *buffer, const wickr_buffer_t *salt, wickr_digest_t digest_mode)
wickr_buffer_t *(* | wickr_crypto_engine_digest_file )(FILE *in_file, const wickr_digest_t mode)
wickr_ec_key_t *(* | wickr_crypto_engine_ec_rand_key )(wickr_ec_curve_t curve)
wickr_ec_key_t *(* | wickr_crypto_engine_ec_key_import )(const wickr_buffer_t *buffer, bool is_private)
wickr_ecdsa_result_t *(* | wickr_crypto_engine_ec_sign )(const wickr_ec_key_t *ec_signing_key, const wickr_buffer_t *data_to_sign, const wickr_digest_t digest_mode)
bool(* | wickr_crypto_engine_ec_verify )(const wickr_ecdsa_result_t *signature, const wickr_ec_key_t *ec_public_key, const wickr_buffer_t *data_to_verify)
wickr_buffer_t *(* | wickr_crypto_engine_gen_shared_secret )(const wickr_ec_key_t *local, const wickr_ec_key_t *peer)
wickr_buffer_t *(* | wickr_crypto_engine_hmac_create )(const wickr_buffer_t *data, const wickr_buffer_t *hmac_key, wickr_digest_t digest_mode)
bool(* | wickr_crypto_engine_hmac_verify )(const wickr_buffer_t *data, const wickr_buffer_t *hmac_key, const wickr_digest_t mode, const wickr_buffer_t *expected)
wickr_kdf_result_t *(* | wickr_crypto_kdf_gen )(wickr_kdf_algo_t algo, const wickr_buffer_t *passphrase)
wickr_kdf_result_t *(* | wickr_crypto_kdf_meta )(const wickr_kdf_meta_t *existing_meta, const wickr_buffer_t *passphrase)

## Detailed Description

Interface to a set of cryptographic operations used throughout the library. Currently the default implementation of this can be found along with documentation in openssl_suite.h and kdf.h.

## Field Documentation

## ◆ default_cipher

wickr_crypto_engine::default_cipher

the cipher to use by default for packets, local, and remote information

## ◆ default_curve

wickr_crypto_engine::default_curve

the curve to use when generating packets, message keys or a new context

The documentation for this struct was generated from the following file:

- src/wickrcrypto/include/wickrcrypto/crypto_engine.h