Breakwater:  An Electronic Voting System


This is a senior project for Cal Poly State University, San Luis Obispo

The Basic Question and Answers:

I want to see some code!!!  Where is it?!
    Here is the CVS repository.  Click on the file name then on view.

Whats the current status of the project?
    This is a prototype of a voting machine.  It is currently in development.

Why are you doing a voting machine?
    For starters, this is a way of delving into the complexities inherent in secure systems.  Secondly, as residents of California, we are well aware of the serious flaws in Diebold's voting software.

What systems does the voting machine run on?
    As it is a prototype, Linux is the only target platform.  A port to other Unix operating systems should not be difficult.

What have you learned so far?
    We read through about a dozen papers on what the properties ideal secure, anonymous voting machine.  Practically all papers on the subject refer to Fujioka, Okamoto, and Ohta's paper titled "A Practical Secret Voting Scheme for Large Scale Elections". (Published in Lecture Notes in Computer Science, vol 718)
    Another invaluable resource was Neils Ferguson and Bruce Schneier's book, Practical Cryptography.  This book discussed the mindset of developing a system, implementation issues, problems of existing solutions, as well as the foundations behind authentication, verification, and encryption.
    Finally, simply learning by doing such a system, we see just what is involved in writing a secure system and secure code.

What functionality is missing in the prototype plan that would be necessary in a final system?
    There are two significant aspects needed:  First, a modified signature mechanism called Blind Signatures is necessary to disassociate a voter from his or her vote  (Actually, there is an alternative disassociation mechanism called All or Nothing Disclosure of Secrets that could also be used in a voting machine).  Secondly, requiring signatures on files to prevent tampering.



Here is the sourceforge project page for Breakwater


The Obligatory SourceForge.net Logo