Skip to content
develop
Go to file
Code

README.md

Panoramix Framework and Tools

This repository includes the Panoramix Mixnet Service and the Panoramix Trust Control Panel.

Panoramix Mixnet Service

This is a framework that enables setting up and running mixnets. It employs three python packages:

  • panoramix: The main package that implements the mixnet logic
  • panoramix-service: A server implementing the panoramix API
  • panoramix-agent: A local agent for posting messages

Installation

In each of the three packages, run:

python setup.py install

The panoramix package includes three cryptographic backends: 'gpg', 'zeus', and 'sphinxmix'. In order to use them, you must install the respective dependencies with:

pip install -r requirements_.txt

Usage

The service can be run with panoramix-manage runserver --nothreading.

The panoramix package provides a wizard (panoramix-wizard) to allow the mixnet contributors to set up a mixnet (currently works with the sphinxmix backend only).

The panoramix-agent package provides a local agent to enable an end user to use a mixnet. As an example, sphinxmix-agent is a wizard to configure and launch an agent for sphinxmix. The end user can send messages to the mixnet by posting it to the local agent, using the panoramix-client.

Demo

Check file EXAMPLE for an extended description on how to setup and use a sphinxmix mixnet. For a demonstration of Panoramix workflow, see demo/README.

Panoramix Trust Control Panel

This is a tool that provides a cryprographically secure and auditable mechanism for configuring applications jointly by multiple mutually untrusted authorities.

Setup

The Trust Control Panel employs three python packages:

  • consensus-service: A server the runs negotiations among users
  • consensus-client: Client for the consensus service
  • trustpanel: The Trust Control Panel base logic

and an Ember-based web interface.

Each application that wishes to employ this tool must extend the trustpanel base package. As an example, the repository includes an extension for the Zeus E-voting System (directory zeus_trust):

  • trust.py - Initialize and launche the trust panel.
  • options.py - Configure the user actions for each configuration option.
  • spec.py - Specify the configuration options.

Deployment

The tool can be deployed using docker. From the root directory, run:

./docker/create-dev.sh

By default, the Zeus extension is installed and run. The Trust Control Panel is accessible at http://localhost:9000/ui/trustee1/.

Extensions for other applications must be registered in the file docker/services.conf.

Panoramix Horizon 2020

This project has received funding from the European Union’s Horizon 2020 Research and Innovation Programme under Grant Agreement No 653497.

Copyright and license

Copyright (C) 2016-2019 GRNET S.A.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see http://www.gnu.org/licenses/.

About

PANORAMIX repo

Resources

License

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  
You can’t perform that action at this time.