Polyas-Checker is a tool to verify the bulletin boards of the POLYAS 3.0 E-Voting System for universal verifiability, see also the original publication. The POLYAS 3.0 E-Voting System is used in the elections for the executive and the managing committee of the German Informatics Society in autumn 2023, see polyas3.0-verifiable-1.3.2.pdf for its system specification.
Installation Using Anaconda
conda env create --name polyas_checker --file environment.yml
Before executing the tool or unittests, run the following:
conda activate polyas_checker
Installation Using pip
python -m pip install -r requirements.txt
python src/polyas_checker.py [-s | --second-device] [-r | --receipt] [--log] [-l | --language lang] src
src
: Absolute path to election files-s, --second-device
: Check second device public parameters in filesrc/second-device-public-parameters.json
-r, --receipt
: Check ballot cast confirmation files (receipts) insrc/receipts
--log
: Log the status of ballots for all checked ballot cast confirmations-l, --language
: Sets the preferred language. If available, texts will be displayed in the preferred language, otherwise in the default language.
Additionally, this repository contains a GUI tool based on Qt5.
python src/polyas_checkerGUI.py
The path to the election files as well as all other options are then entered in the GUI.
python -m unittest discover src
See LICENSE
The principal development of this software has been done by Maximilian Noppel for the 2019 version with major refactorings and extensions for the 2023 version by Christoph Niederbudde.
For more information, please contact Michael Kirsten.