From f93d52bbd0053574fb35d72b85c4b299dc1f3ee5 Mon Sep 17 00:00:00 2001 From: Dennis Brentjes Date: Sat, 12 Nov 2016 13:48:30 +0100 Subject: Fixes decryption share calculation, adds lots of debugging statements. --- libcmix/cmix.h | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) (limited to 'libcmix/cmix.h') diff --git a/libcmix/cmix.h b/libcmix/cmix.h index 33b99d2..ba0b826 100644 --- a/libcmix/cmix.h +++ b/libcmix/cmix.h @@ -78,9 +78,12 @@ struct CMixContext { GroupElement* s; unsigned int* permutation; GroupElement* pirs; - GroupElement* messages; }; +#ifndef NDEBUG +void element_to_buffer(struct CMixContext const* ctx, char* buffer, GroupElement const element); +#endif + struct CMixContext initialize_cmix_context(struct Api api); void deinitialize(struct CMixContext* ctx); @@ -95,7 +98,7 @@ 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); +enum cmix_error generate_random_message(struct CMixContext* ctx, char* buffer); size_t get_group_element_array_size(struct CMixContext const* ctx); @@ -105,7 +108,9 @@ enum cmix_error encrypt_r(struct CMixContext const* ctx, char* random_buffer, ch enum cmix_error encrypt_r_and_multiply(struct CMixContext const* ctx, char* random_buffer, char* message_buffer, char const* random_element, char const* message_element, size_t index); -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 multiply_encrypted_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 multiply_s(struct CMixContext const* ctx, char* out_buffer, char const* message, size_t index); enum cmix_error get_key_exchange_value(struct CMixContext const* ctx, char* buffer, GroupElement priv_element); @@ -119,6 +124,14 @@ enum cmix_error post_process(struct CMixContext* ctx, char* r_out, char* m_out, enum cmix_error blind_message(struct CMixContext const* ctx, char* m_out, char const* message, GroupElement const* keys, size_t const nr_nodes); +enum cmix_error enqueue_message(struct CMixContext* ctx, char const* message, size_t index); + +enum cmix_error enqueue_random_message(struct CMixContext* ctx, size_t index); + +enum cmix_error swap_k_for_r(struct CMixContext const* ctx, char* out_buffer, char const* message, GroupElement const key, size_t index); + +enum cmix_error remove_r_and_s(struct CMixContext const* ctx, char* out_buffer, char const* message, size_t index); + #ifdef __cplusplus } // extern "C" #endif -- cgit v1.2.3-70-g09d2