University project · Java · Spring
El Gamal voting
How can a vote be verified without revealing individual choices?
A university project on encrypted voting, built with Java and Spring, using El Gamal encryption and zero-knowledge proofs. Its subject: verifying ballots and tallying votes without revealing individual choices.
At a glance
- Setting
- University project
- Technologies
- Java · Spring
- Encryption
- El Gamal
- Proofs
- Zero-knowledge proofs
Project context
A university project built with Java and Spring, around two requirements: keeping individual choices private and allowing ballots and the tally to be verified.
A teaching diagram
Keeping choices private
El Gamal encryption is central to the topic of keeping individual choices private.
Verifying ballots
A zero-knowledge proof demonstrates a property without revealing the secret used.
Tallying
Counting votes without making individual choices public.
01 · Encrypting without exposing choices
Encryption protects a ballot’s contents. The project studies El Gamal to explore the confidentiality of individual choices in a voting system.
02 · Verifying ballots
Verification should not require revealing a vote. Zero-knowledge proofs allow exploration of the distinction between a property to verify and the information that must remain private.
03 · Tallying without revealing choices
Tallying concerns the collective result rather than publishing every choice. The project’s subject combines that result with ballot verification without exposing individual votes.
