#pragma once /*! * \file */ #ifdef __cplusplus extern "C" { #endif #include "api.h" extern Initializer elgamal_initialize; extern KeyPairCreator elgamal_create_keypair; extern KeyPairDeleter elgamal_delete_keypair; extern ElementToArray elgamal_element_to_array; extern BufferDeleter elgamal_free_buffer; extern ArrayToElement elgamal_array_to_element; extern GroupElementGetter elgamal_get_group_element; extern GroupElementDeleter elgamal_delete_group_element; extern KeyExchangeValueGetter elgamal_get_key_exchange_value; extern GroupElementMultiplier elgamal_multiply; extern PublicShareAdder elgamal_add_public_share; extern SharedKeyDeriver elgamal_derive_shared_key; extern SharedKeyDeleter elgamal_delete_shared_key; extern Encrypter elgamal_encrypt; extern Deinitializer elgamal_deinitialize; /*! * \brief get_elgamal_implementation * \return */ struct Api get_elgamal_implementation(); #ifdef __cplusplus } #endif