DESCRIPTIONgnunet-vectorproduct enables you to compute a vectorproduct across two peers Alice and Bob.
A client can issue one of two messages to its service:
A request to compute a vectorproduct with another peer (Alice)
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 tupel 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.
- -e ELEMENTS, --elements=ELEMENTS