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?


1 Answer 1


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.

  • $\begingroup$ @Sam, One thing I forgot to mention. thep does support threshold Paillier. The UTD implementation does though. $\endgroup$
    – mikeazo
    Jan 11, 2013 at 1:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.