syntax
[oweals/gnunet.git] / doc / man / gnunet-scalarproduct.1
1 .Dd August 8, 2013
2 .Dt GNUNET-SCALARPRODUCT 1
3 .Os
4 .Sh NAME
5 .Nm gnunet-scalarproduct
6 .Nd
7 compute a vectorproduct
8 .Sh SYNOPSIS
9 .Nm
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
15 .Op Fl h | \-help
16 .Op Fl L Ar LOGLEVEL | Fl \-loglevel= Ns Ar LOGLEVEL
17 .Op Fl v | \-version
18 .Sh DESCRIPTION
19 .Nm
20 enables you to compute a vectorproduct across two peers \fBAlice\fP and \fBBob\fP.
21 .Pp
22 A client can issue one of two messages to its service:
23 .TS
24 tab (@);
25 l lx.
26 1@T{
27 A request to compute a vectorproduct with another peer (\fBAlice\fP)
28 T}
29 2@T{
30 Elements to support a peer in computing a vectorproduct (\fBBob\fP)
31 T}
32 .TE
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
36 session ID.
37 .Pp
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
41 failing the session.
42 .Pp
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
50 \fBBob\fP.
51 .Pp
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.
55 .Pp
56 The options of
57 .Nm
58 are:
59 .Bl -tag -width Ds
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.
75 .It Fl h | \-help
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.
80 .It Fl v | \-version
81 Print GNUnet version number.
82 .El
83 .Sh BUGS
84 Report bugs by using Mantis <https://bugs.gnunet.org/> or by sending
85 electronic mail to <gnunet\-developers@gnu.org>
86 .Sh SEE ALSO
87 .Xr gnunet-peerinfo 1
88 .sp
89 The full documentation for gnunet is maintained as a Texinfo manual.
90 If the
91 .Xr info 1
92 and gnunet programs are properly installed at your site, the command
93 .Pp
94 .Dl info gnunet
95 .Pp
96 should give you access to the complete handbook,
97 .Pp
98 .Dl info gnunet-c-tutorial
99 .Pp
100 will give you access to a tutorial for developers.
101 .sp
102 Depending on your installation, this information is also available in
103 .Xr gnunet 7 and
104 .Xr gnunet-c-tutorial 7 .
105 .\".Sh HISTORY
106 .\".Sh AUTHORS
107 .Sh BUGS
108 Report bugs by using
109 .Lk https://bugs.gnunet.org
110 or by sending electronic mail to
111 .Aq Mt gnunet-developers@gnu.org .