Skip to content

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.

License

Notifications You must be signed in to change notification settings

kastel-security/polyas-core3-universal-verification

Repository files navigation

Polyas-Checker

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.

Requirements

  • python3
  • gnupg only if ballot revocation is supported and revocation tokens require signing

Installation Using Anaconda

Setup Environment

conda env create --name polyas_checker --file environment.yml

Activating Environment

Before executing the tool or unittests, run the following:

conda activate polyas_checker

Installation Using pip

Dependencies

python -m pip install -r requirements.txt

Running Polyas-Checker

In the Command Line

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 file src/second-device-public-parameters.json
  • -r, --receipt: Check ballot cast confirmation files (receipts) in src/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.

In the GUI

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.

Unit Tests

python -m unittest discover src

Licence

See LICENSE

Contributors

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.

Contact

For more information, please contact Michael Kirsten.

About

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.

Resources

License

Stars

Watchers

Forks

Languages