#include "curve25519.h" #include #include void null_curve25519_initialize(void){} struct KeyPair null_curve25519_create_keypair(void) { return (struct KeyPair){ NULL, NULL, }; } void null_curve25519_delete_keypair(struct KeyPair* p) {} void null_curve25519_get_key_array(char** buffer, size_t* len, void* key) {} void null_curve25519_add_public_share(char** buffer, size_t* len_out, char const* share, size_t in_len, void* pubkey) {} void null_curve25519_shared_key_deleter(struct SharedKey* s) {} GroupElement null_curve25519_derive_shared_key(struct KeyPair keypair, unsigned char const* other_pub, size_t pub_len, unsigned char const* value, size_t value_len, void* priv_value, bool swap) { return NULL; } void null_curve25519_deinitialize(void){} Initializer curve25519_initialize = &null_curve25519_initialize; KeyPairCreator curve25519_create_keypair = &null_curve25519_create_keypair; KeyPairDeleter curve25519_delete_keypair = &null_curve25519_delete_keypair; ElementToArray curve25519_element_to_array = NULL;//&null_curve25519_element_to_array; BufferDeleter curve25519_free_buffer = NULL;//&null_curve25519_free_buffer; ArrayToElement curve25519_array_to_element = NULL;//&null_curve25519_array_to_element; GroupElementGetter curve25519_get_group_element = NULL;//&null_curve25519_get_group_element; GroupElementDeleter curve25519_delete_group_element = NULL;//&null_curve25519_delete_group_element; KeyExchangeValueGetter curve25519_get_key_exchange_value = NULL;//&null_curve25519_get_key_exchange_value; GroupElementCombiner curve25519_multiply = NULL;//&null_curve25519_multiply; DecryptionShareGetter curve25519_get_decryption_share = NULL;//&null_curve25519_get_decryption_share; GroupElementArraySizeGetter curve25519_get_group_element_array_size = NULL;//&null_curve25519_get_group_element_array_size; PublicShareAdder curve25519_add_public_share = NULL;//&null_curve25519_add_public_share; SharedKeyDeriver curve25519_derive_shared_key = &null_curve25519_derive_shared_key; SharedKeyDeleter curve25519_delete_shared_key = NULL;//&null_curve25519_delete_shared_key; Encrypter curve25519_encrypt = NULL;//&null_curve25519_encrypt; Deinitializer curve25519_deinitialize = &null_curve25519_deinitialize;