aboutsummaryrefslogtreecommitdiff
path: root/libcmix/cmix.h
diff options
context:
space:
mode:
Diffstat (limited to 'libcmix/cmix.h')
-rw-r--r--libcmix/cmix.h13
1 files changed, 11 insertions, 2 deletions
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"