aboutsummaryrefslogtreecommitdiff
path: root/src/secretsharing/secretsharing_protocol.h
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2014-01-07 00:14:11 +0000
committerFlorian Dold <florian.dold@gmail.com>2014-01-07 00:14:11 +0000
commit6a86f1fc448e219364d547d167d0a655eff2b531 (patch)
tree681e2a680f33f40da4d2235089946a9e4aa0089a /src/secretsharing/secretsharing_protocol.h
parent4d1b8809fe1df0f2524abc0e65f2f770c88adbdf (diff)
downloadgnunet-6a86f1fc448e219364d547d167d0a655eff2b531.tar.gz
gnunet-6a86f1fc448e219364d547d167d0a655eff2b531.zip
- profiler actually added to svn
- test for signature segfault with secretsharing - rudimentary implementation of cooperative decryption - consensus uses absolute time instead of relative - working DKG without zero knowledge proofs
Diffstat (limited to 'src/secretsharing/secretsharing_protocol.h')
-rw-r--r--src/secretsharing/secretsharing_protocol.h45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/secretsharing/secretsharing_protocol.h b/src/secretsharing/secretsharing_protocol.h
index 470002f10..3778ade41 100644
--- a/src/secretsharing/secretsharing_protocol.h
+++ b/src/secretsharing/secretsharing_protocol.h
@@ -31,6 +31,7 @@
31#include "platform.h" 31#include "platform.h"
32#include "gnunet_common.h" 32#include "gnunet_common.h"
33#include "gnunet_protocols.h" 33#include "gnunet_protocols.h"
34#include "secretsharing.h"
34 35
35/** 36/**
36 * Bit length used for the Paillier crypto system. 37 * Bit length used for the Paillier crypto system.
@@ -113,6 +114,50 @@ struct GNUNET_SECRETSHARING_KeygenRevealData
113 /* values follow */ 114 /* values follow */
114}; 115};
115 116
117
118/**
119 * Data of then element put in consensus
120 * for decrypting a value.
121 */
122struct GNUNET_SECRETSHARING_DecryptData
123{
124 /*
125 * Signature over rest of the message.
126 */
127 struct GNUNET_CRYPTO_EddsaSignature signature;
128 /*
129 * Signature purpose for signing the keygen commit data.
130 */
131 struct GNUNET_CRYPTO_EccSignaturePurpose purpose;
132 /**
133 * Ciphertext we want to decrypt.
134 */
135 struct GNUNET_SECRETSHARING_Ciphertext ciphertext;
136 /**
137 * Peer that inserts this element.
138 */
139 struct GNUNET_PeerIdentity peer;
140 /**
141 * Partial decryption, computed as c_1^{s_i}
142 */
143 struct GNUNET_SECRETSHARING_FieldElement partial_decryption;
144 /**
145 * Commitment for the non-interactive zero knowledge proof.
146 * g^\beta, with \beta < q
147 */
148 struct GNUNET_SECRETSHARING_FieldElement nizk_commit1;
149 /**
150 * Commitment for the non-interactive zero knowledge proof.
151 * c_1^\beta, with \beta < q
152 */
153 struct GNUNET_SECRETSHARING_FieldElement nizk_commit2;
154 /**
155 * Reponse to the challenge computed from the protocol transcript.
156 * r = \beta + challenge \cdot share_i
157 */
158 struct GNUNET_SECRETSHARING_FieldElement nizk_response;
159};
160
116GNUNET_NETWORK_STRUCT_END 161GNUNET_NETWORK_STRUCT_END
117 162
118#endif 163#endif