Wednesday, February 16, 2011

voting system

For each registered voter
1- print 2D barcode for the value of an cryptographically authenticated, semantically-secure-encrypted ID of each of the nominees, along with a signature to allow the voter to check if his vote was counted.
2- send to each voting room exactly the number of registered voters to vote in it
3- when a voter votes his video is recorded with a newspaper of the day so that he can't claim later he didn't vote. he is required to leave the encrypted IDs for the nominees he didn't vote for as a proof against him that he didn't vote for anyone other than the one who he did vote for him (while not-revealing to anyone but the central computer)
4- counts is checked for each room
5- after collecting the votes, an automated scanner scans the numbers and sends them to a secured server to check the authentication of each printed encrypted ID and then using homomorphic properties to tally the votes
6- the tally is once decrypted (so only the counts is revealed and privacy of each voter is preserved), the list of signatures of votes counted is kept so that each use can guarantee his vote was counted (zero-knowledge proofs might get involved her as well)

conclusion:
to the end use this is mostly as basic as cutting a piece of paper
only one central computer needed
privacy, authenticity, counting, checking, proofs, is guaranteed

No comments: