Punchscan is an
optical scan vote counting system invented by
cryptographer
Cryptography, or cryptology (from "hidden, secret"; and ''graphein'', "to write", or '' -logia'', "study", respectively), is the practice and study of techniques for secure communication in the presence of adversarial behavior. More gen ...
David Chaum
David Lee Chaum (born 1955) is an American computer scientist, List of cryptographers, cryptographer, and inventor. He is known as a pioneer in cryptography and privacy-preserving technologies, and widely recognized as the inventor of Digital cur ...
. Punchscan is designed to offer integrity, privacy, and transparency. The system is voter-verifiable, provides an
end-to-end (E2E) audit mechanism, and issues a
ballot receipt to each voter. The system won grand prize at the 2007
University Voting Systems Competition.
The
computer software
Software consists of computer programs that instruct the Execution (computing), execution of a computer. Software also includes design documents and specifications.
The history of software is closely tied to the development of digital comput ...
which Punchscan incorporates is
open-source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
; the
source code
In computing, source code, or simply code or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer.
Since a computer, at base, only ...
was released on 2 November 2006 under a revised
BSD licence
BSD licenses are a family of permissive free software licenses, imposing minimal restrictions on the use and distribution of covered software. This is in contrast to copyleft licenses, which have share-alike requirements. The original BSD lice ...
. However, Punchscan is software independent; it draws its security from
cryptographic
Cryptography, or cryptology (from "hidden, secret"; and ''graphein'', "to write", or '' -logia'', "study", respectively), is the practice and study of techniques for secure communication in the presence of adversarial behavior. More gen ...
functions instead of relying on
software security
Application security (short AppSec) includes all tasks that introduce a secure software development life cycle to development teams. Its final goal is to improve security practices and, through that, to find, fix and preferably prevent security is ...
like
DRE voting machine
A DRE voting machine, or direct-recording electronic voting machine, records votes by means of a ballot display provided with mechanical or electro-optical components that can be activated by the voter. These are typically buttons or a touchsc ...
s. For this reason, Punchscan can be run on
closed source
Proprietary software is software that grants its creator, publisher, or other rightsholder or rightsholder partner a legal monopoly by modern copyright and intellectual property law to exclude the recipient from freely sharing the software or modi ...
operating system
An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ...
s, like
Microsoft Windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
, and still maintain unconditional integrity.
The Punchscan team, with additional contributors, has since developed
Scantegrity.
Voting procedure
A Punchscan
ballot
A ballot is a device used to cast votes in an election and may be found as a piece of paper or a small ball used in voting. It was originally a small ball (see blackballing) used to record decisions made by voters in Italy around the 16th cent ...
has two layers of paper. On the top layer, the
candidates
A candidate, or nominee, is a prospective recipient of an award or honor, or a person seeking or being considered for some kind of position. For example, one can be a candidate for membership in a group or election to an office, in which case a ...
are listed with a
symbol
A symbol is a mark, Sign (semiotics), sign, or word that indicates, signifies, or is understood as representing an idea, physical object, object, or wikt:relationship, relationship. Symbols allow people to go beyond what is known or seen by cr ...
or
letter beside their name. Below the candidate list, there are a series of round holes in the top layer of the ballot. Inside the holes on the bottom layer, the corresponding symbols are printed.
To cast a vote for a candidate, the voter must locate the hole with the symbol corresponding to the symbol beside the candidate's name. This hole is marked with a
Bingo-style ink dauber, which is purposely larger than the hole. The voter then separates the ballot, chooses either the top or the bottom layer to keep as a
receipt
A receipt (also known as a packing list, packing slip, packaging slip, (delivery) docket, shipping list, delivery list, bill of the parcel, Manifest (transportation), manifest, or customer receipt) is a document acknowledging that something h ...
, and
shreds the other layer. The receipt is
scanned at the polling station for
tabulation
A table is an arrangement of information or data, typically in rows and columns, or possibly in a more complex structure. Tables are widely used in communication, research, and data analysis. Tables appear in print media, handwritten notes, comp ...
.
The order of the symbols beside the candidate names is generated
randomly for each ballot, and thus differs from ballot to ballot. Likewise for the order of the symbols in the holes. For this reason, the receipt does not contain enough information to determine which candidate the vote was cast for. If the top layer is kept, the order of the symbols through the holes is unknown. If the bottom layer is kept, the order of the symbols beside the candidates name is unknown. Therefore, the voter cannot prove to someone else how they voted, which prevents
vote buying
Vote buying (also referred to as electoral clientelism and patronage politics) occurs when a political party or candidate distributes money or resources to a voter in an upcoming election with the expectation that the voter votes for the actor h ...
or voter intimidation.
Tabulation procedure
As an example, consider a two candidate election between
Coke and
Pepsi
Pepsi is a Carbonated water, carbonated soft drink with a cola flavor, manufactured by PepsiCo which serves as its flagship product. In 2023, Pepsi was the second most valuable soft drink brand worldwide behind Coca-Cola; the two share a long ...
, as illustrated in the preceding diagram. The order of the letters beside the candidates' names could be A and then B, or B and then A. We will call this ordering
, and let
=0 for the former ordering and
=1 for the latter. Therefore,
: order of symbols beside candidate list,
:
.
Likewise we can generalize for other parts of a ballot:
: order of symbols through the holes,
:
.
: which hole is marked,
:
.
: result of the ballot,
:
.
Note that the order of the candidates' names are fixed across all ballots. The result of a ballot can be calculated directly as,
:
(Equation 1)
However, when one layer of the ballot is shredded, either
or
is destroyed. Therefore, there is insufficient information to calculate
from the receipt (which is scanned). In order to calculate the election results, an electronic
database
In computing, a database is an organized collection of data or a type of data store based on the use of a database management system (DBMS), the software that interacts with end users, applications, and the database itself to capture and a ...
is used.
Before the election, the database is created with a series of columns as such. Each row in the database represents a ballot, and the order that the ballots are stored in the database is
shuffled (using a
cryptographic key
A key in cryptography is a piece of information, usually a string of numbers or letters that are stored in a file, which, when processed through a cryptographic algorithm
In mathematics and computer science, an algorithm () is a finite sequenc ...
that each candidate can
contribute to). The first column,
, has the shuffled order of the serial numbers.
contains a pseudorandom
bitstream
A bitstream (or bit stream), also known as binary sequence, is a sequence of bits.
A bytestream is a sequence of bytes. Typically, each byte is an 8-bit quantity, and so the term octet stream is sometimes used interchangeably. An octet may ...
generated from the key, and it will act as a
stream cipher
stream cipher is a symmetric key cipher where plaintext digits are combined with a pseudorandom cipher digit stream ( keystream). In a stream cipher, each plaintext digit is encrypted one at a time with the corresponding digit of the keystrea ...
.
will store an intermediate result.
contains a bit such that:
:
The result of each ballot will be stored in a separate column,
, where the order of the ballots will be reshuffled again. Thus
contains the row number in the
column where the result will be placed.
After the election is run and the
values have been scanned in,
is calculated as:
:
And the result is calculated as,
:
This is equivalent to equation 1,
:
The result column is published and given the ballots have been shuffled (twice), the order of the results column does not indicate which result is from which ballot number. Thus the election authority cannot trace votes to serial numbers.
Generalized form
For an election with
candidates, the above procedure is followed using
modulo
In computing and mathematics, the modulo operation returns the remainder or signed remainder of a division, after one number is divided by another, the latter being called the '' modulus'' of the operation.
Given two positive numbers and , mo ...
-n equations.
Basic auditing procedures
The voter's ballot receipt does not indicate which candidate the voter cast their ballot for, and therefore it is not secret information. After an election, the election authority will post an image of each receipt online. The voter can look up their ballot by typing in the serial number and they can check that information held by the election authority matches their ballot. This way, the voter can be confident that their ballot was ''cast as intended''.
Any voter or interested party can also inspect part of the database to ensure the results were calculated correctly. They cannot inspect the whole database, otherwise they could link votes to ballot serial numbers. However, half of the database can be safely inspected without breaking privacy. A random choice is made between opening
or
(this choice can be derived from the secret key or from a
true random source, such as
dice
A die (: dice, sometimes also used as ) is a small, throwable object with marked sides that can rest in multiple positions. Dice are used for generating random values, commonly as part of tabletop games, including dice games, board games, ro ...
or the
stock market
A stock market, equity market, or share market is the aggregation of buyers and sellers of stocks (also called shares), which represent ownership claims on businesses; these may include ''securities'' listed on a public stock exchange a ...
[Jeremy Clark, Aleks Essex, Carlisle Adams]
Secure and Observable Auditing of Electronic Voting Systems using Stock Indices
). This procedure allows the voter to be confident that the set of all ballots were ''counted as cast''.
If all ballots are ''counted as cast'' and ''cast as intended'', then all ballots are ''counted as intended''. Therefore, the integrity of the election can be proven to a very high probability.
Additional security
To further increase the integrity of a Punchscan election, several further steps can be taken to protect against a completely corrupt election authority.
Multiple databases
Since
,
, and
in the database are all generated pseudorandomly, multiple databases can be created with different random values for these columns. Each database is independent of the others, allowing the first half of some of the databases to be opened and inspected and the second half of others. Each database must produce the same final tally. Thus if an election authority were to tamper with the database to skew the final tally, they would have to tamper with each of the databases. The probability of the tampering being uncovered in the audit increases with the number of independent databases.
Commitments
Prior to an election, the election authority prints the ballots and creates the database(s). Part of this creation process involves
committing to the unique information contained on each ballot and in the databases. This is accomplished by applying a cryptographic
one-way function
In computer science, a one-way function is a function that is easy to compute on every input, but hard to invert given the image of a random input. Here, "easy" and "hard" are to be understood in the sense of computational complexity theory, s ...
to the information. Though the result of this function, the commitment, is made public, the actual information being committed to remains sealed. Because the function is one-way, it is computationally infeasible to determine the information on the sealed ballot given only its publicly posted commitment.
Ballot inspection
Prior to an election, twice as many ballots are produced as the number intended to use in the election. Half of these ballots are selected randomly (or each candidate could choose a fraction of the ballots) and opened. The rows in the database corresponding to these selected ballots can be checked to ensure the calculations are correct and not tampered with. Since the election authority does not know ''a priori'' which ballots will be selected, passing this audit means the database is well formed with a very high probability. Furthermore, the ballots can be checked against their commitments to ensure with high probability that the ballot commitments are correct.
See also
*
Stream cipher
stream cipher is a symmetric key cipher where plaintext digits are combined with a pseudorandom cipher digit stream ( keystream). In a stream cipher, each plaintext digit is encrypted one at a time with the corresponding digit of the keystrea ...
*
Commitment scheme
A commitment scheme is a cryptographic primitive that allows one to commit to a chosen value (or chosen statement) while keeping it hidden to others, with the ability to reveal the committed value later.Oded Goldreich (2001). Foundations of Crypt ...
*
Zero-knowledge proof
In cryptography, a zero-knowledge proof (also known as a ZK proof or ZKP) is a protocol in which one party (the prover) can convince another party (the verifier) that some given statement is true, without conveying to the verifier any information ...
References
{{reflist, 2
External links
Project home pageVocomp Submission— a comprehensive 80-page document explaining all aspects of the system
Electronic Democracy—
BBC World
BBC News is an international English-language pay television channel owned by BBC Global News Ltd. – a subsidiary of BBC Studios – and operated by the BBC News division of the BBC. The network carries news bulletins, documentaries, an ...
's
Digital Planet audio interview with
David Chaum
David Lee Chaum (born 1955) is an American computer scientist, List of cryptographers, cryptographer, and inventor. He is known as a pioneer in cryptography and privacy-preserving technologies, and widely recognized as the inventor of Digital cur ...
.
Making Every E-vote Count—
IEEE Spectrum
''IEEE Spectrum'' is a magazine edited and published by the Institute of Electrical and Electronics Engineers.
The first issue of ''IEEE Spectrum'' was published in January 1964 as a successor to ''Electrical Engineering''.
In 2010, ''IEEE Spe ...
.
* Transparent and Open Voting with Punchscan
Part Ian
Part IIFuture Tenseaudio interview with
David Chaum
David Lee Chaum (born 1955) is an American computer scientist, List of cryptographers, cryptographer, and inventor. He is known as a pioneer in cryptography and privacy-preserving technologies, and widely recognized as the inventor of Digital cur ...
.
Electronic voting methods
Applications of cryptography