# Attacking and fixing Helios: An analysis of ballot secrecy
,
## Abstract
Helios 2.0 is an open-source web-based end-to-end verifiable electronic voting system, suitable for use in low-coercion environments. In this paper, we analyse ballot secrecy and discover a vulnerability which allows an adversary to compromise the privacy of voters. This vulnerability has been successfully exploited to break privacy in a mock election using the current Helios implementation. Moreover, the feasibility of an attack is considered in the context of French legislative elections and, based upon our findings, we believe it constitutes a real threat to ballot secrecy in such settings. Finally, we present a fix and show that our solution satisfies a formal definition of ballot secrecy using the applied pi calculus.
Applied Pi Calculus, Attack, Ballot Independence, Ballot Secrecy, Electronic Voting, Helios, Privacy.
# Introduction
Paper-based elections derive privacy properties from physical characteristics of the real-world, for example, the indistinguishability of an individual’s ballot from an arbitrary ballot, and the inability of a coercer to collaborate with a voter inside a polling booth. Replicating these attributes in a digital setting has proven to be difficult and, hence, the provision of electronic voting systems which ensure the privacy of voters is an active research topic (Fujioka, Okamoto, and Ohta 1992; Okamoto 1998; Juels, Catalano, and Jakobsson 2002).
Informally, privacy for electronic voting systems is characterised by the following properties (Kremer and Ryan 2005; Delaune, Kremer, and Ryan 2006; Backes, Hriţcu, and Maffei 2008):
- *Ballot secrecy.* A voter’s vote is not revealed to anyone.
- *Receipt freeness.* A voter cannot gain information which can be used to prove, to a coercer, how she voted.
- *Coercion resistance.* A voter cannot collaborate, with a coercer, to gain information which can be used to prove how she voted.
Other desirable properties of electronic voting systems include (Juels, Catalano, and Jakobsson 2002; Participants of the Dagstuhl Conference on Frontiers of E-Voting 2007; Kremer, Ryan, and Smyth 2010):
- *Fairness:* All votes are independently cast.
- *Individual verifiability:* A voter can check that her own ballot is published on the election’s bulletin board.
- *Universal verifiability:* Anyone can check that all the votes in the election outcome correspond to ballots published on the election’s bulletin board.
The fairness property prohibits the voting system from influencing a voter’s vote; more formally, this requires that observation of the voting system (that is, observing interaction between participants) does not leak information that may affect a voter’s decision. One aspect of fairness is *ballot independence*, which based upon (Gennaro 1995, sec. 1.1) can be informally stated as: observing another voter’s interaction with the election system does not allow a voter to cast a *related* vote. The individual and universal verifiability properties (also called *end-to-end verifiability* (Juels, Catalano, and Jakobsson 2002; Chaum, Ryan, and Schneider 2005; Adida 2006, 2008; Participants of the Dagstuhl Conference on Frontiers of E-Voting 2007)) allow voters and election observers to verify – independently of the hardware and software running the election – that votes have been recorded, tallied and declared correctly. In this paper, we analyse ballot secrecy in Helios 2.0 (Adida et al. 2009).
Helios is an open-source web-based electronic voting system. The scheme is claimed to satisfy ballot secrecy (Adida et al. 2009), but the nature of remote voting makes the possibility of satisfying stronger privacy properties difficult, and Helios does not satisfy receipt freeness nor coercion resistance. In addition to ballot secrecy, the system provides end-to-end verifiability (cf. (Kremer, Ryan, and Smyth 2010; Smyth et al. 2010) and (Smyth 2011, chap. 3) for an analysis of end-to-end verifiability in Helios). Helios is particularly significant due to its real-world deployment: the International Association of Cryptologic Research used Helios to elect its board members (Benaloh, Vaudenay, and Quisquater 2010), following a successful trial in a non-binding poll (Haber, Benaloh, and Halevi 2010); the Catholic University of Louvain adopted the system to elect the university president (Adida et al. 2009); and Princeton University used Helios to elect the student vice president (Princeton University 2010).
Formal definitions of ballot secrecy have been introduced in the context of the applied pi calculus by Delaune, Kremer & Ryan (Kremer and Ryan 2005; Delaune, Kremer, and Ryan 2006; Delaune, Kremer, and Ryan 2009, 2010) and Backes, Hriţcu & Maffei (Backes, Hriţcu, and Maffei 2008). These privacy definitions consider two voters $\mathcal{A}$, $\mathcal{B}$ and two candidates $t$, $t'$. Ballot secrecy is captured by the assertion that an adversary (controlling arbitrary many dishonest voters) cannot distinguish between a situation in which voter $\mathcal{A}$ votes for candidate $t$ and voter $\mathcal{B}$ votes for candidate $t'$, from another situation in which $\mathcal{A}$ votes $t'$ and $\mathcal{B}$ votes $t$. This can be expressed by the following equivalence. $$\mathcal{A}(t)\mid\mathcal{B}(t') \approx_l \mathcal{A}(t')\mid\mathcal{B}(t)$$ These formal definitions of ballot secrecy have been used by their respective authors to analyse the electronic voting protocols due to: Fujioka, Okamoto & Ohta (Fujioka, Okamoto, and Ohta 1992), Okamoto (Okamoto 1998), Lee *et al.* (Lee et al. 2004), and Juels, Catalano & Jakobsson (Juels, Catalano, and Jakobsson 2002, 2005, 2010). It therefore seems natural to check whether Helios satisfies ballot secrecy as well.
#### Contribution
Our analysis of Helios reveals an attack which violates ballot secrecy. The attack exploits the system’s lack of ballot independence, and works by replaying a voter’s ballot or a variant of it (without knowing the vote contained within that ballot). Replaying a voter’s ballot immediately violates ballot secrecy in an election with three voters. For example, consider the electorate Alice, Bob, and Mallory; if Mallory replays Alice’s ballot, then Mallory can reveal Alice’s vote by observing the election outcome and checking which candidate obtained at least two votes. The practicality of this attack has been demonstrated by violating privacy in a mock election using the current Helios implementation. Furthermore, the vulnerability can be exploited in more realistic settings and, as an illustrative example, we discuss the feasibility of the attack in French legislative elections. This case study suggests there is a plausible threat to ballot secrecy. We also propose a variant of the attack which abuses the malleability of ballots to ensure replayed ballots are distinct: this makes identification of replayed ballots non-trivial (that is, checking for exact duplicates is insufficient). Nonetheless, we fix the Helios protocol by identifying and discarding replayed ballots. We believe this solution is particular well-suited because it maintains Benaloh’s principle of ballot casting assurance (Benaloh 2006, 2007) and requires a minimal extension to the Helios code-base. Finally, we show that the revised scheme satisfies a formal definition of ballot secrecy using the applied pi calculus.
#### Related work
The concept of independence was introduced by Chor *et al.* (Chor et al. 1985) and the possibility of compromising security properties due to lack of independence has been considered, for example, by (Chor and Rabin 1987; Dolev, Dwork, and Naor 1991, 2000; Gennaro 2000). In the context of electronic voting, Gennaro (Gennaro 1995) demonstrates that the application of the Fiat-Shamir heuristic in the Sako-Kilian electronic voting protocol (Sako and Kilian 1994) violates ballot independence, and Wikström (Wikström 2006, 2008) studies non-malleability for mixnets to achieve ballot independence. By comparison, we focus on the violation of ballot secrecy rather than fairness, and exploit the absence of ballot independence to compromise privacy. Similar results have been shown against mixnets (Pfitzmann 1994).
Estehghari & Desmedt (Estehghari and Desmedt 2010) claim to present an attack which undermines privacy and end-to-end verifiability in Helios. However, their attack is dependent on compromising a voter’s computer, a vulnerability which is explicitly acknowledged by the Helios specification (Adida et al. 2009): *“a specifically targeted virus could surreptitiously change a user’s vote and mask all of the verifications performed via the same computer to cover its tracks."* Accordingly, (Estehghari and Desmedt 2010) represents an exploration of known vulnerabilities rather than an attack.
Langer *et al.* (Langer 2010; Langer, Schmidt, Buchmann, and Volkamer 2010) and Volkamer & Grimm (Volkamer and Grimm 2010) also study privacy in Helios. Langer *et al.* propose a taxonomy of informal privacy requirements (Langer 2010; Langer, Schmidt, Buchmann, and Volkamer 2010; Langer, Schmidt, Buchmann, Volkamer, and Stolfik 2010) to facilitate a more fine-grained comparison of electronic voting systems; this framework is used to analyse Helios and the authors claim ballot secrecy is satisfied if the adversary only has access to public data (Langer 2010; Langer, Schmidt, Buchmann, and Volkamer 2010). Volkamer & Grimm introduce the *$k$-resilience* metric (Volkamer and Grimm 2010; Volkamer 2009) to calculate the number of honest participants required for ballot secrecy in particular scenarios; this framework is used to analyse Helios and the authors claim ballot secrecy is satisfied if the software developers are honest and the key holders do not collude (Volkamer and Grimm 2010). Contrary to these results, we show an attack against privacy. Our work highlights the necessity for rigorous mathematical analysis techniques for security protocols; in particular, we believe the erroneous results reported by Langer *et al.* were due to the use of informal methods, and the approach by Volkamer & Grimm failed because only some particular scenarios were considered.
#### Structure of this paper
Section
**Definition 1** (Static equivalence). *Two closed frames $\varphi$ and $\psi$ are statically equivalent, denoted $\varphi \approx_s \psi$, if $\textnormal{dom}(\varphi) = \textnormal{dom}(\psi)$ and there exists a set of names $\tilde n$ and substitutions $\sigma,\tau$ such that $\varphi\equiv \nu\,\tilde{n}.\sigma$ and $\psi
\equiv \nu\,\tilde{n}.\tau$ and for all terms $M,N$ such that $\tilde{n} \cap (\textnormal{fn}(M)
\cup \textnormal{fn}(N)) = \emptyset$, we have $M\sigma =_EN\sigma$ holds if and only if $M\tau =_EN\tau$ holds. Two closed extended processes $A,B$ are statically equivalent, written $A \approx_s
B$, if their frames are statically equivalent; that is, $\varphi(A) \approx_s
\varphi(B)$.*
The relation $\approx_s$ is called *static* equivalence because it only examines the current state of the processes, and not the processes’ dynamic behaviour. The following definition of labelled bisimilarity captures the dynamic part.
**Definition 2** (Labelled bisimilarity). *Labelled bisimilarity ($\approx_l$) is the largest symmetric relation $\mathcal{R}$ on closed extended processes such that $A \mathrel{\mathcal{R}}B$ implies:*
1. *$A \approx_s B$;*
2. *if $A \xrightarrow{}A'$, then $B \xrightarrow{}^* B'$ and $A' \mathrel{\mathcal{R}}B'$ for some $B'$;*
3. *if $A \xrightarrow{\alpha} A'$ such that $\textnormal{fv}(\alpha) \subseteq \textnormal{dom}(A)$ and $\textnormal{bn}(\alpha) \cap \textnormal{fn}(B) = \emptyset$, then $B\xrightarrow{}^*\xrightarrow{\alpha}\xrightarrow{}^* B'$ and $A' \mathrel{\mathcal{R}}B'$ for some $B'$.*
## Modelling Helios in applied pi
We start by constructing a suitable signature $\Sigma$ to capture the cryptographic primitives used by Helios and define an equational theory $E$ to capture the relationship between these primitives.
### Signature
We adopt the following signature. $$\begin{gathered}
\Sigma = \{\mathsf{ok},\mathsf{zero},\mathsf{one},\perp,\mathsf{fst},\mathsf{snd},\mathsf{pair},*,+,\circ,\\\mathsf{partial},\mathsf{checkspk},\mathsf{penc},\mathsf{spk},\}
\end{gathered}$$ Functions $\mathsf{ok},\mathsf{zero},\mathsf{one},\perp$ are constants; $\mathsf{fst},\mathsf{snd}$ are unary functions; $\mathsf{dec},\mathsf{pair},\mathsf{partial},*,+,\circ$ are binary functions; $\mathsf{checkspk},\mathsf{penc}$ are ternary functions; and $\mathsf{spk}$ is a function of arity four. We adopt infix notation for $*,+$, and $\circ$.
The term $\mathsf{penc}(T,N,M)$ denotes the encryption of plaintext $M$, using random nonce $N$ and key $T$. The term $U*U'$ denotes the homomorphic combination of ciphertexts $U$ and $U'$, the corresponding operation on plaintexts is written $M\mathrel+M'$ and $N\mathrel\circ N'$ on nonces. The partial decryption of ciphertext $U$ using key $L$ is denoted $\mathsf{partial}(L,U)$. The term $\mathsf{spk}(T,N,M,U)$ represents a signature of knowledge that proves $U$ is a ciphertext under public key $T$ on the plaintext $M$ using nonce $N$ and such that $M$ is either the constant $\mathsf{zero}$ or $\mathsf{one}$. We introduce tuples using pairings and, for convenience, $\mathsf{pair}(M_1, \mathsf{pair}(\dots, \mathsf{pair}(M_n, \perp)))$ is occasionally abbreviated as $\mbox{$(\mkern-2.8mu\rule[-.47ex]{.08ex}{2.10ex}\mkern 3mu$}{M_1,\dots,M_n}\mbox{$\mkern 3mu\rule[-.47ex]{.08ex}{2.1ex}\mkern-2.5mu)$}$, and $\mathsf{fst}(\mathsf{snd}^{i-1}(M))$ is denoted $\pi_{i}(M)$, where $i\in\mathbb{N}$. We use the equational theory $E$ that asserts functions $+,*,\circ$ are commutative and associative, and includes the equations: $$\begin{aligned}
&&\hspace{-11mm}\mathsf{fst}(\mathsf{pair}(x, y)) = x \label{eq:proj1}\\[0.3em]
%
&&\hspace{-11mm}\mathsf{snd}(\mathsf{pair}(x, y)) = y\label{eq:proj2}\\[0.3em]
%
%\>\sout{$\true \wedge \true = \true$}\\[1em]
%
&&\hspace{-11mm}\mathsf{zero}+ \mathsf{one}= \mathsf{one}\label{eq:addition}\\[0.3em] %%Needed to make signature proof of knowledge work.
%
&&\hspace{-11mm}\mathsf{dec}(x_{\mathsf{sk }},\mathsf{penc}(\mathsf{pk}(x_{\mathsf{sk }}),x_{\mathsf{rand }},x_{\mathsf{plain }})) = x_{\mathsf{plain }}\label{eq:dec}\\[0.3em]
%
&&\hspace{-11mm}\mathsf{dec}(\mathsf{partial}(x_{\mathsf{sk }},ciph),ciph) = x_{\mathsf{plain }}\label{eq:partial}\\
&&\hspace{-11mm}\text{ where } ciph=\mathsf{penc}(\mathsf{pk}(x_{\mathsf{sk }}),x_{\mathsf{rand }},x_{\mathsf{plain }}) \nonumber\\[0.3em]
%
&&\hspace{-11mm}\mathsf{penc}(x_{\mathsf{pk }},y_{\mathsf{rand }},y_{\mathsf{plain }})*\mathsf{penc}(x_{\mathsf{pk }},z_{\mathsf{rand }},z_{\mathsf{plain }}) \nonumber\\
&&\hspace{-11mm}\qquad=\mathsf{penc}(x_{\mathsf{pk }},y_{\mathsf{rand }}\circ z_{\mathsf{rand }},y_{\mathsf{plain }}+z_{\mathsf{plain }})\label{eq:combination}\\[0.3em]
%
&&\hspace{-11mm}\mathsf{checkspk}(x_{\mathsf{pk }},ball,\mathsf{spk}(x_{\mathsf{pk }},x_{\mathsf{rand }},\mathsf{zero},ball)\!) \!=\! \mathsf{ok}\label{eq:spk0}\\
&&\hspace{-11mm}\text{ where } ball=\mathsf{penc}(x_{\mathsf{pk }},x_{\mathsf{rand }},\mathsf{zero}) \nonumber\\[0.3em]
%
&&\hspace{-11mm}\mathsf{checkspk}(x_{\mathsf{pk }},ball,\mathsf{spk}(x_{\mathsf{pk }},x_{\mathsf{rand }},\mathsf{one},ball)\!) \!=\! \mathsf{ok}\label{eq:spk1}\\
&&\hspace{-11mm}\text{ where } ball=\mathsf{penc}(x_{\mathsf{pk }},x_{\mathsf{rand }},\mathsf{one}) \nonumber
\end{aligned}$$ Equation
**Definition 3** (Helios process specification). *A formula $\phi$ is a *Helios process specification*, if $\textnormal{fv}(\phi) \subseteq \{y_1,\allowbreak y_2,\allowbreak y_{\mathsf{ballot }},\allowbreak z_{\mathsf{pk }}\}$.*
The voting process $V$ contains free variables $x_{\mathsf{vote} },x_{\mathsf{vote} }'$ to represent the voter’s vote (which is expected to be encoded as constants $\mathsf{zero}$ and $\mathsf{one}$), and the free variable $x_{\mathsf{auth }}$ represents the channel shared by the voter and the bulletin board. The definition of the process $V$ corresponds to the description of the browser script (Figure
**Example 2**. *Given a Helios process specification $\phi$, an election with voters $\mathcal{A}$ and $\mathcal{B}$ who select votes $(m_1,m'_1),\allowbreak(m_2,m'_2)\in\{(\mathsf{zero},\mathsf{zero}),\allowbreak(\mathsf{zero},\mathsf{one}),\allowbreak(\mathsf{one},\mathsf{zero})\}$ and such that the other $n-2$ voters are controlled by the adversary, can be modelled by the process $A^\phi_n[V\{\textnormal{\raisebox{2pt}{\footnotesize $a_1$}}/\textnormal{\raisebox{-1.5pt}{\footnotesize $x_{\mathsf{auth }}$}}\}\sigma \mid V\{\textnormal{\raisebox{2pt}{\footnotesize $a_2$}}/\textnormal{\raisebox{-1.5pt}{\footnotesize $x_{\mathsf{auth }}$}}\}\tau]$, where $\sigma = \{\textnormal{\raisebox{2pt}{\footnotesize $m_1$}}/\textnormal{\raisebox{-1.5pt}{\footnotesize $x_{\mathsf{vote} }$}},\textnormal{\raisebox{2pt}{\footnotesize $m'_1$}}/\textnormal{\raisebox{-1.5pt}{\footnotesize $x_{\mathsf{vote} }'$}}\}$ and $\tau = \{\textnormal{\raisebox{2pt}{\footnotesize $m_2$}}/\textnormal{\raisebox{-1.5pt}{\footnotesize $x_{\mathsf{vote} }$}},\allowbreak\textnormal{\raisebox{2pt}{\footnotesize $m'_2$}}/\textnormal{\raisebox{-1.5pt}{\footnotesize $x_{\mathsf{vote} }'$}}\}$.*
#### Ballot validity
In Helios 2.0, the election officer considers a ballot to be valid if the signature proofs of knowledge hold. Accordingly, we can model the Helios administration by the process $A^{\phi_{\sf orig}}_n$ where the Helios process specification $\phi_{\sf orig}$ is defined as follows. $$\begin{gathered}
\phi_{\sf orig}\triangleq \mathsf{checkspk}(z_{\mathsf{pk }},\pi_{1}(y_{\mathsf{ballot }}),\pi_{3}(y_{\mathsf{ballot }})) = \mathsf{ok}\\
\mathrel\wedge \mathsf{checkspk}(z_{\mathsf{pk }},\pi_{2}(y_{\mathsf{ballot }}),\pi_{4}(y_{\mathsf{ballot }})) = \mathsf{ok}\\
\mathrel\wedge \mathsf{checkspk}(z_{\mathsf{pk }},\pi_{1}(y_{\mathsf{ballot }}) * \pi_{2}(y_{\mathsf{ballot }}),\pi_{5}(y_{\mathsf{ballot }})) = \mathsf{ok}
\end{gathered}$$ We have shown that these checks are insufficient to ensure ballot secrecy. Our weeding replayed ballots solution proposed in Section
**Definition 4** (Ballot secrecy). *Given a Helios process specification $\phi$, we say *ballot secrecy is satisfied* if for all $(m_1,m'_1),\allowbreak(m_2,m'_2)\in\{(\mathsf{zero},\mathsf{zero}),\allowbreak(\mathsf{zero},\mathsf{one}),\allowbreak(\mathsf{one},\mathsf{zero})\}$ and integers $\allowbreak n \geq2$, we have $$\begin{gathered}
A^{\phi}_n{[V\{\textnormal{\raisebox{2pt}{\footnotesize $a_1$}}/\textnormal{\raisebox{-1.5pt}{\footnotesize $x_{\mathsf{auth }}$}}\}\sigma \mid V\{\textnormal{\raisebox{2pt}{\footnotesize $a_2$}}/\textnormal{\raisebox{-1.5pt}{\footnotesize $x_{\mathsf{auth }}$}}\}\tau]}\\
\approx_l
A^{\phi}_n{[V\{\textnormal{\raisebox{2pt}{\footnotesize $a_1$}}/\textnormal{\raisebox{-1.5pt}{\footnotesize $x_{\mathsf{auth }}$}}\}\tau \mid V\{\textnormal{\raisebox{2pt}{\footnotesize $a_2$}}/\textnormal{\raisebox{-1.5pt}{\footnotesize $x_{\mathsf{auth }}$}}\}\sigma]}
\end{gathered}$$ where $\sigma = \{\textnormal{\raisebox{2pt}{\footnotesize $m_1$}}/\textnormal{\raisebox{-1.5pt}{\footnotesize $x_{\mathsf{vote} }$}},\textnormal{\raisebox{2pt}{\footnotesize $m'_1$}}/\textnormal{\raisebox{-1.5pt}{\footnotesize $x_{\mathsf{vote} }'$}}\}$ and $\tau = \{\textnormal{\raisebox{2pt}{\footnotesize $m_2$}}/\textnormal{\raisebox{-1.5pt}{\footnotesize $x_{\mathsf{vote} }$}},\allowbreak\textnormal{\raisebox{2pt}{\footnotesize $m'_2$}}/\textnormal{\raisebox{-1.5pt}{\footnotesize $x_{\mathsf{vote} }'$}}\}$.*
The ballot secrecy definition proposed by Delaune, Kremer & Ryan considered a vote to be an arbitrary name, whereas a vote in our setting must be a pair $(m,n)\in\{(\mathsf{zero},\mathsf{zero}),(\mathsf{zero},\mathsf{one}),(\mathsf{one},\mathsf{zero})\}$; it follows that Definition
**Lemma 1**. *The Helios process specification $\phi_{\sf orig}$ does not satisfy ballot secrecy.*
Intuitively, the proof of Lemma
**Theorem 1**. *The Helios process specification $\phi_{\sf sol}$ satisfies ballot secrecy.*
ProVerif is an automatic tool that can check equivalence in the applied pi calculus (Blanchet, Abadi, and Fournet 2008). Although ProVerif has been successfully used to prove ballot secrecy (for example, in the Fujioka, Okamoto & Ohta protocol (Delaune, Ryan, and Smyth 2008)), it cannot prove Theorem
**Definition 5** (Valid ballot). *A term $N$ is said to be a *valid ballot* if $N=\mbox{$(\mkern-2.8mu\rule[-.47ex]{.08ex}{2.10ex}\mkern 3mu$}{N_1,N_2,N_3,N_4,N_5}\mbox{$\mkern 3mu\rule[-.47ex]{.08ex}{2.1ex}\mkern-2.5mu)$}$ for some $N_i$ such that $N_1 = \mathsf{penc}(z_{\mathsf{pk }},N_1^1,N_1^2)$ and $N_1 = \mathsf{penc}(z_{\mathsf{pk }},N_2^1,N_2^2)$ with $N_1^2,N_2^2\in\{\mathsf{zero},\mathsf{one}\}$.*
Having shown that the bulletin board accepts only valid ballots, we can deduce that the outcome of the election at the end of the execution of $A^{\phi}_n{[V\{\textnormal{\raisebox{2pt}{\footnotesize $a_1$}}/\textnormal{\raisebox{-1.5pt}{\footnotesize $x_{\mathsf{auth }}$}}\}\sigma \mid V\{\textnormal{\raisebox{2pt}{\footnotesize $a_2$}}/\textnormal{\raisebox{-1.5pt}{\footnotesize $x_{\mathsf{auth }}$}}\}\tau]}$ is exactly the same as in $A^{\phi}_n{[V\{\textnormal{\raisebox{2pt}{\footnotesize $a_1$}}/\textnormal{\raisebox{-1.5pt}{\footnotesize $x_{\mathsf{auth }}$}}\}\tau\mid V\{\textnormal{\raisebox{2pt}{\footnotesize $a_2$}}/\textnormal{\raisebox{-1.5pt}{\footnotesize $x_{\mathsf{auth }}$}}\}\sigma]}$. We can then conclude the proof of Theorem
Abadi, Martı́n, and Cédric Fournet. 2001. “Mobile Values, New Names, and Secure Communication.” In *POPL’01: 28th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages*, 104–15. ACM Press.
Abadi, Martı́n, and Phillip Rogaway. 2000. “Reconciling Two Views of Cryptography (The Computational Soundness of Formal Encryption).” In *IFIP TCS’00: 1st International Conference on Theoretical Computer Science*, 1872:3–22. LNCS. Springer.
———. 2002. “Reconciling Two Views of Cryptography (The Computational Soundness of Formal Encryption).” *Journal of Cryptology* 15 (2): 103–27.
Adida, Ben. 2006. “Advances in Cryptographic Voting Systems.” PhD thesis, Department of Electrical Engineering; Computer Science, Massachusetts Institute of Technology.
———. 2008. “Helios: Web-based Open-Audit Voting.” In *USENIX Security’08: 17th USENIX Security Symposium*, 335–48. USENIX Association.
———. 2010. “Attacks and Defenses.” Helios documentation, .
Adida, Ben, Olivier de Marneffe, Olivier Pereira, and Jean-Jacques Quisquater. 2009. “Electing a University President Using Open-Audit Voting: Analysis of Real-World Use of Helios.” In *EVT/WOTE’09: Electronic Voting Technology Workshop/Workshop on Trustworthy Elections*. USENIX Association.
Adida, Ben, and Olivier Pereira. 2010. “Private Email Communication.”
“Article L65 of the French Electoral Code.” n.d. http://www.legifrance.gouv.fr/.
Backes, Michael, Cătălin Hriţcu, and Matteo Maffei. 2008. “Automated Verification of Remote Electronic Voting Protocols in the Applied Pi-calculus.” In *CSF’08: 21st Computer Security Foundations Symposium*, 195–209. IEEE Computer Society.
Benaloh, Josh. 2006. “Simple Verifiable Elections.” In *EVT’06: Electronic Voting Technology Workshop*. USENIX Association.
———. 2007. “Ballot Casting Assurance via Voter-Initiated Poll Station Auditing.” In *EVT’07: Electronic Voting Technology Workshop*. USENIX Association.
Benaloh, Josh, Serge Vaudenay, and Jean-Jacques Quisquater. 2010. “Final Report of IACR Electronic Voting Committee.” International Association for Cryptologic Research. .
Blanchet, Bruno, Martı́n Abadi, and Cédric Fournet. 2008. “Automated verification of selected equivalences for security protocols.” *Journal of Logic and Algebraic Programming* 75 (1): 3–51.
Chaum, David, Jan-Hendrik Evertse, and Jeroen van de Graaf. 1988. “An Improved Protocol for Demonstrating Possession of Discrete Logarithms and Some Generalizations.” In *EUROCRYPT’87: 4th International Conference on the Theory and Applications of Cryptographic Techniques*, 304:127–41. LNCS. Springer.
Chaum, David, Jan-Hendrik Evertse, Jeroen van de Graaf, and René Peralta. 1987. “Demonstrating Possession of a Discrete Logarithm Without Revealing It.” In *CRYPTO’86: 6th International Cryptology Conference*, 263:200–212. LNCS. Springer.
Chaum, David, and Torben P. Pedersen. 1993. “Wallet Databases with Observers.” In *CRYPTO’92: 12th International Cryptology Conference*, 740:89–105. LNCS. Springer.
Chaum, David, Peter Y. A. Ryan, and Steve Schneider. 2005. “A Practical Voter-Verifiable Election Scheme.” In *ESORICS’05: 10th European Symposium on Research in Computer Security*, 3679:118–39. LNCS. Springer.
Chor, Benny, Shafi Goldwasser, Silvio Micali, and Baruch Awerbuch. 1985. “Verifiable Secret Sharing and Achieving Simultaneity in the Presence of Faults.” In *FOCS’85: 26th Foundations of Computer Science Symposium*, 383–95. IEEE Computer Society.
Chor, Benny, and Michael O. Rabin. 1987. “Achieving Independence in Logarithmic Number of Rounds.” In *PODC’87: 6th Principles of Distributed Computing Symposium*, 260–68. ACM Press.
Clarkson, Michael R., Stephen Chong, and Andrew C. Myers. 2007. “Civitas: Toward a Secure Voting System.” 2007-2081. Cornell University; .
———. 2008. “Civitas: Toward a Secure Voting System.” In *S&p’08: 29th Security and Privacy Symposium*, 354–68. IEEE Computer Society.
Cramer, Ronald, Ivan Damgård, and Berry Schoenmakers. 1994. “Proofs of Partial Knowledge and Simplified Design of Witness Hiding Protocols.” In *CRYPTO’94: 14th International Cryptology Conference*, 839:174–87. LNCS. Springer.
Cramer, Ronald, Rosario Gennaro, and Berry Schoenmakers. 1997. “A Secure and Optimally Efficient Multi-Authority Election Scheme.” In *EUROCRYPT’97: 16th International Conference on the Theory and Applications of Cryptographic Techniques*, 1233:103–18. LNCS. Springer.
Delaune, Stéphanie, Steve Kremer, and Mark Ryan. 2006. “Coercion-Resistance and Receipt-Freeness in Electronic Voting.” In *CSFW’06: 19th Computer Security Foundations Workshop*, 28–42. IEEE Computer Society.
Delaune, Stéphanie, Steve Kremer, and Mark D. Ryan. 2009. “Verifying privacy-type properties of electronic voting protocols.” *Journal of Computer Security* 17 (4): 435–87.
———. 2010. “Verifying Privacy-Type Properties of Electronic Voting Protocols: A Taster.” In *Towards Trustworthy Elections: New Directions in Electronic Voting*, edited by David Chaum, Markus Jakobsson, Ronald L. Rivest, and Peter Y. A. Ryan, 6000:289–309. LNCS. Springer.
Delaune, Stéphanie, Mark D. Ryan, and Ben Smyth. 2008. “Automatic Verification of Privacy Properties in the Applied Pi-Calculus.” In *IFIPTM’08: 2nd Joint iTrust and PST Conferences on Privacy, Trust Management and Security*, 263:263–78. International Federation for Information Processing (IFIP). Springer.
Dolev, Danny, Cynthia Dwork, and Moni Naor. 1991. “Non-Malleable Cryptography.” In *STOC’91: 23rd Theory of Computing Symposium*, 542–52. ACM Press.
———. 2000. “Nonmalleable Cryptography.” *Journal on Computing* 30 (2): 391–437.
ElGamal, Taher. 1985. “A Public Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms.” *IEEE Transactions on Information Theory* 31 (4): 469–72.
“Est Républicain.” 2007. Daily French Newspaper.
Estehghari, Saghar, and Yvo Desmedt. 2010. “Exploiting the Client Vulnerabilities in Internet E-voting Systems: Hacking Helios 2.0 as an Example.” In *EVT/WOTE’10: Electronic Voting Technology Workshop/Workshop on Trustworthy Elections*. USENIX Association.
Fujioka, Atsushi, Tatsuaki Okamoto, and Kazuo Ohta. 1992. “A Practical Secret Voting Scheme for Large Scale Elections.” In *AUSCRYPT’92: Workshop on the Theory and Application of Cryptographic Techniques*, 718:244–51. LNCS. Springer.
Gennaro, Rosario. 1995. “Achieving Independence Efficiently and Securely.” In *PODC’95: 14th Principles of Distributed Computing Symposium*, 130–36. ACM Press.
———. 2000. “A Protocol to Achieve Independence in Constant Rounds.” *IEEE Transactions on Parallel and Distributed Systems* 11 (7): 636–47.
Haber, Stuart, Josh Benaloh, and Shai Halevi. 2010. “The Helios e-Voting Demo for the IACR.” International Association for Cryptologic Research. .
Juels, Ari, Dario Catalano, and Markus Jakobsson. 2002. “Coercion-Resistant Electronic Elections.” Cryptology ePrint Archive, Report 2002/165.
———. 2005. “Coercion-Resistant Electronic Elections.” In *WPES’05: 4th Workshop on Privacy in the Electronic Society*, 61–70. ACM Press.
———. 2010. “Coercion-Resistant Electronic Elections.” In *Towards Trustworthy Elections: New Directions in Electronic Voting*, edited by David Chaum, Markus Jakobsson, Ronald L. Rivest, and Peter Y. A. Ryan, 6000:37–63. LNCS. Springer.
Kremer, Steve, and Mark D. Ryan. 2005. “Analysis of an Electronic Voting Protocol in the Applied Pi Calculus.” In *ESOP’05: 14th European Symposium on Programming*, 3444:186–200. LNCS. Springer.
Kremer, Steve, Mark D. Ryan, and Ben Smyth. 2010. “Election verifiability in electronic voting protocols.” In *ESORICS’10: 15th European Symposium on Research in Computer Security*, 6345:389–404. LNCS. Springer.
Langer, Lucie. 2010. “Privacy and Verifiability in Electronic Voting.” PhD thesis, Fachbereich Informatik, Technischen Universität Darmstadt.
Langer, Lucie, Axel Schmidt, Johannes Buchmann, and Melanie Volkamer. 2010. “A Taxonomy Refining the Security Requirements for Electronic Voting: Analyzing Helios as a Proof of Concept.” In *ARES’10: 5th International Conference on Availability, Reliability and Security*, 475–80. IEEE Computer Society.
Langer, Lucie, Axel Schmidt, Johannes Buchmann, Melanie Volkamer, and Alexander Stolfik. 2010. “Towards a Framework on the Security Requirements for Electronic Voting Protocols.” In *Re-Vote’09: First International Workshop on Requirements Engineering for e-Voting Systems*, 61–68. IEEE Computer Society.
Lee, Byoungcheon, Colin Boyd, Ed Dawson, Kwangjo Kim, Jeongmo Yang, and Seungjae Yoo. 2004. “Providing Receipt-Freeness in Mixnet-Based Voting Protocols.” In *ICISC’03: 6th International Conference on Information Security and Cryptology*, 2971:245–58. LNCS. Springer.
Lenstra, Arjen K., and Hendrik W. Lenstra Jr. 1990. “Algorithms in Number Theory.” In *Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity*, edited by Jan van Leeuwen, 673–716. MIT Press.
Leung, Adrian, Liqun Chen, and Chris J. Mitchell. 2008. “On a Possible Privacy Flaw in Direct Anonymous Attestation (DAA).” In *Trust’08: 1st International Conference on Trusted Computing and Trust in Information Technologies*, 179–90. LNCS 4968. Springer.
Okamoto, Tatsuaki. 1998. “Receipt-Free Electronic Voting Schemes for Large Scale Elections.” In *SP’97: 5th International Workshop on Security Protocols*, 1361:25–35. LNCS. Springer.
Participants of the Dagstuhl Conference on Frontiers of E-Voting. 2007. “Dagstuhl Accord.” .
Pedersen, Torben P. 1991. “A Threshold Cryptosystem without a Trusted Party.” In *EUROCRYPT’91: 10th International Conference on the Theory and Applications of Cryptographic Techniques*, 522–26. LNCS 547. Springer.
Pereira, Olivier, Ben Adida, and Olivier de Marneffe. 2010. “Bringing Open Audit Elections into Practice: Real World Uses of Helios.” Swiss e-voting workshop, . See also .
Pfitzmann, Birgit. 1994. “Breaking Efficient Anonymous Channel.” In *EUROCRYPT’94: 11th International Conference on the Theory and Applications of Cryptographic Techniques*, 950:332–40. LNCS. Springer.
Princeton University. 2010. “Princeton Election Server.” .
“Résultat par bureau du premier tour des élections régionales.” 2010. .
Rudolph, Carsten. 2007. “Covert Identity Information in Direct Anonymous Attestation (DAA).” In *SEC’07: 22nd International Information Security Conference*, 232:443–48. International Federation for Information Processing (IFIP). Springer.
Ryan, Mark D., and Ben Smyth. 2011. “Applied pi calculus.” In *Formal Models and Techniques for Analyzing Security Protocols*, edited by Véronique Cortier and Steve Kremer. IOS Press.
Ryan, Peter Y. A., and Steve A. Schneider. 1998. “An Attack on a Recursive Authentication Protocol. A Cautionary Tale.” *Information Processing Letters* 65 (1): 7–10.
Sako, Kazue, and Joe Kilian. 1994. “Secure Voting Using Partially Compatible Homomorphisms.” In *CRYPTO’94: 14th International Cryptology Conference*, 839:411–24. LNCS. Springer.
Schnorr, Claus-Peter. 1990. “Efficient Identification and Signatures for Smart Cards.” In *CRYPTO’89: 9th International Cryptology Conference*, 435:239–52. LNCS. Springer.
Schoenmakers, Berry. 2009. “Voting Schemes.” In *Algorithms and Theory of Computation Handbook, Second Edition, Volume 2: Special Topics and Techniques*, edited by Mikhail J. Atallah and Marina Blanton. CRC Press.
Shanks, Daniel. 1971. “Class number, a theory of factorization and genera.” In *Number Theory Institute*, 20:415–40. Symposia in Pure Mathematics. American Mathematical Society.
Smyth, Ben. 2011. “Formal verification of cryptographic protocols with automated reasoning.” PhD thesis, School of Computer Science, University of Birmingham.
Smyth, Ben, and Véronique Cortier. 2010a. “Attacking and Fixing Helios: An Analysis of Ballot Secrecy.” Cryptology ePrint Archive, Report 2010/625.
———. 2010b. “Attacking ballot secrecy in Helios.” YouTube video, linked from .
Smyth, Ben, Mark D. Ryan, Steve Kremer, and Mounira Kourjieh. 2010. “Towards automatic analysis of election verifiability properties.” In *ARSPA-WITS’10: Joint Workshop on Automated Reasoning for Security Protocol Analysis and Issues in the Theory of Security*, 6186:165–82. LNCS. Springer.
Volkamer, Melanie. 2009. *Evaluation of Electronic Voting: Requirements and Evaluation Procedures to Support Responsible Election Authorities*. Vol. 30. Lecture Notes in Business Information Processing. Springer.
Volkamer, Melanie, and Rüdiger Grimm. 2010. “Determine the Resilience of Evaluated Internet Voting Systems.” In *Re-Vote’09: First International Workshop on Requirements Engineering for e-Voting Systems*, 47–54. IEEE Computer Society.
Warinschi, Bogdan. 2003. “A Computational Analysis of the Needham-Schröeder-(Lowe) Protocol.” In *CSFW’03: 16th Computer Security Foundations Workshop*, 248–62. IEEE Computer Society.
———. 2005. “A computational analysis of the Needham-Schroeder-(Lowe) protocol.” *Journal of Computer Security* 13 (3): 565–91.
Wikström, Douglas. 2006. “Simplified Submission of Inputs to Protocols.” Cryptology ePrint Archive, Report 2006/259.
———. 2008. “Simplified Submission of Inputs to Protocols.” In *SCN’08: 6th International Conference on Security and Cryptography for Networks*, 5229:293–308. LNCS. Springer.