1 .\" This file is part of GNUnet.
2 .\" Copyright (C) 2001-2019 GNUnet e.V.
4 .\" Permission is granted to copy, distribute and/or modify this document
5 .\" under the terms of the GNU Free Documentation License, Version 1.3 or
6 .\" any later version published by the Free Software Foundation; with no
7 .\" Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A
8 .\" copy of the license is included in the file
11 .\" A copy of the license is also available from the Free Software
12 .\" Foundation Web site at @url{http://www.gnu.org/licenses/fdl.html}.
14 .\" Alternately, this document is also available under the General
15 .\" Public License, version 3 or later, as published by the Free Software
16 .\" Foundation. A copy of the license is included in the file
19 .\" A copy of the license is also available from the Free Software
20 .\" Foundation Web site at @url{http://www.gnu.org/licenses/gpl.html}.
22 .\" SPDX-License-Identifier: GPL3.0-or-later OR FDL1.3-or-later
25 .Dt GNUNET-SCALARPRODUCT 1
28 .Nm gnunet-scalarproduct
30 compute a vectorproduct
33 .Op Fl e Ar ELEMENTS | Fl \-elements= Ns Ar ELEMENTS
34 .Op Fl m Ar MASK | Fl \-mask= Ns Ar MASK
35 .Op Fl k Ar KEY | Fl \-key= Ns Ar KEY
36 .Op Fl c Ar FILENAME | \-config= Ns Ar FILENAME
37 .Op Fl p Ar PEERID | Fl \-peer= Ns Ar PEERID
39 .Op Fl L Ar LOGLEVEL | Fl \-loglevel= Ns Ar LOGLEVEL
43 enables you to compute a vectorproduct across two peers \fBAlice\fP and \fBBob\fP.
45 A client can issue one of two messages to its service:
50 A request to compute a vectorproduct with another peer (\fBAlice\fP)
53 Elements to support a peer in computing a vectorproduct (\fBBob\fP)
56 Both requests must share the same SID, which can be an arbitrary
57 string identifying the session. SIDs should be unique, however it is
58 sufficient to guarantee the uniqueness of the tupel element count and
61 \fBAlice\fP\'s client must supply the ASCII encoded peer ID of bob\'s
62 service, it will internally be checked by the client for
63 validity. Invalid values here result in the client or the service
66 Elements are handed over as signed decimal integers, the element count
67 supplied by \fBAlice\fP and \fBBob\fP must match. \fBAlice\fP can also
68 supply a mask for these values to her service, which allows partial
69 vector products to be computed across the vector. Elements can be
70 masked by setting their the corresponding mask element to zero, any
71 other value means the element will not be masked. \fBAlice\fP\'s
72 client will also mask all 0-values to avoid information leakage to
75 The protocol by definition relies on \fBAlice\fP and \fBBob\fP being
76 benign, thus \fBBob\fP can arbitrarily falsify his information. Both
77 peers collaborate to achieve a correct result.
83 .It Fl e Ar ELEMENTS | Fl \-elements= Ns Ar ELEMENTS
84 The element-vector the vectorproduct should be computed over in signed decimal form, eg: "42,1,-3,3,7".
85 Zero value elements will be automatically masked.
86 .It Fl m Ar MASK | Fl \-mask= Ns Ar MASK
87 Elements in the vector can be masked.
88 There must be at least two elements left in the vector to compute a vectorproduct.
89 Non-Zero values indicate an element is not maskes.
90 .It Fl k Ar KEY | Fl \-key= Ns Ar KEY
91 The session key, a shared string of arbitrary length from which the SID will be generated.
92 .It Fl c Ar FILENAME | Fl \-config= Ns Ar FILENAME
93 Use the configuration file FILENAME.
94 .It Fl p Ar PEERID | Fl \-peer= Ns Ar PEERID
95 The remote peer's ASCII-armored gnunet-peer ID as output by
96 .Xr gnunet-peerinfo 1 .
97 If this option is not given, the peer will take the \fBBob\fP\'s role.
99 Print short help on options.
100 .It Fl L Ar LOGLEVEL | Fl \-loglevel= Ns Ar LOGLEVEL
101 Use LOGLEVEL for logging.
102 Valid values are DEBUG, INFO, WARNING and ERROR.
104 Print GNUnet version number.
107 Report bugs by using Mantis <https://bugs.gnunet.org/> or by sending
108 electronic mail to <gnunet\-developers@gnu.org>
110 .Xr gnunet-peerinfo 1
112 The full documentation for gnunet is maintained as a Texinfo manual.
115 and gnunet programs are properly installed at your site, the command
119 should give you access to the complete handbook,
121 .Dl info gnunet-c-tutorial
123 will give you access to a tutorial for developers.
125 Depending on your installation, this information is also available in
127 .Xr gnunet-c-tutorial 7 .
132 .Lk https://bugs.gnunet.org
133 or by sending electronic mail to
134 .Aq Mt gnunet-developers@gnu.org .