From 46f22621759d388f7cef4bf0d2ac03667a5d611e Mon Sep 17 00:00:00 2001 From: Dennis Brentjes Date: Mon, 7 Nov 2016 12:53:59 +0100 Subject: prepares the api for sending and mixing messages in the realtime phase. --- libcmix/cmix.h | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'libcmix/cmix.h') diff --git a/libcmix/cmix.h b/libcmix/cmix.h index 433c3bc..7442369 100644 --- a/libcmix/cmix.h +++ b/libcmix/cmix.h @@ -78,6 +78,7 @@ struct CMixContext { GroupElement* s; unsigned int* permutation; GroupElement* pirs; + GroupElement* messages; }; struct CMixContext initialize_cmix_context(struct Api api); @@ -94,6 +95,8 @@ enum cmix_error start_mix(struct CMixContext* ctx, size_t nr_participants); enum cmix_error initialize_mix_randomness(struct CMixContext* ctx); +enum cmix_error generate_random_message(struct CMixContext* ctx, size_t index); + size_t get_group_element_array_size(struct CMixContext const* ctx); enum cmix_error set_network_key(struct CMixContext* ctx, char const* buffer, size_t len); @@ -104,9 +107,15 @@ enum cmix_error encrypt_r_and_multiply(struct CMixContext const* ctx, char* rand enum cmix_error multiply_s(struct CMixContext const* ctx, char* r_out_buffer, char* m_out_buffer, char const* r_in_buffer, char const* m_in_buffer, size_t index); -enum cmix_error key_exchange(struct CMixContext const* ctx, GroupElement* shared_key, char* public_key_buffer, char* exhange_value_buffer, char const* pubkey, char const* value); +enum cmix_error get_key_exchange_value(struct CMixContext const* ctx, char* buffer, GroupElement priv_element); + +enum cmix_error key_exchange_init(struct CMixContext const* ctx, char* pubkey_buffer, char* value_buffer, GroupElement* secret_value); + +enum cmix_error key_exchange_responder(struct CMixContext const* ctx, GroupElement* shared_key, char* public_key_buffer, char* exhange_value_buffer, char const* pubkey, char const* value); + +enum cmix_error key_exchange_initiator(struct CMixContext const* ctx, GroupElement* shared_key, char const* pubkey, char const* value, GroupElement priv_el); -enum cmix_error post_process(struct CMixContext* ctx, char const* r_epirs, char const* m_epirs, size_t index); +enum cmix_error post_process(struct CMixContext* ctx, char* r_out, char* m_out, char const* r_epirs, char const* m_epirs, size_t index); #ifdef __cplusplus } // extern "C" -- cgit v1.2.3-70-g09d2