Random bits
This functionality produces a random element , with , uniformly distributed, and its shares also uniformly randomly distributed.
It is denoted as , and can be pre-computed in the offline phase (so during the computation we assume that we have a collection of random bits).
The method of constructing such is as follows:
- Pick a canonical way of constructing a square root over , say, be requiring .
- Produce a random shared element .
- Calculate and open it. If it is , start over (this happens with negligible probability).
- Set