A thresholdbased actively secure runtime.
Default mix of BasicActiveRuntime and TriplesPRSSMixin.
Basic runtime secure against active adversaries.
This class depends on either TriplesHyperinvertibleMatricesMixin or TriplesPRSSMixin to provide a get_triple() method.
Instead of using this class directly, one should probably use ActiveRuntime instead.
Multiplication of shares.
Preprocessing: 1 multiplication triple. Communication: 2 openings.
Bracha broadcast mixin class. This mixin class adds a broadcast() method which can be used for a reliable broadcast.
Perform one or more Bracha broadcast(s).
The list of senders given will determine the subset of players who wish to broadcast a message. If this player wishes to broadcast, its ID must be in the list of senders and the optional message parameter must be used.
If the list of senders consists only of a single sender, the result will be a single element, otherwise it will be a list.
A Bracha broadcast is reliable against an active adversary corrupting up to t < n/3 of the players. For more details, see the paper “An asynchronous [(n-1)/3]-resilient consensus protocol” by G. Bracha in Proc. 3rd ACM Symposium on Principles of Distributed Computing, 1984, pages 154-162.
Mixin class which generates multiplication triples using hyperinvertible matrices.
Double-share a random secret using two polynomials.
The guarantee is that a number of shares are made and out of those, the T that are returned by this method will be correct double-sharings of a random number using d1 and d2 as the polynomial degrees.
Generate multiplication triples.
These are random numbers a, b, and c such that c = ab. This function can be used in pre-processing.
Returns a tuple with the number of triples generated and a Deferred which will yield a list of 3-tuples.
Share a random secret.
The guarantee is that a number of shares are made and out of those, the T that are returned by this method will be correct sharings of a random number using degree as the polynomial degree.
Mixin class for generating multiplication triples using PRSS.
Generate quantity multiplication triples using PRSS.
These are random numbers a, b, and c such that c = ab. This function can be used in pre-processing.
Returns a tuple with the number of triples generated and a Deferred which will yield a singleton-list with a 3-tuple.