28#ifndef GNUNET_SECRETSHARING_PROTOCOL_H
29#define GNUNET_SECRETSHARING_PROTOCOL_H
commonly used definitions; globals in this file are exempt from the rule that the module name ("commo...
Constants for network protocols.
#define GNUNET_NETWORK_STRUCT_BEGIN
Define as empty, GNUNET_PACKED should suffice, but this won't work on W32.
#define GNUNET_CRYPTO_PAILLIER_BITS
Size of paillier plain texts and public keys.
#define GNUNET_NETWORK_STRUCT_END
Define as empty, GNUNET_PACKED should suffice, but this won't work on W32;.
#define GNUNET_PACKED
gcc-ism to get packed structs.
#define GNUNET_SECRETSHARING_ELGAMAL_BITS
Number of bits for secretsharing elements.
messages used for the secretsharing api
header of what an ECC signature signs this must be followed by "size - 8" bytes of the actual signed ...
an ECC signature using EdDSA.
The identity of the host (wraps the signing key of the peer).
Data of then element put in consensus for decrypting a value.
struct GNUNET_CRYPTO_EddsaSignature signature
struct GNUNET_SECRETSHARING_FieldElement nizk_commit1
Commitment for the non-interactive zero knowledge proof.
struct GNUNET_CRYPTO_EccSignaturePurpose purpose
struct GNUNET_SECRETSHARING_FieldElement partial_decryption
Partial decryption, computed as .
struct GNUNET_PeerIdentity peer
Peer that inserts this element.
struct GNUNET_SECRETSHARING_Ciphertext ciphertext
Ciphertext we want to decrypt.
struct GNUNET_SECRETSHARING_FieldElement nizk_commit2
Commitment for the non-interactive zero knowledge proof.
struct GNUNET_SECRETSHARING_FieldElement nizk_response
Response to the challenge computed from the protocol transcript.
char t1[GNUNET_SECRETSHARING_ELGAMAL_BITS/8]
char z[GNUNET_SECRETSHARING_ELGAMAL_BITS/8]
char w[GNUNET_CRYPTO_PAILLIER_BITS/8]
struct GNUNET_CRYPTO_PaillierCiphertext c
char h[GNUNET_SECRETSHARING_ELGAMAL_BITS/8]
h = g^x, where x is the fairly encrypted secret.
char t2[GNUNET_CRYPTO_PAILLIER_BITS *2/8]
Consensus element data used in the first round of key generation.
struct GNUNET_PeerIdentity peer
Peer that inserts this element.
struct GNUNET_HashCode commitment
Commitment of 'peer' to its presecret.
struct GNUNET_CRYPTO_PaillierPublicKey pubkey
Ephemeral paillier public key used by 'peer' for this session.
struct GNUNET_CRYPTO_EddsaSignature signature
Signature over the rest of the message.
struct GNUNET_CRYPTO_EccSignaturePurpose purpose
Signature purpose for signing the keygen commit data.
struct GNUNET_CRYPTO_EccSignaturePurpose purpose
struct GNUNET_CRYPTO_EddsaSignature signature
Signature over rest of the message.
struct GNUNET_PeerIdentity peer
Peer that inserts this element.