How Does an Electronic Voting System Ensure Voter Anonymity and Security?

In summary, the electronic voting system described in Cryptography: An Introduction by N. Smart involves a setup with multiple tally centers and voters, each with their own public key encryption and signature algorithms. The vote casting process involves voters using a bit commitment scheme to publicly commit to their vote and its authenticity. Vote distribution is done using Shamir's secret sharing scheme to share votes among the tally centers, with voters publicly posting commitments to their votes to ensure integrity.
  • #1
Gold Member
Hey! :eek:

I am reading about an electronic voting system from the book Cryptography:an Introduction, N.Smart and I have some questions.

The voting system will assume that we have $m$ voters, and that there are $n$ centres which perform the tallying. The use of a multitude of tallying centres is to allow voter anonymity and stop a few centres colluding to fix the vote. We shall assume that voters are only given a choice of one of two candidates.

  • - System Setup

    Each of the $n$ tally centres has a public key encryption function $E_i$. We assume a finite abelian group $G$ is fixed, of prime order $q$, and two elements $g, h \in G$ are selected for which no party (including the tally centres) know the discrete logarithm $h=g^x$. Each voter has a public key signature algorithm
  • - Vote Casting

    Each of the $m$ voters picks a vote $v_j$ from the set $\{-1, 1\}$. The voter picks a random blinding value $a_j \in \mathbb{Z}/q\mathbb{Z}$ and publishes their vote $B_j=B_{a_j}(v_j)$, using the bit commitment scheme. This vote is public to all participating parties, both tally centres and other voters. Along with the vote $B_j$ the voter also publishes a non-interactive version of the protocal to show that the vote was chosen from the set $\{-1, 1\}$. The vote and its proof are then digitally signed using the signing algorithm of the voter.
  • - Vote Distribution

    We now need to distribute the votes cast around the tally centres so that the final tally can be computed. Each voter emplys Shamir's secret sharing scheme as follows, to share the $a_j$ and $v_j$ around the tallying centres: Each voter picks two random polynomials modulo $q$ of degree $t<n$.
    $$R_j(X)=v_j+r_{1,j}X+\dots +r_{t,j}X^t \\ S_j(X)=a_j+s_{1,j}X+\dots s_{t,j}X^t$$ The voter computes $$(u_{i,j}, w_{i,j})=(R_j(i), _j(i)) \text{ for } 1 \leq i \leq n$$ The voter encrypts the pair $(u_{i,j}, w_{i,j})$ using the $i$th tally centre's encryption algorithm $E_i$. This encryptes share is sent to the relevant tally centre. The voter then publishes it commitments to the polynomial $R_j(X)$ by publicly posting $B_{l, j}=B_{s_{l, j}}(r_{l,j})$ for $1 \leq l \leq t$, again using the commitment scheme.
  • - Consistency Check
  • - Tally Counting

At the System Setup why does each voter have a public key signature algorithm and not a private one?? (Wondering)

What is a bit commitment scheme?? (Wondering)

What is the purpose of the Vote Casting?? At this step does the voter choose the vote and publishes $B_j$ as commitment and also a proof that the vote was indeed chosen from the set $\{-1, 1\}$?? What does it mean that the voter publishes these?? (Wondering)

Could you explain to me at the part Vote Distribution the sentence "The voter then publishes it commitments to the polynomial $R_j(X)$ by publicly posting $B_{l, j}=B_{s_{l, j}}(r_{l,j})$ for $1 \leq l \leq t$, again using the commitment scheme." ?? (Wondering)
Last edited by a moderator:
Mathematics news on
  • #2

Hello! Thank you for your questions. I am happy to answer them and clarify any confusion you may have about this electronic voting system.

To answer your first question, each voter has a public key signature algorithm because this is a form of digital signature that allows the voter to prove that their vote is authentic and cannot be tampered with. The private key is used to create the signature, while the public key is used to verify it. This ensures the security and integrity of the voting process.

A bit commitment scheme is a cryptographic protocol that allows a party to commit to a chosen value without revealing it, and later reveal the value in a way that cannot be changed. In this voting system, the bit commitment scheme is used to ensure that each voter's vote remains secret until the final tally is computed.

The purpose of Vote Casting is for each voter to cast their vote and ensure its authenticity and secrecy. The voter chooses their vote and publishes it in the form of a bit commitment, along with a proof that it was chosen from the set $\{-1, 1\}$. This means that the voter is publicly stating their vote, but the actual value remains hidden until the final tally. This step is important for maintaining the anonymity of the voters.

In the Vote Distribution step, the voter is using Shamir's secret sharing scheme to share their vote and blinding value among the tally centers. The sentence you mentioned means that the voter is publicly posting a commitment to the polynomial $R_j(X)$, which is a way of proving that they have not changed their vote or blinding value. This is done using the commitment scheme, which is a cryptographic protocol that ensures the integrity of the voter's commitments.

I hope this helps clarify the process of this electronic voting system. Let me know if you have any other questions or if anything is still unclear. I am always happy to help others understand complex concepts and systems. Keep learning and asking questions!

Related to How Does an Electronic Voting System Ensure Voter Anonymity and Security?

1. What is an electronic voting system?

An electronic voting system is a method of casting and counting votes using electronic devices, such as computers, touchscreens, or optical scanners, instead of traditional paper ballots.

2. How does an electronic voting system work?

Typically, voters use an electronic device to make their selections, which are then recorded and stored electronically. The votes are then tallied and reported by a central computer system, making the process faster and more efficient compared to manual vote counting.

3. Is electronic voting secure?

Electronic voting systems can have various security measures in place, such as encryption and authentication, to protect against tampering and ensure the accuracy of the results. However, no system is completely immune to hacking or technical malfunctions, so it's important to have backup measures and constantly monitor for potential vulnerabilities.

4. What are the benefits of using an electronic voting system?

Electronic voting can reduce human error and increase the speed and accuracy of vote counting. It can also make the voting process more accessible for individuals with disabilities and can potentially reduce costs for printing and distributing paper ballots.

5. What are the drawbacks of electronic voting?

One of the main concerns with electronic voting is the potential for technical malfunctions or hacking, which can compromise the integrity of the election. Another issue is the lack of a paper trail, making it difficult to audit or recount votes in case of discrepancies. Additionally, not all voters may feel comfortable or familiar with using electronic devices for voting.

Similar threads

  • MATLAB, Maple, Mathematica, LaTeX
  • General Math
  • Engineering and Comp Sci Homework Help
  • General Discussion