Full threshold actively secure runtime.
The code in this module relies on a proprietary third-party module for doing commitments using elliptic curves. You will therefore not be able to run it with a plain VIFF installation.
A share in the Orlandi runtime.
A share in the Orlandi runtime is a 3-tuple (x_i, rho_i, Cr_i) of:
The Runtime operates on shares, represented by this class. Shares are asynchronous in the sense that they promise to attain a value at some point in the future.
Shares overload the arithmetic operations so that x = a + b will create a new share x, which will eventually contain the sum of a and b. Each share is associated with a Runtime and the arithmetic operations simply call back to that runtime.
The Orlandi runtime.
The runtime is used for sharing values (secret_share() or shift()) into OrlandiShare object and opening such shares (open()) again. Calculations on shares is normally done through overloaded arithmetic operations, but it is also possible to call add(), mul(), etc. directly if one prefers.
Each player in the protocol uses a Runtime object. To create an instance and connect it correctly with the other players, please use the create_runtime() function instead of instantiating a Runtime directly. The create_runtime() function will take care of setting up network connections and return a Deferred which triggers with the Runtime object when it is ready.