2 .Dt GNUNET-SCALARPRODUCT 1
5 .Nm gnunet-scalarproduct
7 compute a vectorproduct
10 .Op Fl e Ar ELEMENTS | Fl \-elements= Ns Ar ELEMENTS
11 .Op Fl m Ar MASK | Fl \-mask= Ns Ar MASK
12 .Op Fl k Ar KEY | Fl \-key= Ns Ar KEY
13 .Op Fl c Ar FILENAME | \-config= Ns Ar FILENAME
14 .Op Fl p Ar PEERID | Fl \-peer= Ns Ar PEERID
16 .Op Fl L Ar LOGLEVEL | Fl \-loglevel= Ns Ar LOGLEVEL
20 enables you to compute a vectorproduct across two peers \fBAlice\fP and \fBBob\fP.
22 A client can issue one of two messages to its service:
27 A request to compute a vectorproduct with another peer (\fBAlice\fP)
30 Elements to support a peer in computing a vectorproduct (\fBBob\fP)
33 Both requests must share the same SID, which can be an arbitrary
34 string identifying the session. SIDs should be unique, however it is
35 sufficient to guarantee the uniqueness of the tupel element count and
38 \fBAlice\fP\'s client must supply the ASCII encoded peer ID of bob\'s
39 service, it will internally be checked by the client for
40 validity. Invalid values here result in the client or the service
43 Elements are handed over as signed decimal integers, the element count
44 supplied by \fBAlice\fP and \fBBob\fP must match. \fBAlice\fP can also
45 supply a mask for these values to her service, which allows partial
46 vector products to be computed across the vector. Elements can be
47 masked by setting their the corresponding mask element to zero, any
48 other value means the element will not be masked. \fBAlice\fP\'s
49 client will also mask all 0-values to avoid information leakage to
52 The protocol by definition relies on \fBAlice\fP and \fBBob\fP being
53 benign, thus \fBBob\fP can arbitrarily falsify his information. Both
54 peers collaborate to achieve a correct result.
60 .It Fl e Ar ELEMENTS | Fl \-elements= Ns Ar ELEMENTS
61 The element-vector the vectorproduct should be computed over in signed decimal form, eg: "42,1,-3,3,7".
62 Zero value elements will be automatically masked.
63 .It Fl m Ar MASK | Fl \-mask= Ns Ar MASK
64 Elements in the vector can be masked.
65 There must be at least two elements left in the vector to compute a vectorproduct.
66 Non-Zero values indicate an element is not maskes.
67 .It Fl k Ar KEY | Fl \-key= Ns Ar KEY
68 The session key, a shared string of arbitrary length from which the SID will be generated.
69 .It Fl c Ar FILENAME | Fl \-config= Ns Ar FILENAME
70 Use the configuration file FILENAME.
71 .It Fl p Ar PEERID | Fl \-peer= Ns Ar PEERID
72 The remote peer's ASCII-armored gnunet-peer ID as output by
73 .Xr gnunet-peerinfo 1 .
74 If this option is not given, the peer will take the \fBBob\fP\'s role.
76 Print short help on options.
77 .It Fl L Ar LOGLEVEL | Fl \-loglevel= Ns Ar LOGLEVEL
78 Use LOGLEVEL for logging.
79 Valid values are DEBUG, INFO, WARNING and ERROR.
81 Print GNUnet version number.
84 Report bugs by using Mantis <https://bugs.gnunet.org/> or by sending
85 electronic mail to <gnunet\-developers@gnu.org>
89 The full documentation for gnunet is maintained as a Texinfo manual.
92 and gnunet programs are properly installed at your site, the command
96 should give you access to the complete handbook,
98 .Dl info gnunet-c-tutorial
100 will give you access to a tutorial for developers.
102 Depending on your installation, this information is also available in
104 .Xr gnunet-c-tutorial 7 .
109 .Lk https://bugs.gnunet.org
110 or by sending electronic mail to
111 .Aq Mt gnunet-developers@gnu.org .