Provided by: gnunet_0.17.4-1_amd64 bug

NAME

     gnunet-scalarproduct — compute a vectorproduct

SYNOPSIS

     gnunet-scalarproduct [-e ELEMENTS | --elements=ELEMENTS] [-m MASK | --mask=MASK]
                          [-k KEY | --key=KEY] [-c FILENAME | -config=FILENAME]
                          [-p PEERID | --peer=PEERID] [-h | --help]
                          [-L LOGLEVEL | --loglevel=LOGLEVEL] [-v | --version]

DESCRIPTION

     gnunet-scalarproduct enables you to compute a vectorproduct across two peers Alice and Bob.

     A client can issue one of two messages to its service:

           1.   A request to compute a vectorproduct with another peer (Alice)

           2.   Elements to support a peer in computing a vectorproduct (Bob)

     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
     tuple element count and session ID.

     Alice'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 Alice and
     Bob must match. Alice 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. Alice's client will also mask all 0-values to avoid information leakage to Bob.

     The protocol by definition relies on Alice and Bob being benign, thus Bob can arbitrarily
     falsify his information. Both peers collaborate to achieve a correct result.

     The options are as follows:

     -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.

     -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.

     -k KEY | --key=KEY
             The session key, a shared string of arbitrary length from which the SID will be
             generated.

     -c FILENAME | --config=FILENAME
             Use the configuration file FILENAME.

     -p PEERID | --peer=PEERID
             The remote peer's ASCII-armored gnunet-peer ID as output by gnunet-peerinfo(1).  If
             this option is not given, the peer will take the Bob's role.

     -h | --help
             Print short help on options.

     -L LOGLEVEL | --loglevel=LOGLEVEL
             Use LOGLEVEL for logging.  Valid values are DEBUG, INFO, WARNING and ERROR.

     -v | --version
             Print GNUnet version number.

SEE ALSO

     gnunet-peerinfo(1)

     The full documentation for gnunet is maintained as a Texinfo manual.  If the info(1) and
     gnunet programs are properly installed at your site, the command

           info gnunet

     should give you access to the complete handbook,

           info gnunet-c-tutorial

     will give you access to a tutorial for developers.

     Depending on your installation, this information is also available in gnunet(7) and
     gnunet-c-tutorial(7).

BUGS

     Report bugs by using https://bugs.gnunet.org or by sending electronic mail to
     ⟨gnunet-developers@gnu.org⟩.