benadida / scantegrity-audit

Audit Code for the Scantegrity Voting System

This URL has Read+Write access

Ben Adida (author)
Mon Nov 02 22:25:42 -0800 2009
commit  1d8207bce8c03dae927abe9a41bcea00e5caad5b
tree    059dc58aae12279d80ade3eb666b9e7f0d62f209
parent  6d82eba94f0b1068f807145fc82900efc93a9538
README
The code for auditing a Scantegrity election

- commitment.py

the Scantegrity commitment scheme.
Requires PyCrypto

==================

Each file that follows is used for one step of the audit. In each case,
an election data directory is provided as input, e.g.

  python meeting1.py <ELECTION_DATA_DIR>
  
This election data directory is expected to contain all of the XML files needed
up to this point in the verification. For example, when running meeting1.py,
the following files are expected:

  MeetingOneIn.xml
  MeetingOneOut.xml
 
The verification programs are stateless: they reload all of the data they need at that point.
This may make them slower than absolutely necessary, but it also prevents potential issues
with data storage, with forgetting to run one verification, etc...

Any signatures of the outputs are performed separately, these programs just run the verification.

- meeting1.py

verify the basic parameters

- meeting2.py

verify the audit of the P and D tables.
*IMPORTANT*, the random seed data must be added in the election directory, the one that contains MeetingTwoIn.xml and 
MeetingTwoOut.xml,
with name pre-election-random-data.txt

- meeting3.py

- meeting4.py

- contestedballots.py

- spoiledballots.py