-improve UDP logging
[oweals/gnunet.git] / src / secretsharing / secretsharing_protocol.h
index b8904ca242d321e0fc65f2a0ccfe093269edc31d..5438b14d4559867e73f495158987ce368112bf47 100644 (file)
@@ -1,6 +1,6 @@
 /*
       This file is part of GNUnet
-      (C) 2012 Christian Grothoff (and other contributing authors)
+      Copyright (C) 2012 Christian Grothoff (and other contributing authors)
 
       GNUnet is free software; you can redistribute it and/or modify
       it under the terms of the GNU General Public License as published
 #include "gnunet_protocols.h"
 #include "secretsharing.h"
 
-/**
- * Bit length used for the Paillier crypto system.
- */
-#define PAILLIER_BITS 2048
 
 GNUNET_NETWORK_STRUCT_BEGIN
 
 
-/**
- * Public key for the Paillier crypto system.
- */
-struct PaillierPublicKey
-{
-  /**
-   * Network order representation of the
-   * g-component.
-   */
-  uint32_t g[PAILLIER_BITS / 8 / sizeof (uint32_t)];
-
-  /**
-   * Network order representation of the
-   * n-component.
-   */
-  uint32_t n[PAILLIER_BITS / 8 / sizeof (uint32_t)];
-};
-
-
 /**
  * Consensus element data used in the first round of key generation.
  */
@@ -81,7 +58,7 @@ struct GNUNET_SECRETSHARING_KeygenCommitData
    * Ephemeral paillier public key used by 'peer' for
    * this session.
    */
-  struct PaillierPublicKey pubkey GNUNET_PACKED;
+  struct GNUNET_CRYPTO_PaillierPublicKey pubkey;
   /**
    * Commitment of 'peer' to his presecret.
    */
@@ -151,6 +128,20 @@ struct GNUNET_SECRETSHARING_DecryptData
   struct GNUNET_SECRETSHARING_FieldElement nizk_response;
 };
 
+
+struct GNUNET_SECRETSHARING_FairEncryption
+{
+  struct GNUNET_CRYPTO_PaillierCiphertext c;
+  /**
+   * h = g^x, where x is the fairly encrypte secret.
+   */
+  char h[GNUNET_SECRETSHARING_ELGAMAL_BITS / 8];
+  char t1[GNUNET_SECRETSHARING_ELGAMAL_BITS / 8];
+  char t2[GNUNET_CRYPTO_PAILLIER_BITS * 2 / 8];
+  char z[GNUNET_SECRETSHARING_ELGAMAL_BITS / 8];
+  char w[GNUNET_CRYPTO_PAILLIER_BITS / 8];
+};
+
 GNUNET_NETWORK_STRUCT_END
 
 #endif