diff options
| author | Dennis Brentjes <d.brentjes@gmail.com> | 2016-11-28 15:48:59 +0100 |
|---|---|---|
| committer | Dennis Brentjes <d.brentjes@gmail.com> | 2016-11-28 15:48:59 +0100 |
| commit | a4a912873058e50060561c21e965b4fec1d9b08b (patch) | |
| tree | 564432cf3f760483a9acfa64f109f5f42be469c1 /node | |
| parent | b8d2fe28870d1f54aad1fd9fce04e57caa85ba0b (diff) | |
| download | cmix-a4a912873058e50060561c21e965b4fec1d9b08b.tar.gz cmix-a4a912873058e50060561c21e965b4fec1d9b08b.tar.bz2 cmix-a4a912873058e50060561c21e965b4fec1d9b08b.zip | |
Cleans up and documents the whole cmix protocol.
Diffstat (limited to 'node')
| -rw-r--r-- | node/node.cpp | 15 | ||||
| -rw-r--r-- | node/node.hpp | 6 | ||||
| -rw-r--r-- | node/node_node.cpp | 19 |
3 files changed, 24 insertions, 16 deletions
diff --git a/node/node.cpp b/node/node.cpp index b31f60a..c17fe4f 100644 --- a/node/node.cpp +++ b/node/node.cpp @@ -202,14 +202,22 @@ void Node::start_precomputation() { if(encrypt_r( &cmix_ctx, r_er.data(), - m_er.data(), - cmix_ctx.nr_participants + m_er.data() ) != no_error) { exit(-1); } BOOST_LOG_TRIVIAL(trace) << "Sending prepre message: " << prepre.ShortDebugString(); next_node.async_send(prepre); + + auto it = messages.cbegin(); + while(it != messages.cend()) { + if(it->second.empty()) { + it = messages.erase(it); + } else { + ++it; + } + } } void Node::start_realtime_phase() { @@ -251,8 +259,7 @@ void Node::start_realtime_phase() { &cmix_ctx, ms.data(), msv.data(), - keys.data(), - index_map.size() + keys.data() ); for(auto&& pair : index_map) { diff --git a/node/node.hpp b/node/node.hpp index 5365c9f..a058916 100644 --- a/node/node.hpp +++ b/node/node.hpp @@ -22,6 +22,12 @@ */ #ifndef NDEBUG +/*! + * \brief to_string Debug function that turns a groupelement to a string. + * \param el element to convert. + * \param ctx The context to use. + * \return The string containing the binary data of the array representation of the groupelement + */ inline std::string to_string(GroupElement el, CMixContext const& ctx) { std::string ret; ret.resize(get_group_element_array_size(&ctx)); diff --git a/node/node_node.cpp b/node/node_node.cpp index 00968a0..d859da9 100644 --- a/node/node_node.cpp +++ b/node/node_node.cpp @@ -44,8 +44,7 @@ cmix_proto::PrePre fill_precomputation_pre_message(CMixContext& ctx, T const& rs r_ers.data(), m_ers.data(), rsv.data(), - msv.data(), - ms.size() + msv.data() ) != no_error) { exit(-1); } @@ -80,8 +79,7 @@ cmix_proto::PreMix fill_precomputation_mix_message(CMixContext const& ctx, T con r_epirs.data(), m_epirs.data(), rsv.data(), - msv.data(), - ms.size() + msv.data() ); return premix; } @@ -114,8 +112,7 @@ cmix_proto::PrePost fill_precomputation_post_message(CMixContext& ctx, T const& r_epirs.data(), m_epirs.data(), rsv.data(), - msv.data(), - ms.size() + msv.data() ); return prepost; @@ -147,8 +144,7 @@ cmix_proto::RealPre fill_realtime_pre_message(CMixContext& ctx, T const& hs, T c &ctx, msv1.data(), msv2.data(), - gs.data(), - ms.size() + gs.data() ); return realpre; @@ -172,8 +168,7 @@ cmix_proto::RealMix fill_realtime_mix_message(CMixContext& ctx, T const& ms) { permute_and_multiply_s( &ctx, mv.data(), - msv.data(), - ms.size() + msv.data() ); return realmix; @@ -182,7 +177,7 @@ cmix_proto::RealMix fill_realtime_mix_message(CMixContext& ctx, T const& ms) { void Node::handle_node_initialization(const cmix_proto::Initialization& init) { if(network_settings.is_first) { - set_network_key(&cmix_ctx, init.public_share().data(), init.public_share().size()); + set_network_key(&cmix_ctx, init.public_share().data()); cmix_proto::SecretKey sec; sec.set_secret_key(init.public_share().data(), init.public_share().size()); @@ -207,7 +202,7 @@ void Node::handle_node_secretkey(cmix_proto::SecretKey const& secret) if(network_settings.is_first) { start_timer_delayed_mix(); } else { - set_network_key(&cmix_ctx, secret.secret_key().data(), secret.secret_key().size()); + set_network_key(&cmix_ctx, secret.secret_key().data()); next_node.async_send(secret); } } |
