diff options
author | Florian Dold <florian.dold@gmail.com> | 2014-01-07 00:14:11 +0000 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2014-01-07 00:14:11 +0000 |
commit | 6a86f1fc448e219364d547d167d0a655eff2b531 (patch) | |
tree | 681e2a680f33f40da4d2235089946a9e4aa0089a /src/secretsharing/secretsharing_protocol.h | |
parent | 4d1b8809fe1df0f2524abc0e65f2f770c88adbdf (diff) | |
download | gnunet-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.h | 45 |
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 | */ | ||
122 | struct 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 | |||
116 | GNUNET_NETWORK_STRUCT_END | 161 | GNUNET_NETWORK_STRUCT_END |
117 | 162 | ||
118 | #endif | 163 | #endif |