diff options
| author | Dennis Brentjes <d.brentjes@gmail.com> | 2016-11-12 13:48:30 +0100 |
|---|---|---|
| committer | Dennis Brentjes <d.brentjes@gmail.com> | 2016-11-12 13:48:30 +0100 |
| commit | f93d52bbd0053574fb35d72b85c4b299dc1f3ee5 (patch) | |
| tree | 4a2120a162ce9161d70074fd9ffa3ed21d80a40e /libcmix/cmix.h | |
| parent | 8ff9babe2da4a2efc8529e800a6093fbd0327286 (diff) | |
| download | cmix-f93d52bbd0053574fb35d72b85c4b299dc1f3ee5.tar.gz cmix-f93d52bbd0053574fb35d72b85c4b299dc1f3ee5.tar.bz2 cmix-f93d52bbd0053574fb35d72b85c4b299dc1f3ee5.zip | |
Fixes decryption share calculation, adds lots of debugging statements.
Diffstat (limited to 'libcmix/cmix.h')
| -rw-r--r-- | libcmix/cmix.h | 19 |
1 files changed, 16 insertions, 3 deletions
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 |
