Skip to content
Matthew Bernhard edited this page Aug 16, 2013 · 3 revisions

Written By: Martin Nikoltchev

Usage

Compiling and running Tap is easily accomplished by building an artifact. In The InteliJ IDEA IDE go to Build -> Build Artifacts... -> Tap

The jar will then be compiled and automatically put in the /path/to/starvote/STAR-Vote/out/Tap as Tap.jar

With the jar built, you can simply cd to the jar directory and :

    $ java -jar Tap.jar [serial number] [report address] [port]
        serial number - serial number given to the tap machine
        report address - IP address of the Auditing Web Server
        port - port to connect to on the web server (usually set to the default port, 80).

Purpose

Tap is a data diode, meaning that it sends data out of the network. Specifically, Tap is responsible for sending information about voter's choices to a Web Server, allowing voters to verify, post-election, that their votes were counted correctly. If the voter decides to challenge the voting machine, the web server also provides a visual representation of the voter's selection as a way to verify the correctness of the system.

Technical Information

The Tap sits on the Auditorium network awaiting a polls closed message. Upon polls closed, it waits for the supervisor to fire the UploadCastBallotsEvent and the UploadChallengedBallotsEvent. The former contains a list of the ballot Ids and encryptions of all votes that were successfully cast in the election. The latter contains a list of the ballot Ids, the encryptions of the voters' selections, and the plain texts (in s-expression form) of all ballots that were challenged by voters during the course of the election. Tap uploads this data to the dedicated web server.

Clone this wiki locally