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

janus_collector: Map field elements to negative aggregate result values (for DP noise) #3346

Open
divergentdave opened this issue Jul 30, 2024 · 1 comment

Comments

@divergentdave
Copy link
Contributor

When aggregators add noise to aggregate shares for differential privacy, this can result in very large numbers in the aggregate result currently, if the noise causes a wraparound. We can address this by mapping to [-p/2, 0) instead of [p/2, p). (for example) This could be done as a post-processing step, but I think it would be more convenient if janus_collector handled it, because the Prio3 instance, and thus the prime modulus, is at hand already. The downside of this change is that applications not using DP would have their aggregate results wrap around with half as many measurements as before, so we may want to make this configurable.

@divergentdave
Copy link
Contributor Author

Beyond better handling of negative wraparound, other differential privacy policies may require debiasing of aggregate results. For example, the randomized response mechanism and the binomial mechanism both require different forms of debiasing. Thus, I think it would make sense to pass the full DP configuration to the collector, and then interpret that in order to do the right thing, rather than have a dedicated negative wraparound configuration flag.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant