Crypto I - E-Voting

Initial setup

Install the necessary dependencies with:

(ノ◕ヮ◕)ノ*:・゚✧ pip install -r requirements.txt ✧゚・: *ヽ(◕ヮ◕ヽ)

Start Servers

The registrar and board servers can be started by running:

(ノ◕ヮ◕)ノ*:・゚✧ ./startservers.sh ✧゚・: *ヽ(◕ヮ◕ヽ)

Or:

(ノ◕ヮ◕)ノ*:・゚✧ python2 registrar.py & python2 board.py ✧゚・: *ヽ(◕ヮ◕ヽ)

Start Voter Client

There are two versions of the voter client. For a console version, run:

(ノ◕ヮ◕)ノ*:・゚✧ python2 voter.py ✧゚・: *ヽ(◕ヮ◕ヽ)

For the GUI version, run:

(ノ◕ヮ◕)ノ*:・゚✧ python2 voterclient.py ✧゚・: *ヽ(◕ヮ◕ヽ)

Usage

Candidates

Candidates are listed, one per line, in candidates.txt

Registrar

Once it's running, don't touch it, you don't need to

Board

The board has 3 phases, hit enter to cycle through them (and quit at the end)

  1. Registration
  2. Voting
  3. Tallying and quit

Voter client

Instructions included in client

Voters

voters.db can be edited/deleted to change the registration status of voters