Cryptography Stack Exchange is a question and answer site for software developers, mathematicians and others interested in cryptography. Join them; it only takes a minute:

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

I am something new to election protocols and I am trying to construct an election protocol for the following problem:

Let $A= \lbrace a_{1} , . . . , a_{n} \rbrace $ and $B = \lbrace b_{1} , . . . , b_{m} \rbrace$ be two groups of voters, and $K_{1}$and $K_{2}$ be two candidates. One of the candidates is to be elected. A candidate wins the election if he gets at least 50% of the votes (absolute majority) and if he gets at least 10% of each group (veto of group A or B).

You are not allowed to use or assume the existence of a trusted center.

share|improve this question

closed as off topic by D.W., mikeazo Dec 21 '12 at 12:25

Questions on Cryptography Stack Exchange are expected to relate to cryptography within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

There are some holes present in your question. What must be kept private (individual votes, the exact percentages earned, the fact that someone even voted)? What assumptions can be made about the participating parties (are they all present at the same time, only some threshold will behave maliciously, they don't collude, etc)? – mikeazo Dec 18 '12 at 16:00
only individual votes should be kept private – Sam Dec 18 '12 at 16:34
Can you say anything about what practical context this problem arose in? – D.W. Dec 19 '12 at 21:34
I see you have confirmed that this is a homework question. Please don't ask homework on this site without specifying that it is homework. Also, please make sure to read the FAQ section titled "Do we accept basic level/homework questions?". In particular, you should be writing out what you have tried, what you do not understand, etc. It looks like you have just copied the homework question, and that is not acceptable. As it stands, your question may be closed. If you'd like it to stay open, please revise it to comply with the site's standards. – D.W. Dec 20 '12 at 21:55

A general rule of thumb when developing cryptographic solutions to a problem is to start with something that gets you as much as possible of what you want and make as few modifications as possible to make up the difference.

In this case, I'd start with something like Practical Multi-Candidate Election System. It would give you tallys for $K_1$ and $K_2$. From there you would know if the candidate got 50%. From there, adding the necessary functionality wouldn't be too hard, but will require you to more formally define what is allowed, what is public knowledge (e.g., is a voter's group membership public).

If, for example, the voter's group membership is public, then when they cast their ballot, the ballots can be separated by groups and a tally given for each group in addition to the overall tally. Then you'd know if the candidate gets 10% of each group.

share|improve this answer

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