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

Feature Request: Proof of Membership #31

Open
phayes opened this issue Mar 12, 2019 · 0 comments
Open

Feature Request: Proof of Membership #31

phayes opened this issue Mar 12, 2019 · 0 comments

Comments

@phayes
Copy link

phayes commented Mar 12, 2019

I was wondering if it would be possible to add support for "proof of membership" in addition to the current existing range proof.

Details on implementing a proof-of-membership is here: https://paillier.daylightingsociety.org/Paillier_Zero_Knowledge_Proof.pdf

As an example of why this is useful, consider using Paillier homomorphic addition as part of a voting system where votes are kept anonymous.

Consider an example where we have three candidates. Each voter would encode their vote in the form: 000100000000 to vote for candidate-1, 000000010000 for candidate-2, and 000000000001 for candidate 3. Using Paillier, we could sum all the encrypted votes together and obtain a result, while keeping each individual vote secret. However, without a "proof of membership", a malicious voter might cast a malicious vote 011100000000. A "proof of membership" would allow us to verify a vote is within the set [000100000000, 000000010000, 000000000001] and thwart malicious votes.

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