aboutsummaryrefslogtreecommitdiff
path: root/libcmix/cmix.c
diff options
context:
space:
mode:
authorDennis Brentjes <d.brentjes@gmail.com>2016-11-28 15:48:59 +0100
committerDennis Brentjes <d.brentjes@gmail.com>2016-11-28 15:48:59 +0100
commita4a912873058e50060561c21e965b4fec1d9b08b (patch)
tree564432cf3f760483a9acfa64f109f5f42be469c1 /libcmix/cmix.c
parentb8d2fe28870d1f54aad1fd9fce04e57caa85ba0b (diff)
downloadcmix-a4a912873058e50060561c21e965b4fec1d9b08b.tar.gz
cmix-a4a912873058e50060561c21e965b4fec1d9b08b.tar.bz2
cmix-a4a912873058e50060561c21e965b4fec1d9b08b.zip
Cleans up and documents the whole cmix protocol.
Diffstat (limited to 'libcmix/cmix.c')
-rw-r--r--libcmix/cmix.c28
1 files changed, 14 insertions, 14 deletions
diff --git a/libcmix/cmix.c b/libcmix/cmix.c
index 2311bea..f8a40b6 100644
--- a/libcmix/cmix.c
+++ b/libcmix/cmix.c
@@ -143,14 +143,14 @@ size_t get_group_element_array_size(struct CMixContext const* ctx) {
return ctx->api.get_group_element_array_size();
}
-enum cmix_error set_network_key(struct CMixContext* ctx, char const* buffer, size_t len) {
- ctx->network_key = ctx->api.array_to_element(buffer, len, true);
+enum cmix_error set_network_key(struct CMixContext* ctx, char const* buffer) {
+ ctx->network_key = ctx->api.array_to_element(buffer, get_group_element_array_size(ctx), true);
return no_error;
}
-enum cmix_error encrypt_r(struct CMixContext const* ctx, char** random_buffer, char** message_buffer, size_t nr_elements) {
+enum cmix_error encrypt_r(struct CMixContext const* ctx, char** random_buffer, char** message_buffer) {
- for(size_t i = 0; i < nr_elements; ++i) {
+ for(size_t i = 0; i < ctx->nr_participants; ++i) {
GroupElement random_element;
GroupElement message_element;
@@ -166,9 +166,9 @@ enum cmix_error encrypt_r(struct CMixContext const* ctx, char** random_buffer, c
return no_error;
}
-enum cmix_error encrypt_r_and_multiply(struct CMixContext const* ctx, char** random_buffer, char** message_buffer, const char** random_element, const char** message_element, size_t nr_elements) {
+enum cmix_error encrypt_r_and_multiply(struct CMixContext const* ctx, char** random_buffer, char** message_buffer, const char** random_element, const char** message_element) {
- for(size_t i = 0; i < nr_elements; ++i) {
+ for(size_t i = 0; i < ctx->nr_participants; ++i) {
GroupElement enc_random_element;
GroupElement enc_message_element;
@@ -196,10 +196,10 @@ enum cmix_error encrypt_r_and_multiply(struct CMixContext const* ctx, char** ran
return no_error;
}
-enum cmix_error permute_and_multiply_encrypted_s(struct CMixContext const* ctx, char** random_buffer, char** message_buffer, char const** random_element, char const** message_element, size_t nr_elements) {
+enum cmix_error permute_and_multiply_encrypted_s(struct CMixContext const* ctx, char** random_buffer, char** message_buffer, char const** random_element, char const** message_element) {
size_t el_size = get_group_element_array_size(ctx);
- for(size_t i = 0; i < nr_elements; ++i) {
+ for(size_t i = 0; i < ctx->nr_participants; ++i) {
unsigned int new_pos = ctx->permutation[i];
GroupElement random_r = ctx->api.array_to_element(random_element[i], el_size, true);
GroupElement message_r = ctx->api.array_to_element(message_element[i], el_size, true);
@@ -226,10 +226,10 @@ enum cmix_error permute_and_multiply_encrypted_s(struct CMixContext const* ctx,
return no_error;
}
-enum cmix_error permute_and_multiply_s(struct CMixContext const* ctx, char** out_buffer, char const** message, size_t nr_elements) {
+enum cmix_error permute_and_multiply_s(struct CMixContext const* ctx, char** out_buffer, char const** message) {
size_t el_size = get_group_element_array_size(ctx);
- for(size_t i = 0; i < nr_elements; ++i) {
+ for(size_t i = 0; i < ctx->nr_participants; ++i) {
unsigned int new_pos = ctx->permutation[i];
GroupElement message_el = ctx->api.array_to_element(message[i], el_size, false);
@@ -296,8 +296,8 @@ enum cmix_error key_exchange_initiator(struct CMixContext const* ctx, GroupEleme
return no_error;
}
-enum cmix_error post_process(struct CMixContext* ctx, char** r_out, char** m_out, const char** r_epirs, const char** m_epirs, size_t nr_elements) {
- for(size_t i = 0; i < nr_elements; ++i) {
+enum cmix_error post_process(struct CMixContext* ctx, char** r_out, char** m_out, const char** r_epirs, const char** m_epirs) {
+ for(size_t i = 0; i < ctx->nr_participants; ++i) {
GroupElement x = ctx->api.array_to_element(r_epirs[i], get_group_element_array_size(ctx), true);
GroupElement D = ctx->api.get_decryption_share(x, ctx->keypair.sec);
@@ -338,10 +338,10 @@ enum cmix_error blind_message(struct CMixContext const* ctx, char* m_out, char c
return no_error;
}
-enum cmix_error swap_k_for_r(struct CMixContext const* ctx, char** out_buffer, const char** message, const GroupElement* key, size_t nr_elements) {
+enum cmix_error swap_k_for_r(struct CMixContext const* ctx, char** out_buffer, const char** message, const GroupElement* key) {
size_t len = get_group_element_array_size(ctx);
- for(size_t i = 0; i < nr_elements; ++i) {
+ for(size_t i = 0; i < ctx->nr_participants; ++i) {
GroupElement mes = ctx->api.array_to_element(message[i], len, false);
GroupElement inv_key = ctx->api.invert(key[i]);