documentation: remove plibc mention.
[oweals/gnunet.git] / doc / man / gnunet-scalarproduct.1
1 .\" This file is part of GNUnet.
2 .\" Copyright (C) 2001-2019 GNUnet e.V.
3 .\"
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
9 .\" FDL-1.3.
10 .\"
11 .\" A copy of the license is also available from the Free Software
12 .\" Foundation Web site at http://www.gnu.org/licenses/fdl.html}.
13 .\"
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
17 .\" GPL3.
18 .\"
19 .\" A copy of the license is also available from the Free Software
20 .\" Foundation Web site at http://www.gnu.org/licenses/gpl.html
21 .\"
22 .\" SPDX-License-Identifier: GPL3.0-or-later OR FDL1.3-or-later
23 .\"
24 .Dd August 8, 2013
25 .Dt GNUNET-SCALARPRODUCT 1
26 .Os
27 .Sh NAME
28 .Nm gnunet-scalarproduct
29 .Nd compute a vectorproduct
30 .Sh SYNOPSIS
31 .Nm
32 .Op Fl e Ar ELEMENTS | Fl -elements= Ns Ar ELEMENTS
33 .Op Fl m Ar MASK | Fl -mask= Ns Ar MASK
34 .Op Fl k Ar KEY | Fl -key= Ns Ar KEY
35 .Op Fl c Ar FILENAME | -config= Ns Ar FILENAME
36 .Op Fl p Ar PEERID | Fl -peer= Ns Ar PEERID
37 .Op Fl h | -help
38 .Op Fl L Ar LOGLEVEL | Fl -loglevel= Ns Ar LOGLEVEL
39 .Op Fl v | -version
40 .Sh DESCRIPTION
41 .Nm
42 enables you to compute a vectorproduct across two peers
43 .Sy Alice
44 and
45 .Sy Bob .
46 .Pp
47 A client can issue one of two messages to its service:
48 .Bl -enum -width 3n -offset indent
49 .It
50 A request to compute a vectorproduct with another peer (Alice)
51 .It
52 Elements to support a peer in computing a vectorproduct (Bob)
53 .El
54 .Pp
55 Both requests must share the same SID, which can be an arbitrary
56 string identifying the session. SIDs should be unique, however it is
57 sufficient to guarantee the uniqueness of the tupel element count and
58 session ID.
59 .Pp
60 Alice's client must supply the ASCII encoded peer ID of bob's
61 service, it will internally be checked by the client for
62 validity. Invalid values here result in the client or the service
63 failing the session.
64 .Pp
65 Elements are handed over as signed decimal integers, the element count
66 supplied by Alice and Bob must match. Alice can also
67 supply a mask for these values to her service, which allows partial
68 vector products to be computed across the vector. Elements can be
69 masked by setting their the corresponding mask element to zero, any
70 other value means the element will not be masked. Alice's
71 client will also mask all 0-values to avoid information leakage to
72 Bob.
73 .Pp
74 The protocol by definition relies on Alice and Bob being
75 benign, thus Bob can arbitrarily falsify his information. Both
76 peers collaborate to achieve a correct result.
77 .Pp
78 The options are as follows:
79 .Bl -tag -width indent
80 .It Fl e Ar ELEMENTS | Fl -elements= Ns Ar ELEMENTS
81 The element-vector the vectorproduct should be computed over in
82 signed decimal form, eg: "42,1,-3,3,7".
83 Zero value elements will be automatically masked.
84 .It Fl m Ar MASK | Fl -mask= Ns Ar MASK
85 Elements in the vector can be masked.
86 There must be at least two elements left in the vector to
87 compute a vectorproduct.
88 Non-Zero values indicate an element is not maskes.
89 .It Fl k Ar KEY | Fl -key= Ns Ar KEY
90 The session key, a shared string of arbitrary length from which
91 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 Bob's role.
98 .It Fl h | -help
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.
103 .It Fl v | -version
104 Print GNUnet version number.
105 .El
106 .Sh SEE ALSO
107 .Xr gnunet-peerinfo 1
108 .sp
109 The full documentation for gnunet is maintained as a Texinfo manual.
110 If the
111 .Xr info 1
112 and gnunet programs are properly installed at your site, the command
113 .Pp
114 .Dl info gnunet
115 .Pp
116 should give you access to the complete handbook,
117 .Pp
118 .Dl info gnunet-c-tutorial
119 .Pp
120 will give you access to a tutorial for developers.
121 .sp
122 Depending on your installation, this information is also available in
123 .Xr gnunet 7 and
124 .Xr gnunet-c-tutorial 7 .
125 .\".Sh HISTORY
126 .\".Sh AUTHORS
127 .Sh BUGS
128 Report bugs by using
129 .Lk https://bugs.gnunet.org
130 or by sending electronic mail to
131 .Aq Mt gnunet-developers@gnu.org .