[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r28816 - in gnunet: . src src/include src/scalarproduct
From: |
gnunet |
Subject: |
[GNUnet-SVN] r28816 - in gnunet: . src src/include src/scalarproduct |
Date: |
Fri, 23 Aug 2013 15:39:32 +0200 |
Author: grothoff
Date: 2013-08-23 15:39:32 +0200 (Fri, 23 Aug 2013)
New Revision: 28816
Added:
gnunet/src/include/gnunet_scalarproduct_service.h
gnunet/src/scalarproduct/
gnunet/src/scalarproduct/vectorproduct.conf
Removed:
gnunet/src/include/gnunet_vectorproduct_service.h
Modified:
gnunet/configure.ac
gnunet/src/Makefile.am
gnunet/src/include/Makefile.am
gnunet/src/scalarproduct/gnunet-service-vectorproduct.c
Log:
-starting to rename vectorproduct to scalarproduct, as this is not doing a
cross product
Modified: gnunet/configure.ac
===================================================================
--- gnunet/configure.ac 2013-08-23 13:34:27 UTC (rev 28815)
+++ gnunet/configure.ac 2013-08-23 13:39:32 UTC (rev 28816)
@@ -1291,10 +1291,11 @@
src/gns/gns.conf
src/gns/nss/Makefile
src/hello/Makefile
+src/identity/Makefile
+src/identity/identity.conf
src/include/Makefile
src/include/gnunet_directories.h
-src/identity/Makefile
-src/identity/identity.conf
+src/integration-tests/Makefile
src/hostlist/Makefile
src/lockmanager/Makefile
src/lockmanager/lockmanager.conf
@@ -1313,6 +1314,8 @@
src/pt/Makefile
src/regex/Makefile
src/regex/regex.conf
+src/scalarproduct/Makefile
+src/scalarproduct/vectorproduct.conf
src/set/Makefile
src/set/set.conf
src/statistics/Makefile
@@ -1329,9 +1332,6 @@
src/util/resolver.conf
src/vpn/Makefile
src/vpn/vpn.conf
-src/vectorproduct/Makefile
-src/vectorproduct/vectorproduct.conf
-src/integration-tests/Makefile
pkgconfig/Makefile
pkgconfig/gnunetats.pc
pkgconfig/gnunetarm.pc
Modified: gnunet/src/Makefile.am
===================================================================
--- gnunet/src/Makefile.am 2013-08-23 13:34:27 UTC (rev 28815)
+++ gnunet/src/Makefile.am 2013-08-23 13:39:32 UTC (rev 28816)
@@ -7,12 +7,12 @@
TESTBED = testbed
CONSENSUS = consensus
EXPERIMENTATION = experimentation
- VECTORPRODUCT = vectorproduct
+ SCALARPRODUCT = scalarproduct
endif
if HAVE_EXPERIMENTAL
EXP_DIR = dv $(CONSENSUS) $(EXPERIMENTATION)
-#note: vectorproduct is not being listed here yet as the crypto is being
reworked at the moment
+#note: scalarproduct is not being listed here yet as the crypto is being
reworked at the moment
endif
if HAVE_MYSQL
Modified: gnunet/src/include/Makefile.am
===================================================================
--- gnunet/src/include/Makefile.am 2013-08-23 13:34:27 UTC (rev 28815)
+++ gnunet/src/include/Makefile.am 2013-08-23 13:39:32 UTC (rev 28816)
@@ -70,6 +70,7 @@
gnunet_protocols.h \
gnunet_resolver_service.h \
gnunet_regex_service.h \
+ gnunet_scalarproduct_service.h \
gnunet_scheduler_lib.h \
gnunet_server_lib.h \
gnunet_service_lib.h \
Copied: gnunet/src/include/gnunet_scalarproduct_service.h (from rev 28812,
gnunet/src/include/gnunet_vectorproduct_service.h)
===================================================================
--- gnunet/src/include/gnunet_scalarproduct_service.h
(rev 0)
+++ gnunet/src/include/gnunet_scalarproduct_service.h 2013-08-23 13:39:32 UTC
(rev 28816)
@@ -0,0 +1,265 @@
+/*
+ This file is part of GNUnet.
+ (C) 2013 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
+ by the Free Software Foundation; either version 2, or (at your
+ option) any later version.
+
+ GNUnet is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with GNUnet; see the file COPYING. If not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+ */
+
+/**
+ * @file include/gnunet_vectorproduct_service.h
+ * @brief API to the vectorproduct service
+ * @author Christian M. Fuchs
+ * @author Gaurav Kukreja
+ */
+#ifndef GNUNET_VECTORPRODUCT_SERVICE_H
+#define GNUNET_VECTORPRODUCT_SERVICE_H
+#define GCRYPT_NO_DEPRECATED
+// including gcrypt crashes netbeans after the next restart...
+#include <gcrypt.h>
+
+#ifdef __cplusplus
+extern "C" {
+#if 0 /* keep Emacsens' auto-indent happy */
+}
+#endif
+#endif
+
+/**
+ * Version of the vectorproduct API.
+ */
+#define GNUNET_VECTORPRODUCT_VERSION 0x00000042
+
+/**
+ * Message type passed from client to service
+ * to initiate a request or responder role
+ */
+struct GNUNET_VECTORPRODUCT_client_request {
+ /**
+ * GNUNET message header
+ */
+ struct GNUNET_MessageHeader header;
+
+ /**
+ * how many elements the vector in payload contains
+ */
+ uint16_t element_count GNUNET_PACKED;
+
+ /**
+ * how many bytes the mask has
+ */
+ uint16_t mask_length GNUNET_PACKED;
+
+ /**
+ * the transaction/session key used to identify a session
+ */
+ struct GNUNET_HashCode key;
+
+ /**
+ * the identity of a remote peer we want to communicate with
+ */
+ struct GNUNET_PeerIdentity peer;
+
+ /**
+ * followed by long vector[element_count] | [unsigned char mask[mask_bytes]]
+ */
+};
+
+/**
+ * Message type passed from service client
+ * to finalize a session as requester or responder
+ */
+struct GNUNET_VECTORPRODUCT_client_response {
+ /**
+ * GNUNET message header
+ */
+ struct GNUNET_MessageHeader header;
+
+ /**
+ * 0 if no product attached
+ */
+ uint32_t product_length GNUNET_PACKED;
+
+ /**
+ * the transaction/session key used to identify a session
+ */
+ struct GNUNET_HashCode key;
+
+ /**
+ * the identity of a remote peer we want to communicate with
+ */
+ struct GNUNET_PeerIdentity peer;
+
+ /**
+ * followed by product of length product_length (or nothing)
+ */
+};
+
+enum GNUNET_VECTORPRODUCT_ResponseStatus {
+ GNUNET_VECTORPRODUCT_Status_Success = 0,
+ GNUNET_VECTORPRODUCT_Status_Failure,
+ GNUNET_VECTORPRODUCT_Status_Timeout,
+ GNUNET_VECTORPRODUCT_Status_InvalidResponse,
+ GNUNET_VECTORPRODUCT_Status_ServiceDisconnected
+};
+
+struct GNUNET_VECTORPRODUCT_Handle {
+ /**
+ * Our configuration.
+ */
+ const struct GNUNET_CONFIGURATION_Handle *cfg;
+
+ /**
+ * Current connection to the vectorproduct service.
+ */
+ struct GNUNET_CLIENT_Connection *client;
+
+ /**
+ * Handle for statistics.
+ */
+ struct GNUNET_STATISTICS_Handle *stats;
+
+ /**
+ * Current head of priority queue.
+ */
+ struct GNUNET_VECTORPRODUCT_QueueEntry *queue_head;
+
+ /**
+ * Current tail of priority queue.
+ */
+ struct GNUNET_VECTORPRODUCT_QueueEntry *queue_tail;
+
+ /**
+ * Are we currently trying to receive from the service?
+ */
+ int in_receive;
+
+ /**
+ * Current transmit handle.
+ */
+ struct GNUNET_CLIENT_TransmitHandle *th;
+
+ /**
+ * TODO: What else should/could go here?
+ */
+};
+
+typedef void (*GNUNET_VECTORPRODUCT_ResponseMessageHandler) (void *cls,
+ const struct GNUNET_MessageHeader *msg,
+ enum GNUNET_VECTORPRODUCT_ResponseStatus status);
+
+/**
+ * Continuation called to notify client about result of the
+ * operation.
+ *
+ * @param cls closure
+ * @param success GNUNET_SYSERR on failure (including timeout/queue drop)
+ * GNUNET_NO if content was already there
+ * GNUNET_YES (or other positive value) on success
+ * @param msg NULL on success, otherwise an error message
+ */
+typedef void (*GNUNET_VECTORPRODUCT_ContinuationWithStatus) (void *cls,
+ const struct GNUNET_HashCode * key,
+ enum GNUNET_VECTORPRODUCT_ResponseStatus status);
+/**
+ * Process a datum that was stored in the vectorproduct.
+ *
+ * @param cls closure
+ * @param key Sessioon key
+ * @param peer PeerID of the peer with whom the scalar product was calculated.
+ * @param status Status of the request
+ * @param size Size of the received message
+ * @param data Pointer to the data
+ * @param type Type of data
+ */
+typedef void (*GNUNET_VECTORPRODUCT_DatumProcessor) (void *cls,
+ const struct GNUNET_HashCode * key,
+ const struct GNUNET_PeerIdentity * peer,
+ enum GNUNET_VECTORPRODUCT_ResponseStatus status,
+ const struct GNUNET_VECTORPRODUCT_client_response *msg);
+
+/**
+ * Request the Scalar Product Evaluation
+ *
+ * @param h handle to the master context
+ * @param key Session key - unique to the requesting client
+ * @param peer PeerID of the other peer
+ * @param element_count Number of elements in the vector
+ * @param mask_bytes number of bytes in the mask
+ * @param elements Array of elements of the vector
+ * @param mask Array of the mask
+ * @param timeout Relative timeout for the operation
+ * @param cont Callback function
+ * @param cont_cls Closure for the callback function
+ */
+struct GNUNET_VECTORPRODUCT_QueueEntry *
+GNUNET_VECTORPRODUCT_request(struct GNUNET_VECTORPRODUCT_Handle *h,
+ const struct GNUNET_HashCode * key,
+ const struct GNUNET_PeerIdentity *peer,
+ uint16_t element_count,
+ uint16_t mask_bytes,
+ int32_t * elements, const unsigned char * mask,
+ struct GNUNET_TIME_Relative timeout,
+ GNUNET_VECTORPRODUCT_DatumProcessor cont,
+ void *cont_cls);
+
+/**
+ * Called by the responder client to prepare response
+ *
+ * @param h handle to the master context
+ * @param key Session key - unique to the requesting client
+ * @param element_count Number of elements in the vector
+ * @param mask_bytes number of bytes in the mask
+ * @param elements Array of elements of the vector
+ * @param mask Array of the mask
+ * @param timeout Relative timeout for the operation
+ * @param cont Callback function
+ * @param cont_cls Closure for the callback function
+ */
+struct GNUNET_VECTORPRODUCT_QueueEntry *
+GNUNET_VECTORPRODUCT_prepare_response(struct GNUNET_VECTORPRODUCT_Handle *h,
+ const struct GNUNET_HashCode * key,
+ uint16_t element_count,
+ int32_t* elements,
+ struct GNUNET_TIME_Relative timeout,
+ GNUNET_VECTORPRODUCT_ContinuationWithStatus cont,
+ void *cont_cls);
+
+/**
+ * Connect to the vectorproduct service.
+ *
+ * @param cfg configuration to use
+ * @return handle to use to access the service
+ */
+struct GNUNET_VECTORPRODUCT_Handle *
+GNUNET_VECTORPRODUCT_connect(const struct GNUNET_CONFIGURATION_Handle * cfg);
+
+/**
+ * Disconnect from the vectorproduct service.
+ *
+ * @param h handle to the vectorproduct
+ */
+void
+GNUNET_VECTORPRODUCT_disconnect(struct GNUNET_VECTORPRODUCT_Handle * h);
+
+
+#if 0 /* keep Emacsens' auto-indent happy */
+{
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+#endif
Deleted: gnunet/src/include/gnunet_vectorproduct_service.h
===================================================================
--- gnunet/src/include/gnunet_vectorproduct_service.h 2013-08-23 13:34:27 UTC
(rev 28815)
+++ gnunet/src/include/gnunet_vectorproduct_service.h 2013-08-23 13:39:32 UTC
(rev 28816)
@@ -1,265 +0,0 @@
-/*
- This file is part of GNUnet.
- (C) 2013 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
- by the Free Software Foundation; either version 2, or (at your
- option) any later version.
-
- GNUnet is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with GNUnet; see the file COPYING. If not, write to the
- Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA.
- */
-
-/**
- * @file include/gnunet_vectorproduct_service.h
- * @brief API to the vectorproduct service
- * @author Christian M. Fuchs
- * @author Gaurav Kukreja
- */
-#ifndef GNUNET_VECTORPRODUCT_SERVICE_H
-#define GNUNET_VECTORPRODUCT_SERVICE_H
-#define GCRYPT_NO_DEPRECATED
-// including gcrypt crashes netbeans after the next restart...
-#include <gcrypt.h>
-
-#ifdef __cplusplus
-extern "C" {
-#if 0 /* keep Emacsens' auto-indent happy */
-}
-#endif
-#endif
-
-/**
- * Version of the vectorproduct API.
- */
-#define GNUNET_VECTORPRODUCT_VERSION 0x00000042
-
-/**
- * Message type passed from client to service
- * to initiate a request or responder role
- */
-struct GNUNET_VECTORPRODUCT_client_request {
- /**
- * GNUNET message header
- */
- struct GNUNET_MessageHeader header;
-
- /**
- * how many elements the vector in payload contains
- */
- uint16_t element_count GNUNET_PACKED;
-
- /**
- * how many bytes the mask has
- */
- uint16_t mask_length GNUNET_PACKED;
-
- /**
- * the transaction/session key used to identify a session
- */
- struct GNUNET_HashCode key;
-
- /**
- * the identity of a remote peer we want to communicate with
- */
- struct GNUNET_PeerIdentity peer;
-
- /**
- * followed by long vector[element_count] | [unsigned char mask[mask_bytes]]
- */
-};
-
-/**
- * Message type passed from service client
- * to finalize a session as requester or responder
- */
-struct GNUNET_VECTORPRODUCT_client_response {
- /**
- * GNUNET message header
- */
- struct GNUNET_MessageHeader header;
-
- /**
- * 0 if no product attached
- */
- uint32_t product_length GNUNET_PACKED;
-
- /**
- * the transaction/session key used to identify a session
- */
- struct GNUNET_HashCode key;
-
- /**
- * the identity of a remote peer we want to communicate with
- */
- struct GNUNET_PeerIdentity peer;
-
- /**
- * followed by product of length product_length (or nothing)
- */
-};
-
-enum GNUNET_VECTORPRODUCT_ResponseStatus {
- GNUNET_VECTORPRODUCT_Status_Success = 0,
- GNUNET_VECTORPRODUCT_Status_Failure,
- GNUNET_VECTORPRODUCT_Status_Timeout,
- GNUNET_VECTORPRODUCT_Status_InvalidResponse,
- GNUNET_VECTORPRODUCT_Status_ServiceDisconnected
-};
-
-struct GNUNET_VECTORPRODUCT_Handle {
- /**
- * Our configuration.
- */
- const struct GNUNET_CONFIGURATION_Handle *cfg;
-
- /**
- * Current connection to the vectorproduct service.
- */
- struct GNUNET_CLIENT_Connection *client;
-
- /**
- * Handle for statistics.
- */
- struct GNUNET_STATISTICS_Handle *stats;
-
- /**
- * Current head of priority queue.
- */
- struct GNUNET_VECTORPRODUCT_QueueEntry *queue_head;
-
- /**
- * Current tail of priority queue.
- */
- struct GNUNET_VECTORPRODUCT_QueueEntry *queue_tail;
-
- /**
- * Are we currently trying to receive from the service?
- */
- int in_receive;
-
- /**
- * Current transmit handle.
- */
- struct GNUNET_CLIENT_TransmitHandle *th;
-
- /**
- * TODO: What else should/could go here?
- */
-};
-
-typedef void (*GNUNET_VECTORPRODUCT_ResponseMessageHandler) (void *cls,
- const struct GNUNET_MessageHeader *msg,
- enum GNUNET_VECTORPRODUCT_ResponseStatus status);
-
-/**
- * Continuation called to notify client about result of the
- * operation.
- *
- * @param cls closure
- * @param success GNUNET_SYSERR on failure (including timeout/queue drop)
- * GNUNET_NO if content was already there
- * GNUNET_YES (or other positive value) on success
- * @param msg NULL on success, otherwise an error message
- */
-typedef void (*GNUNET_VECTORPRODUCT_ContinuationWithStatus) (void *cls,
- const struct GNUNET_HashCode * key,
- enum GNUNET_VECTORPRODUCT_ResponseStatus status);
-/**
- * Process a datum that was stored in the vectorproduct.
- *
- * @param cls closure
- * @param key Sessioon key
- * @param peer PeerID of the peer with whom the scalar product was calculated.
- * @param status Status of the request
- * @param size Size of the received message
- * @param data Pointer to the data
- * @param type Type of data
- */
-typedef void (*GNUNET_VECTORPRODUCT_DatumProcessor) (void *cls,
- const struct GNUNET_HashCode * key,
- const struct GNUNET_PeerIdentity * peer,
- enum GNUNET_VECTORPRODUCT_ResponseStatus status,
- const struct GNUNET_VECTORPRODUCT_client_response *msg);
-
-/**
- * Request the Scalar Product Evaluation
- *
- * @param h handle to the master context
- * @param key Session key - unique to the requesting client
- * @param peer PeerID of the other peer
- * @param element_count Number of elements in the vector
- * @param mask_bytes number of bytes in the mask
- * @param elements Array of elements of the vector
- * @param mask Array of the mask
- * @param timeout Relative timeout for the operation
- * @param cont Callback function
- * @param cont_cls Closure for the callback function
- */
-struct GNUNET_VECTORPRODUCT_QueueEntry *
-GNUNET_VECTORPRODUCT_request(struct GNUNET_VECTORPRODUCT_Handle *h,
- const struct GNUNET_HashCode * key,
- const struct GNUNET_PeerIdentity *peer,
- uint16_t element_count,
- uint16_t mask_bytes,
- int32_t * elements, const unsigned char * mask,
- struct GNUNET_TIME_Relative timeout,
- GNUNET_VECTORPRODUCT_DatumProcessor cont,
- void *cont_cls);
-
-/**
- * Called by the responder client to prepare response
- *
- * @param h handle to the master context
- * @param key Session key - unique to the requesting client
- * @param element_count Number of elements in the vector
- * @param mask_bytes number of bytes in the mask
- * @param elements Array of elements of the vector
- * @param mask Array of the mask
- * @param timeout Relative timeout for the operation
- * @param cont Callback function
- * @param cont_cls Closure for the callback function
- */
-struct GNUNET_VECTORPRODUCT_QueueEntry *
-GNUNET_VECTORPRODUCT_prepare_response(struct GNUNET_VECTORPRODUCT_Handle *h,
- const struct GNUNET_HashCode * key,
- uint16_t element_count,
- int32_t* elements,
- struct GNUNET_TIME_Relative timeout,
- GNUNET_VECTORPRODUCT_ContinuationWithStatus cont,
- void *cont_cls);
-
-/**
- * Connect to the vectorproduct service.
- *
- * @param cfg configuration to use
- * @return handle to use to access the service
- */
-struct GNUNET_VECTORPRODUCT_Handle *
-GNUNET_VECTORPRODUCT_connect(const struct GNUNET_CONFIGURATION_Handle * cfg);
-
-/**
- * Disconnect from the vectorproduct service.
- *
- * @param h handle to the vectorproduct
- */
-void
-GNUNET_VECTORPRODUCT_disconnect(struct GNUNET_VECTORPRODUCT_Handle * h);
-
-
-#if 0 /* keep Emacsens' auto-indent happy */
-{
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-#endif
Modified: gnunet/src/scalarproduct/gnunet-service-vectorproduct.c
===================================================================
--- gnunet/src/vectorproduct/gnunet-service-vectorproduct.c 2013-08-23
12:25:39 UTC (rev 28812)
+++ gnunet/src/scalarproduct/gnunet-service-vectorproduct.c 2013-08-23
13:39:32 UTC (rev 28816)
@@ -656,15 +656,15 @@
* Bob executes:
* generates the response message to be sent to alice after computing
* the values (1), (2), S and S'
- * (1)[]: $E_A(a_{\pi(i)}) \otimes E_A(- r_{\pi(i)} - b_{\pi(i)}) &=
E_A(a_{\pi(i)} - r_{\pi(i)} - b_{\pi(i)})$
- * (2)[]: $E_A(a_{\pi'(i)}) \otimes E_A(- r_{\pi'(i)}) &= E_A(a_{\pi'(i)} -
r_{\pi'(i)})$
- * S: $S := E_A(\sum (r_i + b_i)^2)$
- * S': $S' := E_A(\sum r_i^2)$
+ * (1)[]: $E_A(a_{pi(i)}) times E_A(- r_{pi(i)} - b_{pi(i)}) &= E_A(a_{pi(i)}
- r_{pi(i)} - b_{pi(i)})$
+ * (2)[]: $E_A(a_{pi'(i)}) times E_A(- r_{pi'(i)}) &= E_A(a_{pi'(i)} -
r_{pi'(i)})$
+ * S: $S := E_A(sum (r_i + b_i)^2)$
+ * S': $S' := E_A(sum r_i^2)$
*
- * @param kp (1)[]: $E_A(a_{\pi(i)}) \otimes E_A(- r_{\pi(i)} - b_{\pi(i)})
&= E_A(a_{\pi(i)} - r_{\pi(i)} - b_{\pi(i)})$
- * @param kq (2)[]: $E_A(a_{\pi'(i)}) \otimes E_A(- r_{\pi'(i)}) &=
E_A(a_{\pi'(i)} - r_{\pi'(i)})$
- * @param s S: $S := E_A(\sum (r_i + b_i)^2)$
- * @param stick S': $S' := E_A(\sum r_i^2)$
+ * @param kp (1)[]: $E_A(a_{pi(i)}) times E_A(- r_{pi(i)} - b_{pi(i)}) &=
E_A(a_{pi(i)} - r_{pi(i)} - b_{pi(i)})$
+ * @param kq (2)[]: $E_A(a_{pi'(i)}) times E_A(- r_{pi'(i)}) &=
E_A(a_{pi'(i)} - r_{pi'(i)})$
+ * @param s S: $S := E_A(sum (r_i + b_i)^2)$
+ * @param stick S': $S' := E_A(sum r_i^2)$
* @param request the associated requesting session with alice
* @param response the associated responder session with bob's client
* @return GNUNET_SYSERR if the function was called with NULL parameters or if
there was an error
@@ -802,10 +802,10 @@
/**
* executed by bob:
* compute the values
- * (1)[]: $E_A(a_{\pi(i)}) \otimes E_A(- r_{\pi(i)} - b_{\pi(i)}) &=
E_A(a_{\pi(i)} - r_{\pi(i)} - b_{\pi(i)})$
- * (2)[]: $E_A(a_{\pi'(i)}) \otimes E_A(- r_{\pi'(i)}) &= E_A(a_{\pi'(i)} -
r_{\pi'(i)})$
- * S: $S := E_A(\sum (r_i + b_i)^2)$
- * S': $S' := E_A(\sum r_i^2)$
+ * (1)[]: $E_A(a_{pi(i)}) times E_A(- r_{pi(i)} - b_{pi(i)}) &= E_A(a_{pi(i)}
- r_{pi(i)} - b_{pi(i)})$
+ * (2)[]: $E_A(a_{pi'(i)}) times E_A(- r_{pi'(i)}) &= E_A(a_{pi'(i)} -
r_{pi'(i)})$
+ * S: $S := E_A(sum (r_i + b_i)^2)$
+ * S': $S' := E_A(sum r_i^2)$
*
* @param request the requesting session + bob's requesting peer
* @param response the responding session + bob's client handle
@@ -1439,13 +1439,13 @@
*
* @param session - the session associated with this computation
* @param kp - (1) from the protocol definition:
- * $E_A(a_{\pi(i)}) \otimes E_A(- r_{\pi(i)} - b_{\pi(i)}) &=
E_A(a_{\pi(i)} - r_{\pi(i)} - b_{\pi(i)})$
+ * $E_A(a_{pi(i)}) times E_A(- r_{pi(i)} - b_{pi(i)}) &=
E_A(a_{pi(i)} - r_{pi(i)} - b_{pi(i)})$
* @param kq - (2) from the protocol definition:
- * $E_A(a_{\pi'(i)}) \otimes E_A(- r_{\pi'(i)}) &= E_A(a_{\pi'(i)}
- r_{\pi'(i)})$
+ * $E_A(a_{pi'(i)}) times E_A(- r_{pi'(i)}) &= E_A(a_{pi'(i)} -
r_{pi'(i)})$
* @param s - S from the protocol definition:
- * $S := E_A(\sum (r_i + b_i)^2)$
+ * $S := E_A(sum (r_i + b_i)^2)$
* @param stick - S' from the protocol definition:
- * $S' := E_A(\sum r_i^2)$
+ * $S' := E_A(sum r_i^2)$
* @return product as MPI, never NULL
*/
static gcry_mpi_t
Added: gnunet/src/scalarproduct/vectorproduct.conf
===================================================================
--- gnunet/src/scalarproduct/vectorproduct.conf (rev 0)
+++ gnunet/src/scalarproduct/vectorproduct.conf 2013-08-23 13:39:32 UTC (rev
28816)
@@ -0,0 +1,7 @@
+[vectorproduct]
+BINARY = gnunet-service-vectorproduct
+UNIXPATH = /tmp/gnunet-service-vectorproduct.sock
+HOME = $SERVICEHOME
+# PORT = 2106
+# PORT = 2087
+
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r28816 - in gnunet: . src src/include src/scalarproduct,
gnunet <=