Cryptographic techniques for secure
voting systems
Introduction
Voting is one of the fundamental pillars of any democratic system. It allows
citizens to play an active role in electing their representatives and
influencing policy decisions. However, traditional paper-based voting
systems are prone to various issues like voter fraud, vote tampering and lack
of transparency. These challenges undermine the integrity and credibility of
election outcomes. With advancements in technology, electronic voting
systems were introduced with the promise of overcoming issues faced by
traditional systems. However, concerns around security, transparency and
trustworthiness of such digital systems have persisted. Cryptographic
techniques offer potential solutions to build trust and transparency in
electronic voting. This paper aims to explore how cryptographic protocols
can help design secure electronic voting systems.
Security Requirements for Voting Systems
Before examining cryptographic techniques, it is important to understand the
key security requirements that voting systems must satisfy:
- Privacy/Secrecy: A voter’s choices should remain private and not be
linkable to the voter. No party should be able to determine how an
individual voted.
- Accuracy: The system should accurately count all valid votes and only
those votes. It should not lose, change or miscount any votes.
- Integrity: The system should protect against unauthorized
modifications to votes or tallies. No votes should be altered, deleted or
replaced without detection.
- Verifiability: Voters should be able to independently verify that their
vote was recorded correctly and included in the final tally. Authorities
should be able to verify tallies were computed accurately.
- Availability: The system should be accessible to all eligible voters
during voting. It should function reliably without downtime on election
day.
- Eligibility: Only voters who are legally eligible can cast a vote. No one
can vote multiple times or on someone else’s behalf.
- Coercion-resistance: The system should not enable others to prove how
a voter voted under duress or coercion.
- Universal Verifiability: Anyone can independently verify election results
and detect irregularities without special access to hardware/software.
Cryptographic techniques like zero-knowledge proofs, blind signatures,
homomorphic encryption and threshold signatures can help build voting
systems that satisfy the above security properties. These are explored
further.
Homomorphic Encryption
Homomorphic encryption allows specific types of computations to be carried
out on encrypted data without decrypting it first. This maintains privacy of
individual votes while enabling counting and verification of encrypted tallies.
A simple voting protocol using homomorphic encryption could work as
follows:
- Encryption: Each voter encrypts their vote using the election public key
before casting. Common encryption schemes like Paillier cryptosystem
support addition of encrypted ballots.
- Tallying: As ballots arrive, a trusted tallying authority homomorphically
adds the encrypted votes.
- Decryption: After polls close, the tally is decrypted using the election
private key. This reveals the final count in cleartext.
- Verification: Anyone can re-encrypt the tally using the public key and
match it to the final encrypted tally. This verifies correct counting
without seeing individual votes.
Homomorphic encryption addresses privacy, integrity and verifiability
requirements. However, it requires a trusted third party for decryption.
Several alternative protocols address this using distributed trust techniques.
Schnorr’s Protocol and Blind Signatures
This protocol leverages blind signatures to achieve receipt-freeness while
preserving privacy and verifiability. The key steps are:
- Blinding: Each voter blinds their signed ballot by multiplying it with a
random factor. This “blinds” the signature.
- Signing: The blinded ballots are sent to an election authority who signs
them without seeing the actual vote.
- Unblinding: Voters remove the blinding factor to recover a signed ballot
with their real vote.
- Verification: Signed ballots are counted. Voters can later check
signatures to verify inclusion without revealing their vote.
Blind signatures guarantee no link between a signed ballot and its vote
content, thus satisfying privacy. The verification step provides individual
verifiability. This technique prevents vote selling and coercion as voters
cannot prove how they voted. It shifts trust to the signature issuing authority
who does not see vote values.
Mix-Nets and Randomization
Mix-nets anonymize and shuffle encrypted votes using a series of “mixes” to
hide information leaked from ciphertexts. Each mix server performs a
decrypt-shuffle-reencrypt step on the batch. This breaks relationships
between incoming and outgoing messages since re-encryption randomness
changes.
In voting, encrypted votes are sent through multiple non-colluding mix
servers:
- Votes are encrypted with a public key and include a nonce/tracking
number.
- After each mix, votes are re-encrypted with new randomness. Re-
orders also prevent linking to the input batch.
- The last mix server publishes the shuffled tally for counting.
- Votes can be verified later using the tracking numbers without
revealing the actual vote.
Proper setup and threshold signing among mix servers ensures integrity.
Multiple mix rounds strengthen anonymity compared to a single server. This
provides strong privacy with robustness against coalitions of corrupted
servers. Accountability can be enforced via mix proofs.
Secure Multiparty Computation
Secure multiparty computation (MPC) enables multiple parties to jointly
execute a protocol and compute functions over private inputs, without
revealing these inputs to each other. This can realize verifiable voting by
distributing trust among authorities.
For example in a 3-party protocol:
- Voters encrypt votes using public keys of the three authorities.
- Authorities engage in a secure MPC to decrypt, count votes and
generate a tally.
- The tally is published. Using zero-knowledge proofs, authorities
convince voters that decryption/counting was done correctly without
revealing individual votes.
- Auditing can verify protocol execution via transcripts/proofs.
With more than three parties, security improves as coalitions become larger.
Decentralizing trust over tallying and eliminating single points of failure
improves resilience to real-world threats. Accountable authorities can be
selected via verifiable random functions.
Zero-Knowledge Proofs
Zero-knowledge proofs (ZKPs) allow one party, called the prover, to convince
another party, called the verifier, of the validity of a statement without
revealing any private information.
In voting, ZKPs can be used:
- For ballot encryption: Prove an encrypted vote belongs to the set of
allowed options without revealing the plaintext.
- Tally integrity: Prove the final tally was correctly computed from
individual encrypted ballots.
- Eligibility: Prove a voter is registered without leaking
identity/registration data.
- Receipt-freeness: Prove a signed ballot is well-formed without revealing
the signature/vote mapping.
- MPC correctness: Allow distributed authorities to prove protocol
execution integrity.
Popular ZKP systems like Bulletproofs, zk-SNARKs and zk-STARKs enable
efficiently verifying complex statements about encrypted data. This brings
transparency and accountability while maintaining privacy. ZKPs only reveal
the end result, not inputs or process.
Evaluation of Techniques
Each cryptographic technique discussed addresses critical security
properties to varying extents:
- Homomorphic encryption provides privacy, verifiability but requires
trusted decryption. MPC/threshold signatures distribute this trust.
- Blind signatures achieve receipt-freeness but rely on a signature
issuer’s honesty. Mix-nets provide stronger privacy without per-voter
interaction.
- MPC/threshold protocols improve integrity by decentralizing trust over
tallying. However, they have higher setup and communication costs.
- ZKPs enable transparent verification of tallies, eligibility proofs etc. But
their complexity depends on the functions being proved.
- Anonymization via mix-nets strengthens privacy but adds latency for
multi-round mixing. Ballot tracking is also needed for individual
verifiability.
No single solution is optimal. Cryptographic voting schemes typically
combine techniques appropriately as trade-offs between efficiency, trust and
security properties. Flexible framework-based approaches using mix-nets,
MPC, homomorphic encryption etc. can realize optimally secure and
transparent voting systems.
Open Challenges
While significant advances have been made, open challenges remain in
designing fully realized cryptographic voting systems:
- Usability: Complex cryptographic protocols must be simplified and
integrated into intuitive interfaces for broad adoption by general
public.
- Performance: Fully homomorphic encryption and advanced zero-
knowledge proofs currently have high computational overheads and
latency. Efficiency needs to scale to population-level elections.
- Standards and certification: Common standards, evaluation criteria and
certification processes are required to establish trust in system
implementations.
- Coercion-resistance: Stronger defenses are still needed against
sophisticated vote buying and coercion that aim to de-anonymize
voters.
- Election logistics: Integration with traditional registration, vote casting
and tallying processes raises deployment challenges across
jurisdictions with varying election laws.
- Verifier complexity: While transparency is achieved at the protocol
level, verification interfaces must minimize burden on voters/auditors
to establish credibility.
- Live auditing: Methods to audit integrity of active elections need
refinement to provide transparent real-time oversight without system
disruption.
- Threat modeling: Voting systems must withstand unforeseen real world
attacks like supply chain compromises affecting internet-connected
systems and infrastructures.
Addressing the above challenges through continued research,
standardization and adoption of rapidly evolving cryptographic solutions can
help realize highly trusted and verifiable electronic voting at scale.
International cooperation on benchmarking and certifying systems using a
mix of techniques offers the best path ahead.
Conclusion
This paper discussed the core security requirements for voting systems and
how cryptographic techniques offer promising solutions. Homomorphic
encryption, blind signatures, mix-nets, secure multiparty computation and
zero-knowledge proofs were explained in the context of building verifiable,
secret and accurate digital voting protocols. While challenges remain, the
combination of these cryptographic methods within a flexible framework
holds potential to substantially improve integrity, transparency and
trustworthiness of electronic elections. Continued advancement through
open collaboration on standards, certifications and deployments is needed
for widespread, real-world adoption of cryptographically secure voting
systems. Overall, judicious application of cryptography provides a viable path
to overcome longstanding issues facing traditional paper-based methods and
modernize democratic processes through technology.
Voting is one of the fundamental pillars of any democratic system. It allows
citizens to play an active role in electing their representatives and
influencing policy decisions. However, traditional paper-based voting
systems are prone to various issues like voter fraud, vote tampering and lack
of transparency. These challenges undermine the integrity and credibility of
election outcomes. With advancements in technology, electronic voting
systems were introduced with the promise of overcoming issues faced by
traditional systems. However, concerns around security, transparency and
trustworthiness of such digital systems have persisted. Cryptographic
techniques offer potential solutions to build trust and transparency in
electronic voting. This paper aims to explore how cryptographic protocols
can help design secure electronic voting systems.
Security Requirements for Voting Systems
Before examining cryptographic techniques, it is important to understand the
key security requirements that voting systems must satisfy:
- Privacy/Secrecy: A voter’s choices should remain private and not be
linkable to the voter. No party should be able to determine how an
individual voted.
- Accuracy: The system should accurately count all valid votes and only
those votes. It should not lose, change or miscount any votes.
- Integrity: The system should protect against unauthorized
modifications to votes or tallies. No votes should be altered, deleted or
replaced without detection.
- Verifiability: Voters should be able to independently verify that their
vote was recorded correctly and included in the final tally. Authorities
should be able to verify tallies were computed accurately.
- Availability: The system should be accessible to all eligible voters
during voting. It should function reliably without downtime on election
day.
- Eligibility: Only voters who are legally eligible can cast a vote. No one
can vote multiple times or on someone else’s behalf.
- Coercion-resistance: The system should not enable others to prove how
a voter voted under duress or coercion.
- Universal Verifiability: Anyone can independently verify election results
and detect irregularities without special access to hardware/software.
Cryptographic techniques like zero-knowledge proofs, blind signatures,
homomorphic encryption and threshold signatures can help build voting
systems that satisfy the above security properties. These are explored
further.
Homomorphic Encryption
Homomorphic encryption allows specific types of computations to be carried
out on encrypted data without decrypting it first. This maintains privacy of
individual votes while enabling counting and verification of encrypted tallies.
A simple voting protocol using homomorphic encryption could work as
follows:
- Encryption: Each voter encrypts their vote using the election public key
before casting. Common encryption schemes like Paillier cryptosystem
support addition of encrypted ballots.
- Tallying: As ballots arrive, a trusted tallying authority homomorphically
adds the encrypted votes.
- Decryption: After polls close, the tally is decrypted using the election
private key. This reveals the final count in cleartext.
- Verification: Anyone can re-encrypt the tally using the public key and
match it to the final encrypted tally. This verifies correct counting
without seeing individual votes.
Homomorphic encryption addresses privacy, integrity and verifiability
requirements. However, it requires a trusted third party for decryption.
Several alternative protocols address this using distributed trust techniques.
Schnorr’s Protocol and Blind Signatures
This protocol leverages blind signatures to achieve receipt-freeness while
preserving privacy and verifiability. The key steps are:
- Blinding: Each voter blinds their signed ballot by multiplying it with a
random factor. This “blinds” the signature.
- Signing: The blinded ballots are sent to an election authority who signs
them without seeing the actual vote.
- Unblinding: Voters remove the blinding factor to recover a signed ballot
with their real vote.
- Verification: Signed ballots are counted. Voters can later check
signatures to verify inclusion without revealing their vote.
Blind signatures guarantee no link between a signed ballot and its vote
content, thus satisfying privacy. The verification step provides individual
verifiability. This technique prevents vote selling and coercion as voters
cannot prove how they voted. It shifts trust to the signature issuing authority
who does not see vote values.
Mix-Nets and Randomization
Mix-nets anonymize and shuffle encrypted votes using a series of “mixes” to
hide information leaked from ciphertexts. Each mix server performs a
decrypt-shuffle-reencrypt step on the batch. This breaks relationships
between incoming and outgoing messages since re-encryption randomness
changes.
In voting, encrypted votes are sent through multiple non-colluding mix
servers:
- Votes are encrypted with a public key and include a nonce/tracking
number.
- After each mix, votes are re-encrypted with new randomness. Re-
orders also prevent linking to the input batch.
- The last mix server publishes the shuffled tally for counting.
- Votes can be verified later using the tracking numbers without
revealing the actual vote.
Proper setup and threshold signing among mix servers ensures integrity.
Multiple mix rounds strengthen anonymity compared to a single server. This
provides strong privacy with robustness against coalitions of corrupted
servers. Accountability can be enforced via mix proofs.
Secure Multiparty Computation
Secure multiparty computation (MPC) enables multiple parties to jointly
execute a protocol and compute functions over private inputs, without
revealing these inputs to each other. This can realize verifiable voting by
distributing trust among authorities.
For example in a 3-party protocol:
- Voters encrypt votes using public keys of the three authorities.
- Authorities engage in a secure MPC to decrypt, count votes and
generate a tally.
- The tally is published. Using zero-knowledge proofs, authorities
convince voters that decryption/counting was done correctly without
revealing individual votes.
- Auditing can verify protocol execution via transcripts/proofs.
With more than three parties, security improves as coalitions become larger.
Decentralizing trust over tallying and eliminating single points of failure
improves resilience to real-world threats. Accountable authorities can be
selected via verifiable random functions.
Zero-Knowledge Proofs
Zero-knowledge proofs (ZKPs) allow one party, called the prover, to convince
another party, called the verifier, of the validity of a statement without
revealing any private information.
In voting, ZKPs can be used:
- For ballot encryption: Prove an encrypted vote belongs to the set of
allowed options without revealing the plaintext.
- Tally integrity: Prove the final tally was correctly computed from
individual encrypted ballots.
- Eligibility: Prove a voter is registered without leaking
identity/registration data.
- Receipt-freeness: Prove a signed ballot is well-formed without revealing
the signature/vote mapping.
- MPC correctness: Allow distributed authorities to prove protocol
execution integrity.
Popular ZKP systems like Bulletproofs, zk-SNARKs and zk-STARKs enable
efficiently verifying complex statements about encrypted data. This brings
transparency and accountability while maintaining privacy. ZKPs only reveal
the end result, not inputs or process.
Evaluation of Techniques
Each cryptographic technique discussed addresses critical security
properties to varying extents:
- Homomorphic encryption provides privacy, verifiability but requires
trusted decryption. MPC/threshold signatures distribute this trust.
- Blind signatures achieve receipt-freeness but rely on a signature
issuer’s honesty. Mix-nets provide stronger privacy without per-voter
interaction.
- MPC/threshold protocols improve integrity by decentralizing trust over
tallying. However, they have higher setup and communication costs.
- ZKPs enable transparent verification of tallies, eligibility proofs etc. But
their complexity depends on the functions being proved.
- Anonymization via mix-nets strengthens privacy but adds latency for
multi-round mixing. Ballot tracking is also needed for individual
verifiability.
No single solution is optimal. Cryptographic voting schemes typically
combine techniques appropriately as trade-offs between efficiency, trust and
security properties. Flexible framework-based approaches using mix-nets,
MPC, homomorphic encryption etc. can realize optimally secure and
transparent voting systems.
Open Challenges
While significant advances have been made, open challenges remain in
designing fully realized cryptographic voting systems:
- Usability: Complex cryptographic protocols must be simplified and
integrated into intuitive interfaces for broad adoption by general
public.
- Performance: Fully homomorphic encryption and advanced zero-
knowledge proofs currently have high computational overheads and
latency. Efficiency needs to scale to population-level elections.
- Standards and certification: Common standards, evaluation criteria and
certification processes are required to establish trust in system
implementations.
- Coercion-resistance: Stronger defenses are still needed against
sophisticated vote buying and coercion that aim to de-anonymize
voters.
- Election logistics: Integration with traditional registration, vote casting
and tallying processes raises deployment challenges across
jurisdictions with varying election laws.
- Verifier complexity: While transparency is achieved at the protocol
level, verification interfaces must minimize burden on voters/auditors
to establish credibility.
- Live auditing: Methods to audit integrity of active elections need
refinement to provide transparent real-time oversight without system
disruption.
- Threat modeling: Voting systems must withstand unforeseen real world
attacks like supply chain compromises affecting internet-connected
systems and infrastructures.
Addressing the above challenges through continued research,
standardization and adoption of rapidly evolving cryptographic solutions can
help realize highly trusted and verifiable electronic voting at scale.
International cooperation on benchmarking and certifying systems using a
mix of techniques offers the best path ahead.
Conclusion
This paper discussed the core security requirements for voting systems and
how cryptographic techniques offer promising solutions. Homomorphic
encryption, blind signatures, mix-nets, secure multiparty computation and
zero-knowledge proofs were explained in the context of building verifiable,
secret and accurate digital voting protocols. While challenges remain, the
combination of these cryptographic methods within a flexible framework
holds potential to substantially improve integrity, transparency and
trustworthiness of electronic elections. Continued advancement through
open collaboration on standards, certifications and deployments is needed
for widespread, real-world adoption of cryptographically secure voting
systems. Overall, judicious application of cryptography provides a viable path
to overcome longstanding issues facing traditional paper-based methods and
modernize democratic processes through technology.
Voting is one of the fundamental pillars of any democratic system. It allows
citizens to play an active role in electing their representatives and
influencing policy decisions. However, traditional paper-based voting
systems are prone to various issues like voter fraud, vote tampering and lack
of transparency. These challenges undermine the integrity and credibility of
election outcomes. With advancements in technology, electronic voting
systems were introduced with the promise of overcoming issues faced by
traditional systems. However, concerns around security, transparency and
trustworthiness of such digital systems have persisted. Cryptographic
techniques offer potential solutions to build trust and transparency in
electronic voting. This paper aims to explore how cryptographic protocols
can help design secure electronic voting systems.
Security Requirements for Voting Systems
Before examining cryptographic techniques, it is important to understand the
key security requirements that voting systems must satisfy:
- Privacy/Secrecy: A voter’s choices should remain private and not be
linkable to the voter. No party should be able to determine how an
individual voted.
- Accuracy: The system should accurately count all valid votes and only
those votes. It should not lose, change or miscount any votes.
- Integrity: The system should protect against unauthorized
modifications to votes or tallies. No votes should be altered, deleted or
replaced without detection.
- Verifiability: Voters should be able to independently verify that their
vote was recorded correctly and included in the final tally. Authorities
should be able to verify tallies were computed accurately.
- Availability: The system should be accessible to all eligible voters
during voting. It should function reliably without downtime on election
day.
- Eligibility: Only voters who are legally eligible can cast a vote. No one
can vote multiple times or on someone else’s behalf.
- Coercion-resistance: The system should not enable others to prove how
a voter voted under duress or coercion.
- Universal Verifiability: Anyone can independently verify election results
and detect irregularities without special access to hardware/software.
Cryptographic techniques like zero-knowledge proofs, blind signatures,
homomorphic encryption and threshold signatures can help build voting
systems that satisfy the above security properties. These are explored
further.
Homomorphic Encryption
Homomorphic encryption allows specific types of computations to be carried
out on encrypted data without decrypting it first. This maintains privacy of
individual votes while enabling counting and verification of encrypted tallies.
A simple voting protocol using homomorphic encryption could work as
follows:
- Encryption: Each voter encrypts their vote using the election public key
before casting. Common encryption schemes like Paillier cryptosystem
support addition of encrypted ballots.
- Tallying: As ballots arrive, a trusted tallying authority homomorphically
adds the encrypted votes.
- Decryption: After polls close, the tally is decrypted using the election
private key. This reveals the final count in cleartext.
- Verification: Anyone can re-encrypt the tally using the public key and
match it to the final encrypted tally. This verifies correct counting
without seeing individual votes.
Homomorphic encryption addresses privacy, integrity and verifiability
requirements. However, it requires a trusted third party for decryption.
Several alternative protocols address this using distributed trust techniques.
Schnorr’s Protocol and Blind Signatures
This protocol leverages blind signatures to achieve receipt-freeness while
preserving privacy and verifiability. The key steps are:
- Blinding: Each voter blinds their signed ballot by multiplying it with a
random factor. This “blinds” the signature.
- Signing: The blinded ballots are sent to an election authority who signs
them without seeing the actual vote.
- Unblinding: Voters remove the blinding factor to recover a signed ballot
with their real vote.
- Verification: Signed ballots are counted. Voters can later check
signatures to verify inclusion without revealing their vote.
Blind signatures guarantee no link between a signed ballot and its vote
content, thus satisfying privacy. The verification step provides individual
verifiability. This technique prevents vote selling and coercion as voters
cannot prove how they voted. It shifts trust to the signature issuing authority
who does not see vote values.
Mix-Nets and Randomization
Mix-nets anonymize and shuffle encrypted votes using a series of “mixes” to
hide information leaked from ciphertexts. Each mix server performs a
decrypt-shuffle-reencrypt step on the batch. This breaks relationships
between incoming and outgoing messages since re-encryption randomness
changes.
In voting, encrypted votes are sent through multiple non-colluding mix
servers:
- Votes are encrypted with a public key and include a nonce/tracking
number.
- After each mix, votes are re-encrypted with new randomness. Re-
orders also prevent linking to the input batch.
- The last mix server publishes the shuffled tally for counting.
- Votes can be verified later using the tracking numbers without
revealing the actual vote.
Proper setup and threshold signing among mix servers ensures integrity.
Multiple mix rounds strengthen anonymity compared to a single server. This
provides strong privacy with robustness against coalitions of corrupted
servers. Accountability can be enforced via mix proofs.
Secure Multiparty Computation
Secure multiparty computation (MPC) enables multiple parties to jointly
execute a protocol and compute functions over private inputs, without
revealing these inputs to each other. This can realize verifiable voting by
distributing trust among authorities.
For example in a 3-party protocol:
- Voters encrypt votes using public keys of the three authorities.
- Authorities engage in a secure MPC to decrypt, count votes and
generate a tally.
- The tally is published. Using zero-knowledge proofs, authorities
convince voters that decryption/counting was done correctly without
revealing individual votes.
- Auditing can verify protocol execution via transcripts/proofs.
With more than three parties, security improves as coalitions become larger.
Decentralizing trust over tallying and eliminating single points of failure
improves resilience to real-world threats. Accountable authorities can be
selected via verifiable random functions.
Zero-Knowledge Proofs
Zero-knowledge proofs (ZKPs) allow one party, called the prover, to convince
another party, called the verifier, of the validity of a statement without
revealing any private information.
In voting, ZKPs can be used:
- For ballot encryption: Prove an encrypted vote belongs to the set of
allowed options without revealing the plaintext.
- Tally integrity: Prove the final tally was correctly computed from
individual encrypted ballots.
- Eligibility: Prove a voter is registered without leaking
identity/registration data.
- Receipt-freeness: Prove a signed ballot is well-formed without revealing
the signature/vote mapping.
- MPC correctness: Allow distributed authorities to prove protocol
execution integrity.
Popular ZKP systems like Bulletproofs, zk-SNARKs and zk-STARKs enable
efficiently verifying complex statements about encrypted data. This brings
transparency and accountability while maintaining privacy. ZKPs only reveal
the end result, not inputs or process.
Evaluation of Techniques
Each cryptographic technique discussed addresses critical security
properties to varying extents:
- Homomorphic encryption provides privacy, verifiability but requires
trusted decryption. MPC/threshold signatures distribute this trust.
- Blind signatures achieve receipt-freeness but rely on a signature
issuer’s honesty. Mix-nets provide stronger privacy without per-voter
interaction.
- MPC/threshold protocols improve integrity by decentralizing trust over
tallying. However, they have higher setup and communication costs.
- ZKPs enable transparent verification of tallies, eligibility proofs etc. But
their complexity depends on the functions being proved.
- Anonymization via mix-nets strengthens privacy but adds latency for
multi-round mixing. Ballot tracking is also needed for individual
verifiability.
No single solution is optimal. Cryptographic voting schemes typically
combine techniques appropriately as trade-offs between efficiency, trust and
security properties. Flexible framework-based approaches using mix-nets,
MPC, homomorphic encryption etc. can realize optimally secure and
transparent voting systems.
Open Challenges
While significant advances have been made, open challenges remain in
designing fully realized cryptographic voting systems:
- Usability: Complex cryptographic protocols must be simplified and
integrated into intuitive interfaces for broad adoption by general
public.
- Performance: Fully homomorphic encryption and advanced zero-
knowledge proofs currently have high computational overheads and
latency. Efficiency needs to scale to population-level elections.
- Standards and certification: Common standards, evaluation criteria and
certification processes are required to establish trust in system
implementations.
- Coercion-resistance: Stronger defenses are still needed against
sophisticated vote buying and coercion that aim to de-anonymize
voters.
- Election logistics: Integration with traditional registration, vote casting
and tallying processes raises deployment challenges across
jurisdictions with varying election laws.
- Verifier complexity: While transparency is achieved at the protocol
level, verification interfaces must minimize burden on voters/auditors
to establish credibility.
- Live auditing: Methods to audit integrity of active elections need
refinement to provide transparent real-time oversight without system
disruption.
- Threat modeling: Voting systems must withstand unforeseen real world
attacks like supply chain compromises affecting internet-connected
systems and infrastructures.
Addressing the above challenges through continued research,
standardization and adoption of rapidly evolving cryptographic solutions can
help realize highly trusted and verifiable electronic voting at scale.
International cooperation on benchmarking and certifying systems using a
mix of techniques offers the best path ahead.
Conclusion
This paper discussed the core security requirements for voting systems and
how cryptographic techniques offer promising solutions. Homomorphic
encryption, blind signatures, mix-nets, secure multiparty computation and
zero-knowledge proofs were explained in the context of building verifiable,
secret and accurate digital voting protocols. While challenges remain, the
combination of these cryptographic methods within a flexible framework
holds potential to substantially improve integrity, transparency and
trustworthiness of electronic elections. Continued advancement through
open collaboration on standards, certifications and deployments is needed
for widespread, real-world adoption of cryptographically secure voting
systems. Overall, judicious application of cryptography provides a viable path
to overcome longstanding issues facing traditional paper-based methods and
modernize democratic processes through technology.
Voting is one of the fundamental pillars of any democratic system. It allows
citizens to play an active role in electing their representatives and
influencing policy decisions. However, traditional paper-based voting
systems are prone to various issues like voter fraud, vote tampering and lack
of transparency. These challenges undermine the integrity and credibility of
election outcomes. With advancements in technology, electronic voting
systems were introduced with the promise of overcoming issues faced by
traditional systems. However, concerns around security, transparency and
trustworthiness of such digital systems have persisted. Cryptographic
techniques offer potential solutions to build trust and transparency in
electronic voting. This paper aims to explore how cryptographic protocols
can help design secure electronic voting systems.
Security Requirements for Voting Systems
Before examining cryptographic techniques, it is important to understand the
key security requirements that voting systems must satisfy:
- Privacy/Secrecy: A voter’s choices should remain private and not be
linkable to the voter. No party should be able to determine how an
individual voted.
- Accuracy: The system should accurately count all valid votes and only
those votes. It should not lose, change or miscount any votes.
- Integrity: The system should protect against unauthorized
modifications to votes or tallies. No votes should be altered, deleted or
replaced without detection.
- Verifiability: Voters should be able to independently verify that their
vote was recorded correctly and included in the final tally. Authorities
should be able to verify tallies were computed accurately.
- Availability: The system should be accessible to all eligible voters
during voting. It should function reliably without downtime on election
day.
- Eligibility: Only voters who are legally eligible can cast a vote. No one
can vote multiple times or on someone else’s behalf.
- Coercion-resistance: The system should not enable others to prove how
a voter voted under duress or coercion.
- Universal Verifiability: Anyone can independently verify election results
and detect irregularities without special access to hardware/software.
Cryptographic techniques like zero-knowledge proofs, blind signatures,
homomorphic encryption and threshold signatures can help build voting
systems that satisfy the above security properties. These are explored
further.
Homomorphic Encryption
Homomorphic encryption allows specific types of computations to be carried
out on encrypted data without decrypting it first. This maintains privacy of
individual votes while enabling counting and verification of encrypted tallies.
A simple voting protocol using homomorphic encryption could work as
follows:
- Encryption: Each voter encrypts their vote using the election public key
before casting. Common encryption schemes like Paillier cryptosystem
support addition of encrypted ballots.
- Tallying: As ballots arrive, a trusted tallying authority homomorphically
adds the encrypted votes.
- Decryption: After polls close, the tally is decrypted using the election
private key. This reveals the final count in cleartext.
- Verification: Anyone can re-encrypt the tally using the public key and
match it to the final encrypted tally. This verifies correct counting
without seeing individual votes.
Homomorphic encryption addresses privacy, integrity and verifiability
requirements. However, it requires a trusted third party for decryption.
Several alternative protocols address this using distributed trust techniques.
Schnorr’s Protocol and Blind Signatures
This protocol leverages blind signatures to achieve receipt-freeness while
preserving privacy and verifiability. The key steps are:
- Blinding: Each voter blinds their signed ballot by multiplying it with a
random factor. This “blinds” the signature.
- Signing: The blinded ballots are sent to an election authority who signs
them without seeing the actual vote.
- Unblinding: Voters remove the blinding factor to recover a signed ballot
with their real vote.
- Verification: Signed ballots are counted. Voters can later check
signatures to verify inclusion without revealing their vote.
Blind signatures guarantee no link between a signed ballot and its vote
content, thus satisfying privacy. The verification step provides individual
verifiability. This technique prevents vote selling and coercion as voters
cannot prove how they voted. It shifts trust to the signature issuing authority
who does not see vote values.
Mix-Nets and Randomization
Mix-nets anonymize and shuffle encrypted votes using a series of “mixes” to
hide information leaked from ciphertexts. Each mix server performs a
decrypt-shuffle-reencrypt step on the batch. This breaks relationships
between incoming and outgoing messages since re-encryption randomness
changes.
In voting, encrypted votes are sent through multiple non-colluding mix
servers:
- Votes are encrypted with a public key and include a nonce/tracking
number.
- After each mix, votes are re-encrypted with new randomness. Re-
orders also prevent linking to the input batch.
- The last mix server publishes the shuffled tally for counting.
- Votes can be verified later using the tracking numbers without
revealing the actual vote.
Proper setup and threshold signing among mix servers ensures integrity.
Multiple mix rounds strengthen anonymity compared to a single server. This
provides strong privacy with robustness against coalitions of corrupted
servers. Accountability can be enforced via mix proofs.
Secure Multiparty Computation
Secure multiparty computation (MPC) enables multiple parties to jointly
execute a protocol and compute functions over private inputs, without
revealing these inputs to each other. This can realize verifiable voting by
distributing trust among authorities.
For example in a 3-party protocol:
- Voters encrypt votes using public keys of the three authorities.
- Authorities engage in a secure MPC to decrypt, count votes and
generate a tally.
- The tally is published. Using zero-knowledge proofs, authorities
convince voters that decryption/counting was done correctly without
revealing individual votes.
- Auditing can verify protocol execution via transcripts/proofs.
With more than three parties, security improves as coalitions become larger.
Decentralizing trust over tallying and eliminating single points of failure
improves resilience to real-world threats. Accountable authorities can be
selected via verifiable random functions.
Zero-Knowledge Proofs
Zero-knowledge proofs (ZKPs) allow one party, called the prover, to convince
another party, called the verifier, of the validity of a statement without
revealing any private information.
In voting, ZKPs can be used:
- For ballot encryption: Prove an encrypted vote belongs to the set of
allowed options without revealing the plaintext.
- Tally integrity: Prove the final tally was correctly computed from
individual encrypted ballots.
- Eligibility: Prove a voter is registered without leaking
identity/registration data.
- Receipt-freeness: Prove a signed ballot is well-formed without revealing
the signature/vote mapping.
- MPC correctness: Allow distributed authorities to prove protocol
execution integrity.
Popular ZKP systems like Bulletproofs, zk-SNARKs and zk-STARKs enable
efficiently verifying complex statements about encrypted data. This brings
transparency and accountability while maintaining privacy. ZKPs only reveal
the end result, not inputs or process.
Evaluation of Techniques
Each cryptographic technique discussed addresses critical security
properties to varying extents:
- Homomorphic encryption provides privacy, verifiability but requires
trusted decryption. MPC/threshold signatures distribute this trust.
- Blind signatures achieve receipt-freeness but rely on a signature
issuer’s honesty. Mix-nets provide stronger privacy without per-voter
interaction.
- MPC/threshold protocols improve integrity by decentralizing trust over
tallying. However, they have higher setup and communication costs.
- ZKPs enable transparent verification of tallies, eligibility proofs etc. But
their complexity depends on the functions being proved.
- Anonymization via mix-nets strengthens privacy but adds latency for
multi-round mixing. Ballot tracking is also needed for individual
verifiability.
No single solution is optimal. Cryptographic voting schemes typically
combine techniques appropriately as trade-offs between efficiency, trust and
security properties. Flexible framework-based approaches using mix-nets,
MPC, homomorphic encryption etc. can realize optimally secure and
transparent voting systems.
Open Challenges
While significant advances have been made, open challenges remain in
designing fully realized cryptographic voting systems:
- Usability: Complex cryptographic protocols must be simplified and
integrated into intuitive interfaces for broad adoption by general
public.
- Performance: Fully homomorphic encryption and advanced zero-
knowledge proofs currently have high computational overheads and
latency. Efficiency needs to scale to population-level elections.
- Standards and certification: Common standards, evaluation criteria and
certification processes are required to establish trust in system
implementations.
- Coercion-resistance: Stronger defenses are still needed against
sophisticated vote buying and coercion that aim to de-anonymize
voters.
- Election logistics: Integration with traditional registration, vote casting
and tallying processes raises deployment challenges across
jurisdictions with varying election laws.
- Verifier complexity: While transparency is achieved at the protocol
level, verification interfaces must minimize burden on voters/auditors
to establish credibility.
- Live auditing: Methods to audit integrity of active elections need
refinement to provide transparent real-time oversight without system
disruption.
- Threat modeling: Voting systems must withstand unforeseen real world
attacks like supply chain compromises affecting internet-connected
systems and infrastructures.
Addressing the above challenges through continued research,
standardization and adoption of rapidly evolving cryptographic solutions can
help realize highly trusted and verifiable electronic voting at scale.
International cooperation on benchmarking and certifying systems using a
mix of techniques offers the best path ahead.
Conclusion
This paper discussed the core security requirements for voting systems and
how cryptographic techniques offer promising solutions. Homomorphic
encryption, blind signatures, mix-nets, secure multiparty computation and
zero-knowledge proofs were explained in the context of building verifiable,
secret and accurate digital voting protocols. While challenges remain, the
combination of these cryptographic methods within a flexible framework
holds potential to substantially improve integrity, transparency and
trustworthiness of electronic elections. Continued advancement through
open collaboration on standards, certifications and deployments is needed
for widespread, real-world adoption of cryptographically secure voting
systems. Overall, judicious application of cryptography provides a viable path
to overcome longstanding issues facing traditional paper-based methods and
modernize democratic processes through technology.
Voting is one of the fundamental pillars of any democratic system. It allows
citizens to play an active role in electing their representatives and
influencing policy decisions. However, traditional paper-based voting
systems are prone to various issues like voter fraud, vote tampering and lack
of transparency. These challenges undermine the integrity and credibility of
election outcomes. With advancements in technology, electronic voting
systems were introduced with the promise of overcoming issues faced by
traditional systems. However, concerns around security, transparency and
trustworthiness of such digital systems have persisted. Cryptographic
techniques offer potential solutions to build trust and transparency in
electronic voting. This paper aims to explore how cryptographic protocols
can help design secure electronic voting systems.
Security Requirements for Voting Systems
Before examining cryptographic techniques, it is important to understand the
key security requirements that voting systems must satisfy:
- Privacy/Secrecy: A voter’s choices should remain private and not be
linkable to the voter. No party should be able to determine how an
individual voted.
- Accuracy: The system should accurately count all valid votes and only
those votes. It should not lose, change or miscount any votes.
- Integrity: The system should protect against unauthorized
modifications to votes or tallies. No votes should be altered, deleted or
replaced without detection.
- Verifiability: Voters should be able to independently verify that their
vote was recorded correctly and included in the final tally. Authorities
should be able to verify tallies were computed accurately.
- Availability: The system should be accessible to all eligible voters
during voting. It should function reliably without downtime on election
day.
- Eligibility: Only voters who are legally eligible can cast a vote. No one
can vote multiple times or on someone else’s behalf.
- Coercion-resistance: The system should not enable others to prove how
a voter voted under duress or coercion.
- Universal Verifiability: Anyone can independently verify election results
and detect irregularities without special access to hardware/software.
Cryptographic techniques like zero-knowledge proofs, blind signatures,
homomorphic encryption and threshold signatures can help build voting
systems that satisfy the above security properties. These are explored
further.
Homomorphic Encryption
Homomorphic encryption allows specific types of computations to be carried
out on encrypted data without decrypting it first. This maintains privacy of
individual votes while enabling counting and verification of encrypted tallies.
A simple voting protocol using homomorphic encryption could work as
follows:
- Encryption: Each voter encrypts their vote using the election public key
before casting. Common encryption schemes like Paillier cryptosystem
support addition of encrypted ballots.
- Tallying: As ballots arrive, a trusted tallying authority homomorphically
adds the encrypted votes.
- Decryption: After polls close, the tally is decrypted using the election
private key. This reveals the final count in cleartext.
- Verification: Anyone can re-encrypt the tally using the public key and
match it to the final encrypted tally. This verifies correct counting
without seeing individual votes.
Homomorphic encryption addresses privacy, integrity and verifiability
requirements. However, it requires a trusted third party for decryption.
Several alternative protocols address this using distributed trust techniques.
Schnorr’s Protocol and Blind Signatures
This protocol leverages blind signatures to achieve receipt-freeness while
preserving privacy and verifiability. The key steps are:
- Blinding: Each voter blinds their signed ballot by multiplying it with a
random factor. This “blinds” the signature.
- Signing: The blinded ballots are sent to an election authority who signs
them without seeing the actual vote.
- Unblinding: Voters remove the blinding factor to recover a signed ballot
with their real vote.
- Verification: Signed ballots are counted. Voters can later check
signatures to verify inclusion without revealing their vote.
Blind signatures guarantee no link between a signed ballot and its vote
content, thus satisfying privacy. The verification step provides individual
verifiability. This technique prevents vote selling and coercion as voters
cannot prove how they voted. It shifts trust to the signature issuing authority
who does not see vote values.
Mix-Nets and Randomization
Mix-nets anonymize and shuffle encrypted votes using a series of “mixes” to
hide information leaked from ciphertexts. Each mix server performs a
decrypt-shuffle-reencrypt step on the batch. This breaks relationships
between incoming and outgoing messages since re-encryption randomness
changes.
In voting, encrypted votes are sent through multiple non-colluding mix
servers:
- Votes are encrypted with a public key and include a nonce/tracking
number.
- After each mix, votes are re-encrypted with new randomness. Re-
orders also prevent linking to the input batch.
- The last mix server publishes the shuffled tally for counting.
- Votes can be verified later using the tracking numbers without
revealing the actual vote.
Proper setup and threshold signing among mix servers ensures integrity.
Multiple mix rounds strengthen anonymity compared to a single server. This
provides strong privacy with robustness against coalitions of corrupted
servers. Accountability can be enforced via mix proofs.
Secure Multiparty Computation
Secure multiparty computation (MPC) enables multiple parties to jointly
execute a protocol and compute functions over private inputs, without
revealing these inputs to each other. This can realize verifiable voting by
distributing trust among authorities.
For example in a 3-party protocol:
- Voters encrypt votes using public keys of the three authorities.
- Authorities engage in a secure MPC to decrypt, count votes and
generate a tally.
- The tally is published. Using zero-knowledge proofs, authorities
convince voters that decryption/counting was done correctly without
revealing individual votes.
- Auditing can verify protocol execution via transcripts/proofs.
With more than three parties, security improves as coalitions become larger.
Decentralizing trust over tallying and eliminating single points of failure
improves resilience to real-world threats. Accountable authorities can be
selected via verifiable random functions.
Zero-Knowledge Proofs
Zero-knowledge proofs (ZKPs) allow one party, called the prover, to convince
another party, called the verifier, of the validity of a statement without
revealing any private information.
In voting, ZKPs can be used:
- For ballot encryption: Prove an encrypted vote belongs to the set of
allowed options without revealing the plaintext.
- Tally integrity: Prove the final tally was correctly computed from
individual encrypted ballots.
- Eligibility: Prove a voter is registered without leaking
identity/registration data.
- Receipt-freeness: Prove a signed ballot is well-formed without revealing
the signature/vote mapping.
- MPC correctness: Allow distributed authorities to prove protocol
execution integrity.
Popular ZKP systems like Bulletproofs, zk-SNARKs and zk-STARKs enable
efficiently verifying complex statements about encrypted data. This brings
transparency and accountability while maintaining privacy. ZKPs only reveal
the end result, not inputs or process.
Evaluation of Techniques
Each cryptographic technique discussed addresses critical security
properties to varying extents:
- Homomorphic encryption provides privacy, verifiability but requires
trusted decryption. MPC/threshold signatures distribute this trust.
- Blind signatures achieve receipt-freeness but rely on a signature
issuer’s honesty. Mix-nets provide stronger privacy without per-voter
interaction.
- MPC/threshold protocols improve integrity by decentralizing trust over
tallying. However, they have higher setup and communication costs.
- ZKPs enable transparent verification of tallies, eligibility proofs etc. But
their complexity depends on the functions being proved.
- Anonymization via mix-nets strengthens privacy but adds latency for
multi-round mixing. Ballot tracking is also needed for individual
verifiability.
No single solution is optimal. Cryptographic voting schemes typically
combine techniques appropriately as trade-offs between efficiency, trust and
security properties. Flexible framework-based approaches using mix-nets,
MPC, homomorphic encryption etc. can realize optimally secure and
transparent voting systems.
Open Challenges
While significant advances have been made, open challenges remain in
designing fully realized cryptographic voting systems:
- Usability: Complex cryptographic protocols must be simplified and
integrated into intuitive interfaces for broad adoption by general
public.
- Performance: Fully homomorphic encryption and advanced zero-
knowledge proofs currently have high computational overheads and
latency. Efficiency needs to scale to population-level elections.
- Standards and certification: Common standards, evaluation criteria and
certification processes are required to establish trust in system
implementations.
- Coercion-resistance: Stronger defenses are still needed against
sophisticated vote buying and coercion that aim to de-anonymize
voters.
- Election logistics: Integration with traditional registration, vote casting
and tallying processes raises deployment challenges across
jurisdictions with varying election laws.
- Verifier complexity: While transparency is achieved at the protocol
level, verification interfaces must minimize burden on voters/auditors
to establish credibility.
- Live auditing: Methods to audit integrity of active elections need
refinement to provide transparent real-time oversight without system
disruption.
- Threat modeling: Voting systems must withstand unforeseen real world
attacks like supply chain compromises affecting internet-connected
systems and infrastructures.
Addressing the above challenges through continued research,
standardization and adoption of rapidly evolving cryptographic solutions can
help realize highly trusted and verifiable electronic voting at scale.
International cooperation on benchmarking and certifying systems using a
mix of techniques offers the best path ahead.
Conclusion
This paper discussed the core security requirements for voting systems and
how cryptographic techniques offer promising solutions. Homomorphic
encryption, blind signatures, mix-nets, secure multiparty computation and
zero-knowledge proofs were explained in the context of building verifiable,
secret and accurate digital voting protocols. While challenges remain, the
combination of these cryptographic methods within a flexible framework
holds potential to substantially improve integrity, transparency and
trustworthiness of electronic elections. Continued advancement through
open collaboration on standards, certifications and deployments is needed
for widespread, real-world adoption of cryptographically secure voting
systems. Overall, judicious application of cryptography provides a viable path
to overcome longstanding issues facing traditional paper-based methods and
modernize democratic processes through technology.