wickr-crypto-c
Data Fields
wickr_crypto_engine Struct Reference

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)
 
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: