Let's suppose and scenario like a secret voting scheme, at the ID verification step.


  1. There is a public list of identities of people who are able to vote (ex, people who live in a certain town).
  2. The identity confirmation process is entrusted to a central server (Bob).
  3. Users send requests remotely and decentralized (ex, with their respective devices).
  4. The idea is that the ID is never sent via the communication channel.
  5. The is no specific ID method, could be anything that does the task, digital signature, etc...

Conditions to be met

  1. The Alice (the voter) must prove to Bob that she is on that list without revealing her identity.
  2. The Bob (the server) has to ensure that no one who is not on the list can access to the voting.

How this problem is called and what is a practical example of the solution?

PD: The voting execution process is not important in this problem, it only deals with identity verification.


2 Answers 2


The scheme that solves your problem is called Zero Knowledge Proof of Set Membership

ZKP for Set Memberships use Accumulators. Crypto++ library provides an implementation of the accumulator

  • $\begingroup$ This looks very interesting and close what I'm looking for, just let me some time to study this and I will tell you if this solves the problem. Thank you very much $\endgroup$ Sep 28, 2020 at 22:15

"How this problem is called and what is a practical example of the solution?"

At: Anonymous Voting with Verifiable Right to Vote


Edit: saw this related page: And wanted to add this document, at: How to achieve identity authentication without revealing credentials https://eprint.iacr.org/2007/384.pdf

I guess it's related, It really does sounds like what you're asking for (a practical example)


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.