A web-based application to perform online voting for an election
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
BallotServer
EasyVote
Registration
SIRSFramework
TrustedCenter
LICENSE
README.md

README.md

Easy Vote app

A prototype for web-based secure voting

Performing online elections is almost for sure something modern society will eventually adopt.

For now, it is still necessary to educate people about this possibility, and prototype ideas to implement it.

EasyVote is a web-based application that provides one possible implementation, while trying to ensure integrity of the votes, their confidentiality, uniqueness of the votes, anonymity of the voters, audibility of an election, and non coercion for the voters. The key technique that it uses is called Blinding Mechanisms, introduced by David Chaum, and referenced in the (highly praised) Applied Criptography by Bruce Schneier. The simple idea of this technique is to allow a Trusted Authority to sign something (for instance, a vote) without becoming aware of its contents.

EasyVote is split in:

  • A GWT web front-end
  • A Java backend
  • A distributed component for Registration of voters
  • A centralized Trusted Authority
  • BallotBox back-ends
  • Persistence layers across all these components