Skip to content
nicolas le douarec edited this page Jun 29, 2016 · 24 revisions

Welcome to the code.vote wiki!

this document gives you a line by line description of what's required to setup and run an election using code.vote and belenios underlying cryptographic protocol.

Organizing a digital poll with code.vote.

creation of the voting instance.

  1. root forms the voting system by provisioning and configuring the server, the user types and generating the election #UUID.
  2. Access to the server by root requires all parties (admin, census and trustees) to physically be together.

configuring the election

  1. administrator configures the election : poll type, questions asked choice of answers and options, start and end times of voting period..
  2. Trustees generate their private and public tallying keys and post their public key to the bulletin board

creating the voter's list

  1. census registers the voters and sends them their private voting key as well as an authentification method. At any time the voters personal data are captured or stored by census.
  2. Once the registering is closed, census posts the voters public keys file to the bulletin board

the voting can begin !


Voting period

  1. The voter choses her answer to the questions and encrypts her ballot in the web browser.
  2. The voter validates the ballot and signs it using the authentication method setup by the administrator. A copy of the encrypted ballot is kept on her computer for verification purposes.
  3. The voter signs her ballot and sends it to the bulletin board to be posted publicly.
  4. When the voting period is over, the ballot list is frozen and the bulletin board cannot be modified any longer.

Furthermore at any time :

  • before the closing of the voting period, a voter can amend her vote. The last posted ballot is used for tallying. others are ignored.
  • A voter can check that her ballot is in the ballot box of the bulletin board.
  • Any internet user can check the validity of all ballots posted in the ballot box of the bulletin board.

Tallying

  1. administrator terminates the election, the bulletin board is definitely set to read only
  2. Each Trustee decrypts partially the ballots and send the output to the administrator.
  3. administrator tallies the election using the trustees partial decryptions and concatenates the results.

The election parameters posted on the bulletin board enable any internet user to perform the tally and check the results of the election.