A limited implementation of Rabin and Rivest end-to-end verifiable electronic voting as described in their paper.
The high level system architecture looks like:
Install necessary packages in a virtualenv:
pip install -r requirements.txt
⫸ python3 -m src.main --help
usage: main.py [-h] [-v NUM_VOTERS]
Run simulated electronic elections
optional arguments:
-h, --help show this help message and exit
-v NUM_VOTERS, --voters NUM_VOTERS
number of voters to use, set randomly if not specified
For example:
# Automated simulation mode
make run