Cryptography Stack Exchange is a question and answer site for software developers, mathematicians and others interested in cryptography. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Can we use a threshold scheme to construct a (yes/no)-election protocol, such that every voter can give a positive or negative vote or he can abstain, and such that only the result of the election is revealed, but the number of positives, negatives and abstains stays secret?

Are there some ways to do this without a threshold scheme?

share|improve this question
up vote 5 down vote accepted

A threshold, additively homomorphic cryptosystems (such as the threshold variant of paillier) would work just fine for this sort of system. Each voter would need to prove that their vote was in the set $\{-1,0,1\}$ instead of the typical $\{0,1\}$. All of this could be done using the thep library. There is a page on dealing with negative numbers.

An alternative to this would be secure multiparty computation. At its core, MPC has the disadvantage that all parties must be online at the same time. This can be mitigated by say designating a few (e.g., 5) servers that perform all the computation. When a person votes, they use secret sharing to split their vote into 5 different shares and send a share to each server.

share|improve this answer
thanks, this is amazing – Sam Jan 10 '13 at 21:13
@Sam, One thing I forgot to mention. thep does support threshold Paillier. The UTD implementation does though. – mikeazo Jan 11 '13 at 1:41

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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