This repository contains code for the following post series on degree of privacy and weighted voting:
- Degree of privacy in voting
- A privacy attack on weighted voting
- Degree of privacy for weighted voting
The following is included, under the src/main directory:
- Latte Integrale h-representation definitions for election polytopes. The attacks.hrep.latte contains the attacks described in post #2.
- Shell script to invoke Latte for counting in and integrating (ehrhart polynomials) over election polytopes. Used in post #2.
- Polymake perl scripts to define and list lattice points in the feasible region of election polytopes. Used in post #3.
- Scala code for the degree of privacy and probability calculations in post #3, using lattice point listings generated by polymake and ppl as input.
- Cplex LP integer program definitions for election polytopes. Can be used as an alternative to polymake.
A further post is here describing a simple crypto scheme offering ballot privacy for weighted voting, using a mixnet.