Open amiller opened 4 years ago
How does this explanation look:
This library provides basic arithmetic functionalities which are needed when the underlying types are real values. To enable that, it uses fixed point representation of real numbers. Note that the implementation of fixed point operations in this library is only statistically (and not perfectly) hiding. This means that whenever a fixed point operation from this library is invoked, the resulting output is only statistically (and not perfectly) indistinguishable from a uniformly random output, and the statistical distance is O(1/(2^Kappa)). In simple terms, increasing the Kappa parameter would make the output look more close to uniform random but also incur higher computational/communication cost.
It is not correct to say these are real values, since only a subset of real values can be represented. It would be closer to accurate to say rational rather than real, although only some rationals can be represented as well
Which operation leaks information, could you point more specifically to where / how this can occur? Which operations are perfectly hiding and which are statistical?
This explanation looks off - what does it mean to leak an information theoretic bit? Fix this issue with a more informative comment explaining the function of the fixed point operations https://github.com/initc3/HoneyBadgerMPC/blob/46dd3d449d0829ced7b54474c11d9a7d12fa63ca/honeybadgermpc/progs/fixedpoint.py#L26