path: root/doc
diff options
authorChristian Fuchs <>2013-08-22 13:41:49 +0000
committerChristian Fuchs <>2013-08-22 13:41:49 +0000
commit3003feb0b391420b403654d840d3c67404fab048 (patch)
tree4da537dcded885418f9b7d357a7a8c73176ab4b2 /doc
parentf14d78e3c6555f5721705c587e01e8e10503de19 (diff)
added vectorproduct protocol definitions
added to be localized files to POTFILES added (inactive) changes to the src/ added manpage for vectorproduct added apptype for vectorproduct added vectorproduct service, client, API and related sources to SVN
Diffstat (limited to 'doc')
2 files changed, 66 insertions, 0 deletions
diff --git a/doc/man/ b/doc/man/
index 9e63bb243..8657c2365 100644
--- a/doc/man/
+++ b/doc/man/
@@ -27,6 +27,7 @@ man_MANS = \
gnunet-transport.1 \
gnunet-unindex.1 \
gnunet-uri.1 \
+ gnunet-vectorproduct.1 \
diff --git a/doc/man/gnunet-vectorproduct.1 b/doc/man/gnunet-vectorproduct.1
new file mode 100644
index 000000000..6852694b6
--- /dev/null
+++ b/doc/man/gnunet-vectorproduct.1
@@ -0,0 +1,65 @@
+.TH GNUNET\-VECTORPRODUCT 1 "8 Aug 2013" "GNUnet"
+gnunet\-vectorproduct \- compute a vectorproduct
+.B gnunet\-vectorproduct
+.RI [ options ]
+\fBgnunet-vectorproduct\fP enables you to compute a vectorproduct across two peers \fBAlice\fP and \fBBob\fP.
+A client can issue one of two messages to its service:
+tab (@);
+l lx.
+A request to compute a vectorproduct with another peer (\fBAlice\fP)
+Elements to support a peer in computing a vectorproduct (\fBBob\fP)
+Both requests must share the same SID, which can be an arbitrary string identifying the session. SIDs should be unique, however it is sufficient to guarantee the uniqueness of the tupel element count and session ID.
+\fBAlice\fP\'s client must supply the ASCII encoded peer ID of bob\'s service, it will internally be checked by the client for validity. Invalid values here result in the client or the service failing the session.
+Elements are handed over as signed decimal integers, the element count supplied by \fBAlice\fP and \fBBob\fP must match. \fBAlice\fP can also supply a mask for these values to her service, which allows partial vector products to be computed across the vector. Elements can be masked by setting their the corresponding mask element to zero, any other value means the element will not be masked. \fBAlice\fP\'s client will also mask all 0-values to avoid information leakage to \fBBob\fP.
+The protocol by definition relies on \fBAlice\fP and \fBBob\fP being benign, thus \fBBob\fP can arbitrarily falsify his information. Both peers collaborate to achieve a correct result.
+.IP "\-e ELEMENTS, \-\-elements=ELEMENTS"
+The element-vector the vectorproduct should be computed over in signed decimal form, eg: \"42,1,-3,3,7\". Zero value elements will be automatically masked.
+.IP "\-m MASK, \-\-mask=MASK"
+Elements in the vector can be masked. There must be at least two elements left in the vector to compute a vectorproduct. Non-Zero values indicate an element is not maskes.
+.IP "\-k KEY, \-\-key=KEY"
+The session key, a shared string of arbitrary length from which the SID will be generated
+.IP "\-c FILENAME, \-\-config=FILENAME"
+Use the configuration file FILENAME.
+.IP "\-p PEERID, \-\-peer=PEERID"
+The remote peer\'s ASCII-armored gnunet-peer ID as output by gnunet-peerinfo. If this option is not given, the peer will take the \fBBob\fP\'s role.
+.IP "\-h, \-\-help"
+Print short help on options.
+.IP "\-L LOGLEVEL, \-\-loglevel=LOGLEVEL"
+Use LOGLEVEL for logging. Valid values are DEBUG, INFO, WARNING and ERROR.
+.IP "\-v, \-\-version"
+Print GNUnet version number.
+Report bugs by using Mantis <> or by sending electronic mail to <gnunet\>