Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fixed point algorithm explanation #450

Open
amiller opened this issue May 14, 2020 · 3 comments
Open

fixed point algorithm explanation #450

amiller opened this issue May 14, 2020 · 3 comments
Assignees
Labels
bug Something isn't working documentation code documentation

Comments

@amiller
Copy link
Contributor

amiller commented May 14, 2020

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

This implementation of the library is not completely hiding. This leaks information about the bits used in computation which is determinied by the security parameter Kappa.

@amiller amiller added bug Something isn't working documentation code documentation labels May 14, 2020
@amitgtx
Copy link
Collaborator

amitgtx commented May 14, 2020

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.

@amiller
Copy link
Contributor Author

amiller commented May 14, 2020

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

@amiller
Copy link
Contributor Author

amiller commented May 14, 2020

Which operation leaks information, could you point more specifically to where / how this can occur?
Which operations are perfectly hiding and which are statistical?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working documentation code documentation
Projects
None yet
Development

No branches or pull requests

2 participants