Receipt-Free Electronic Voting from zk-SNARK
Maryam Sheikhi, Rosario Giustolisi and Carsten Schuermann
IT University of Copenhagen, Copenhagen, Denmark
Keywords:
Electronic Voting, Receipt-Freeness, Everlasting Privacy, Participation Privacy.
Abstract:
In 2016, Locher and Haenni (Locher and Haenni, 2016) proposed an e-voting scheme that offers verifiability,
everlasting vote privacy, and computational receipt-freeness, as well as an informal discussion of how the
scheme achieves such properties. We advance this line of work by proposing a new cryptographic scheme that
provably satisfies those properties as well as everlasting participation privacy and efficient tallying. Receipt-
freeness relies on deniable vote updating and verifiable null ballot posting, generated from public knowledge
stored on the bulletin board. The everlasting vote and participation privacy properties directly result from
the hash-based commitment scheme and efficient zero-knowledge proofs (SNARKs). Finally, we provide
mathematical proofs for all the properties, including a new game-based definition of participation privacy.
1 INTRODUCTION
In 2016, Locher and Haenni (Locher and Haenni,
2016) proposed an e-voting scheme that offers com-
putational receipt-freeness, verifiability, and everlast-
ing vote privacy with minimal trust assumptions. Ver-
ifiability guarantees a verification of the accuracy of
the election outcome, even if not all election partici-
pants are honest. Vote privacy refers to what can be
learned about the link between a vote and the iden-
tity of the voter. Most voting schemes guarantee vote
privacy under standard cryptographic assumptions,
which means that vote privacy depends directly on the
choice of key sizes which are expected to be broken
once computing power has caught up. In contrast,
Locher and Haenni’s scheme guarantees everlasting
vote privacy, which is independent of key sizes and
other computational assumptions. It also guarantees
that voters are unable to convince a third party about
the way they voted, even if they are willing to do so,
a property that is called receipt-freeness and that pre-
vents vote-buying and mitigates voter coercion.
In this work, we propose an e-voting scheme that
introduces a credential protocol for voter registra-
tion and vote submission through a combination of
hash-based commitment scheme and efficient zero-
knowledge proofs (zk-SNARKs). Our scheme satis-
fies verifiability, everlasting vote privacy, and com-
putational receipt-freeness. Furthermore, we prove
that our scheme also guarantees participation privacy,
which means that an adversary cannot learn from the
information published on the bulletin board, if a voter
has voted or not, i.e. participated in the election. Most
e-voting schemes resort to digitally signed ballots,
which protect the integrity of the vote from modifica-
tion by malicious parties but usually reveal if a voter
has participated in the election or not.
We propose an e-voting scheme with everlast-
ing vote privacy, everlasting participation privacy,
receipt-freeness, and verifiability based on mini-
mal trust assumptions.
We provide a new definition of everlasting partici-
pation privacy and prove that our e-voting scheme
satisfies this definition.
We prove that our scheme also meets vote privacy
and receipt-freeness.
2 RELATED WORK
Benaloh and Tuinstra (Benaloh and Tuinstra, 1994)
proposed the first scheme achieving receipt-free vot-
ing. Their idea was later extended by Sako and Kil-
ian (Sako and Kilian, 1995), who apply mix-networks
that shuffle the order of encryption of yes/no votes
and then send the order to the voter through an untap-
pable channel. Different flavours of receipt-freeness
properties based on untappable channels with vari-
ous cryptographic schemes and efficiency guarantees
were introduced in (Okamoto, 1997; Hirt and Sako,
2000; Ryan et al., 2016) and in coercion-resistance
254
Sheikhi, M., Giustolisi, R. and Schuermann, C.
Receipt-Free Electronic Voting from zk-SNARK.
DOI: 10.5220/0012140000003555
In Proceedings of the 20th International Conference on Security and Cryptography (SECRYPT 2023), pages 254-266
ISBN: 978-989-758-666-8; ISSN: 2184-7711
Copyright
c
2023 by SCITEPRESS Science and Technology Publications, Lda. Under CC license (CC BY-NC-ND 4.0)
Table 1: Comparison of different receipt-free voting schemes. We use the notation from (Haines et al., 2023). A security
property not relying on any trust assumption is denoted by +. DT
T
denotes the distributed trust assumption on tally servers.
T
P
denotes trust on a third party. N/C denotes a property that is not claimed, while N/A denotes a not-applicable property.
Property BelenoisRF KTV-Helios Locher & Haenni This scheme
Computational vote privacy DT
T
DT
T
+ +
Everlasting vote privacy N/A N/A + +
Computational participation privacy N/A T
P
N/C +
Everlasting participation privacy N/A N/A N/C +
Verifiability T
P
T
P
+ +
Computational receipt-freeness T
P
T
P
T
T
T
P
schemes (Juels et al., 2005; Bohli et al., 2007). In
BeleniosRF (Chaidos et al., 2016), a trusted random-
ization server provides receipt-freeness. Kulyk et al.
(Kulyk et al., 2015) extended Helios (Adida, 2008)
allowing a voter to update their vote by revoting and
nullifying the previous ballot. In this scheme, receipt-
freeness is achieved thanks to dummy ballots that are
cast by a trusted third party. The scheme also pro-
vides participation privacy, which is based on the in-
distinguishability of dummy ballots from ballots cast
by voters. All the schemes above achieve computa-
tional vote privacy but not everlasting privacy.
(Moran and Naor, 2006) introduced a verifiable
receipt-freeness scheme with everlasting privacy us-
ing an untappable channel that models a private
polling booth. (Demirel et al., 2012; Demirel et al.,
2013) proposed enhancements to Helios (Adida,
2008) and Pr
ˆ
et
`
a voter (Ryan et al., 2009) with ever-
lasting privacy, which is achieved by perfectly hiding
and computationally binding commitment schemes
and untappable channels. However, those schemes as-
sume that the voting server is trusted (Demirel et al.,
2012; Buchmann et al., 2013; Demirel et al., 2013).
(Locher and Haenni, 2015) proposed a scheme that
meets everlasting privacy without trusted authorities
and computational hardness assumptions. They later
enhanced their scheme to provide receipt-freeness
(Locher and Haenni, 2016), which can be obtained
by a trust assumption on the tally phase. However,
they only provide an informal discussion of how the
scheme achieves its properties.
Table 1 summarizes the comparison between our
scheme and previous receipt-free e-voting schemes.
BeleniosRF and KTV-Helios achieve receipt-freeness
and verifiability, assuming a trusted third party. They
are not designed to achieve everlasting privacy. KTV-
Helios is one of the few e-voting schemes that pro-
vides computational participation privacy against a
computationally bounded adversary. Locher and
Haenni provide a scheme that can achieve everlasting
privacy and verifiability without the need for trusted
parties. Our scheme has the same trust assumption as
their scheme and provably achieves everlasting par-
ticipation privacy without the need for trusted parties.
3 CRYPTOGRAPHIC
PRELIMINARIES
In this section, we present the definitions and the se-
curity properties of the cryptographic primitives that
form the building blocks of our voting scheme. We
also provide a foretaste of how we intend to use the
cryptographic primitives in our scheme.
ElGamal Encryption Scheme. The ElGamal en-
cryption scheme is a triple of PPT algorithms (Key-
Gen, Enc, Dec) defined as follows.
KeyGen(λ) (P , pk,sk) : on input of security
parameter λ and sk
U
Z
q
, it derives the public
parameter P = (G, q,g) and computes pk = g
sk
.
P contains a cyclic group G of prime order q gen-
erated by g. When derivable from the context, we
omit P from the public and secret keys.
Enc(m,((G,q, g), pk)) (c
1
,c
2
): on input of a
message m and public key pk, it chooses r
U
Z
q
and outputs (c
1
,c
2
), where c
1
= g
r
, c
2
= m · pk
r
.
The message m is of form m = g
a
where a Z
q
.
Dec((c
1
,c
2
),((G,q, g),sk)) m: on input a ci-
phertext (c
1
,c
2
), it outputs m = c
2
· c
sk
1
.
The ElGamal encryption scheme satisfies semantic
security under the Diffie-Hellman assumption. For
the encryption scheme, we use the NM-CPA secu-
ritr definition. The ElGamal ciphertext with a Schnorr
proof is NM-CPA secure in the random oracle model.
For our election scheme, pk
T
denotes the pub-
lic encryption key and sk
T
denotes the decryption
key, such that pk
T
= g
sk
T
. The decryption key can
be distributed using (k,n) Shamir secret sharing so
that k > 1 out of n shares are required to decrypt
the ciphertext (Brandt, 2005). A re-encryption of
a given ciphertext (c
1
,c
2
) with a new r
U
Z
q
can
Receipt-Free Electronic Voting from zk-SNARK
255
be simply computed by multiplying the ciphertext to
the encryption of zero i.e g
0
(or m = 1 ), namely,
reEnc((c
1
,c
2
), pk) = (c
1
,c
2
) · Enc(g
0
, pk). The re-
encryption result of a given ciphertext can be de-
scribed as Enc(g
m
, pk) with randomness r +r
. As we
shall see later on the description of our voting scheme,
we denote the encryption of the message g
m
with pub-
lic key pk and randomness r by enc
pk
(m;r).
We use Re-encryption mix servers in the tally
phase of our scheme. Given a set of El-Gamal
ciphertexts {(c
11
,c
12
),(c
21
,c
22
),. ..,(c
n1
,c
n2
)}
and a uniformly random secret permutation
ρ, the mix servers output {(c
ρ(1)1
,c
ρ(1)2
),
(c
ρ(2)1
,c
ρ(2)2
),. ..,(c
ρ(n)1
,c
ρ(n)2
)}. This can be
done by re-encrypting the ciphertexts, and it is
infeasible for a computationally bounded adversary
to match inputs and outputs. Indeed, (c
0
,c
1
)
ρ(i)
is
a re-encryption of (c
1
,c
2
)
i
for a sequence of secret
permutations and random re-encryptions. Each mix
server generates a proof of correct computation of the
output, which satisfies the input and the public key.
Commitment Scheme. A commitment scheme is a
triple of PPT algorithms (Setup, Commit, Open) de-
fined as follows.
Setup(λ) P P : on input a security parameter λ,
it outputs the public parameters PP , including a
description of the message space M , commitment
space, and commitment key space.
Commit(P P , m) (c,r): on input PP , and a
message m M , it outputs a commitment c and
the opening randomness r.
Open(P P , (c, m,r)) 0/1: on input a commit-
ment c on message m with randomness r, it out-
puts 1 if accept and 0 otherwise.
A secure commitment scheme satisfies correctness,
binding, and hiding properties as follows:
Correctness. For every m M ,
Pr
Setup(λ) PP
Commit(P P , m)
(c,r)
Open(P P , (c, m,r)
1
= 1
Hiding. For all PPT adversaries A , there exists a
negligible ε such that λ N,
Pr
Setup(λ) PP
A(λ) (st,m
0
,m
1
)
b {0,1}
Commit(P P , m
b
)
(c,r)
A(st,c) b
b = b
1/2 + ε(λ)
Binding. For all PPT adversaries A, there exists a
negligible ε such that λ N,
Pr
Setup(λ) P P
A(λ) (c,m, r,m
,r
)
b {0,1}
Open(P P ,(c,m,r)) b
Open(P P ,(c,m
,r
)) b
m ̸= m
b = b
= 1
ε(λ)
A commitment scheme is perfectly hiding against
a computationally unbounded adversary if the scheme
satisfies the hiding property with ε = 0. A commit-
ment scheme is statistical hiding against a computa-
tionally unbounded adversary if the scheme satisfies
the hiding property with the adversary advantage at
most ε(λ). A commitment scheme is perfectly bind-
ing against a computationally unbounded adversary if
the scheme satisfies the binding property with ε = 0.
In our scheme, we use the SHA-commitment
scheme. The public parameters are assumed to be
generated in an initial setup phase and publicly known
to all parties thereafter. We simply write c = H(cr,t)
for a hash commitment to a message cr with opening
randomness t.
Digital Signature Scheme. A digital signature
scheme is a triple of PPT algorithms (KeyGen, Sign,
verify) are defined as follows.
KeyGen(λ) (sk
σ
, pk
σ
) : on input a security pa-
rameter λ, it outputs a signing key pair (sk
σ
, pk
σ
),
with pk
σ
denoting the verification key and sk
T
the
signing key.
Sign(sk
σ
,m) σ: on input a message m {0,1}
and a signing key sk
σ
, it outputs a signature σ on
message m.
Verify(σ,m, pk
σ
) 0/1: on input a signature σ
on message m and a verification key pk
σ
, it out-
puts 1 if it accepts the signature and 0 otherwise.
A digital signature scheme satisfies correctness
and existential unforgeability properties (Katz and
Lindell, 2007). In our scheme, the registrar signs the
list of registered voters and publishes the signed list
on the bulletin board.
zk-SNARK. A Zero-Knowledge Succinct Non-
interactive Argument of Knowledge (zk-SNARK) is
a cryptographic proof primitive. To achieve the suc-
cinctness it uses pre-processing for arithmetic circuit
satisfiability. It assumes an algorithm running as a
one-time trusted setup for preprocessing. Proof gen-
eration and verification depend on the output of the
preprocessing setup.
Let R
λ
, λ N is security parameter, be a
polynomial-time decidable relations R on pairs (x, ω)
where x is the statement, and w is the witness. We de-
note R(x,ω) = 1 to show that (x,ω) satisfies on R and
SECRYPT 2023 - 20th International Conference on Security and Cryptography
256
R(x,ω) = 0 otherwise. A preprocessing zk-SNARK
for R
λ
is a triple of PPT algorithms (KeyGen, Prove,
Verify) defined as follows.
KeyGen(R,λ) (pk,vk): on input a security pa-
rameter λ and a relation R represented as an arith-
metic circuit of size polynomial in λ, it outputs pk
as a proving key and vk as a verifying key.
Prove(pk,x,ω) π: on input pk, an evaluation
key for a relation R, a statement x, and a witness
w such that R(x,ω) = 1, it outputs a proof π.
Verify(vk, x, π) 0/1: on input a verification key
vk, a statement x, and a proof π, it outputs 1 to
indicate a valid proof and 0 otherwise.
zk-SNARKs are required to protect the prover
from the disclosure of the secret witness, and the ver-
ifier from a forged proof. We now recall the security
notions to define a zk-SNARK.
Completeness. An honest verifier always accepts
a proof made by an honest prover for a statment x
using the valid witness ω. Formally,
Pr
λ N,(x, ω) R
KeyGen(R,λ) (pk, vk)
Prove(pk,x,ω) π
Verify(vk, x,π) 1
1 ε(λ).
Perfect Zero-Knowledge. The proof and the keys
reveal no information about the secret witness
ω. Formally, there is PPT algorithm sim =
(simGen,simPr) such that for all λ N, (x,ω)
R, and PPT adversary A, the following two distri-
butions are statistically close:
D
0
=
KeyGen(R,λ) (pk, vk)
Prove(pk,x,ω) π
0
(pk,vk,x,π
0
)
D
1
=
simGen(R,λ) (pk, vk,td)
simPr(pk,x,td) π
1
(pk,vk,x,π
1
)
,
where td denotes the simulation trapdoor.
Proof of Knowledge. Intuitively, every prover
generating valid proof must know a the corre-
sponding secret witness. Formally, for any PPT
prover, there exists a PPT Extractor and negligi-
ble function ε such that for all λ N, R, and any
auxiliary input m {0,1}
,
Pr
KeyGen(R,λ)
(pk, vk)
Prove(pk,m)
(π, x)
Extract(pk,vk,m)
ω
Verify(vk, x,π)
1
(x,ω) / R
ε(λ).
The Extractor has full access to the prover’s state, in-
cluding any random coins.
Succinctness. For any λ N, (pk,vk), and any
binary relation R, the proof size is poly(λ) and
the verification time is poly(λ) + |x|.
Zero-knowledge proofs are the main tool in our
protocol to achieve the voter’s privacy. In our scheme,
KeyGen samples a proving key pk and a verification
key vk, where this preprocessing is publicly verifi-
able. Both keys are published as public parameters
and can be used any number of times to prove/ver-
ify membership in L
R
. Thanks to zk-SNARK, a voter
can prove that they know the encryption randomness
for a ciphertext e
v
= (c
1
,c
2
), the commitment c, the
opening randomness t for a voting credential cr, and
a list of commitments (a Merkle tree root) such that
c := H(cr,t). Nobody knows that the voting creden-
tial is assigned to which commitment in the voters’
commitment list. In addition, it allows us to prove
the voter’s eligibility while protecting the unlinkabil-
ity between voting credential and voter identity.
We also use zero-knowledge proofs to allow the
voter to prove 1) knowledge of the secret information
involved in the encryption of the vote, 2) knowledge
of the secret commitment related to the public com-
mitment list or Merkle tree root, and 3) knowledge
of the opening randomness of the secret commitment
related to the voting credential in the ballot. In the
tally phase, we provide proof for the validity of mix-
ing and decryption (Fiat and Shamir, 1986; Chaum
and Pedersen, 1992; Hirt and Sako, 2000; Schnorr,
1991; Camenisch and Stadler, 1997).
It is worth to note that zk-SNARK requires a one-
time trusted setup of public parameters, i.e., (pk,vk).
The violation of the trust assumption might affect the
soundness of the proofs though privacy continues to
hold even if the setup trapdoor is revealed. In (Ben-
Sasson et al., 2018), the authors proposed a transpar-
ent zero-knowledge system (zk-STARK) in which the
setup does not rely on any trusted party, and it has no
trapdoors that could be exploited by powerful parties
to prove false witness.
4 ELECTION SCHEME AND
ADVERSARY MODELS
Our e-voting scheme consists of the following par-
ticipants: the election authority E, the registrar
R , the voters I = {id
1
,id
2
,. ..,id
m
}, the talliers
{T
1
,T
2
,. ..,T
n
} and a public append-only bulletin
board BB. The election authority provides the fol-
lowing election public information: the candidate list,
the list of eligible voters, and the public parameters.
A voter interacts with the registrar via an authen-
ticated channel to register for the election. The reg-
Receipt-Free Electronic Voting from zk-SNARK
257
istrar authenticates eligible voters and publishes the
voter identities on the BB. It signs the list of regis-
tered voters. The BB lists the ballots, either cast by a
voter or by the BB itself, as null ballots. The talliers
publish the election result and the proofs of correct
tallying on the BB during the tally phase. The talliers
verify, mix, shuffle, and decrypt the selected ballots
to compute the final result. Each tallier has a partial
decryption key of a k-out-of-n encryption scheme.
Adversary Models. We first consider an adversary
who aims to break the privacy of the voter by link-
ing a vote to the voter. We consider the following
adversarial capabilities: A computationally bounded
adversary A can actively participate in the election,
corrupt some voters and collect all data available dur-
ing the election. To evaluate the everlasting proper-
ties, we consider a computationally unbounded ad-
versary A
who can access any publicly available in-
formation and knowledge from corrupted voters in
the future. As we shall see later, the cryptographic
primitives in our scheme provide statistical hiding and
zero-knowledge properties, therefore, a computation-
ally unbounded adversary has a negligible advantage
to break participation privacy and vote privacy. An-
other type of adversary is a vote buyer. A vote buyer
aims to pay rewards to dishonest voters who can con-
vince the adversary that they voted as instructed with
a receipt. In general, receipt-freeness does not prevent
an adversary from buying the voter’s private key and
voting on behalf of the voter. Our scheme is receipt-
free under the assumption that the adversary is com-
putationally limited and that the bulletin board and the
voting device are trusted.
4.1 Definition of the E-Voting Scheme
Our scheme is defined in terms of eight functions, i.e.
ES =(Setup, Registervoter, Register, Vote, Valid, Ap-
pend, Tally, VerifyTally) and proceeds in five different
phases: setup, registration, voting, tally, and verifica-
tion. The eight functions are defined as follows.
Setup(λ,R) (P P ,sk
T
,sk
σ
): on input a secu-
rity parameter λ and a relation R represented
as an arithmetic circuit of size polynomial in
λ, it generates the prover and verifier key pair
(pk,vk) KeyGen(R,λ), the election encryption
key pair (pk
T
,sk
T
) KeyGenE(λ), the regis-
trar’s signing key pair (sk
σ
, pk
σ
) KeyGenS(λ),
the commitment parameters CR × T SetupC(λ)
from the commitment setup, and the public pa-
rameters P P = (G, q,g,H, pk
T
, pk
σ
,(pk, vk)).
Registervoter(id) (c
id
,cr
id
,t
id
): on implicit in-
put P P and voter identity id, it chooses a random
pseudonym cr
id
CR, computes (t
id
,c
id
)
Commit(P P , cr
id
), and returns (c
id
,cr
id
,t
id
)
where t
id
is chosen randomly from T .
Register(id,c
id
,L) (L,rt
L
,σ): on input voter
identity and commitment (id,c
id
) and list L, it
adds (id, c
id
) to the list L, computes rt
L
and sig-
nature σ on (L,rt
L
) with secret register key sk
σ
, it
then returns (L,rt
L
,σ).
Vote(id,sk
id
, pk
T
,v) β: on input voter iden-
tity id, election public key pk
T
, and voter se-
cret key sk
id
= (t
id
,cr
id
), it generates a ballot β =
(e
v
,cr
id
,π
id
) with pseudonym cr
id
and vote v by
computing e
v
= enc
pk
T
(v;r). In addition, it com-
putes a disjoint proof with Prove(pk
R
,x, ω) π ,
where ω = (r,c
id
,v,t
id
) and x = (e
v
,cr
id
,rt
L
), and
simulates the null ballot proof.
Valid(β) 0/1: on input a ballot β =
(e
v
,cr
id
,π
id
), it checks that it is valid, i.e., that
the proof is correct and it is well-formed with
Verify(vk, (e
v
,cr
id
),π
id
) 0/1.
Append(BB,β) BB: on input a ballot β, it
appends β to BB based on D
t
. It generates and
appends a null ballot(s) (e
0
,cr
id
,π
id
) with the
pseudonym cr
id
based on probability distribution
D
r
and D
t
. It computes e
0
= enc
pk
T
(0;r) and dis-
joint proof π
id
with Prove(pk
R
,x, ω) π
id
, where
ω = (r,0), x = (e
0
,cr
id
,rt
L
), and it simulates the
other side of the voter’s proof.
Tally(BB,sk
T
) (s,Π): on input the public bul-
letin board, it computes the election result. It re-
turns (s, Π), where s is the election result, and Π
is proof of correct tallying, as follows.
Run Valid(β) and return 0 if it fails.
For each cr
id
appearing in the ballots, computes
B
cr
id
=
e
v
B(cr
id
)
e
v
where B(cr
id
) is the set of
(e
v
,cr
id
,π
id
) identifying by cr
id
.
Remove (cr
i
,π
i
) from each B
cr
i
and mix the
ballots {B
cr
1
,B
cr
2
,. ..,B
cr
k
} where k is the
number of distinct pseudonym cr
i
, and return
the mixed ballots {B
1
,B
2
,. ..,B
k
} with a proof
of valid mixing.
For each B
i
and vote option v V apply a pri-
vacy equivalence test (PET) and provide the
corresponding proof.
Compute the result s based on the PET for each
vote v and publish the proofs.
VerifyTally (BB,s,Π) 0/1: on input (s,Π), it
returns 1 if all the proofs are valid, otherwise 0.
4.2 Phases of the E-Voting Scheme
We now describe how each function is executed in
each phase. The detailed steps are in Figure 1.
SECRYPT 2023 - 20th International Conference on Security and Cryptography
258
Setup Phase: given a security parameter λ and relation R, E runs Setup(λ,R) that:
1: generates (G,q,g), threshold tuple (k, n) election key pair (pk
T
,sk
T
), Registrar key pair(pk
σ
,sk
σ
), commit-
ment function and parameters H : CR × T C, and zero-knowledge proof key pair (pk, vk) for the relation
R.
2: publishes P P = (G,q, g,H, pk
T
, pk
σ
,(pk, vk)), eligible voters I , and candidate list V (as an ElGamal mes-
sage g
v
) on BB.
Registration Phase: a voter id runs Register(id) which
1: selects voting pseudonym cr
id
CR;
2: computes c
id
= H(cr
id
,t
id
) {0,1}
O(λ)
with t
id
T and stores (cr
id
,t
id
) locally.
3: sends c
id
to R via an authentic channel.
4: R appends (id, c
id
) to the list L;
5: computes the Merkle tree root rt
L
from the order commitments in the list L;
6: signs L and rt
L
and publishes on BB .
7: The voter verifies c
id
L and the Merkle tree root rt
L
on BB.
Voting Phase: to cast a vote v, the voter runs Vote(id,sk
id
, pk
T
,v), with sk
id
= (cr
id
,t
id
), which
1: computes e
v
= enc
pk
T
(v;r) where r Z
q
is the encryption randomness. In the case of nullifying the previous
vote v
pre
and voting for v
new
, the voter sets v = v
new
v
pre
;
2: computes a zero-knowledge proof π
id
with the proving key pk:
π
id
= {(r,c
id
,v,t
id
)|(e
v
= (g
r
,g
v
pk
r
T
) c
id
= H(cr
id
,t
id
) c
id
rt
L
)} {(r,g
0
)|e
v
= (g
r
,g
0
pk
r
T
)};
3: submits β = (e
v
,cr
id
,π
id
) to the BB via an anonymous channel.
4: BB runs Valid(β) which
5: checks the validity of the proof on the ballot and verifies the ballot does not already exist on BB;
6: runs Append(BB,β) which appends the ballot β and null ballots to BB.
7: The voter verifies that β is appended to BB.
8: BB generates the null ballot as follows:
9: computes e
0
= enc
pk
T
(0;r);
10: selects a cr
id
from a β on BB;
11: computes π
id
as:
π
id
= {(r,c
id
,v,t
id
)|(e
0
= (g
r
,g
v
pk
r
T
) c
id
= H(cr
id
,t
id
) c
id
rt
L
)} {(r,g
0
)|e
0
= (g
r
,g
0
pk
r
T
)}.
Tally Phase: T runs Tally(BB,sk
T
) which
1: verifies the ballots on BB and select ballots with valid proof ;
2: computes a final ballot for each cr
id
on BB by applying the homomorphic property of the encryption scheme;
3: shuffles, mixes, and publishes the final ballots without cr
id
and provides proof of correctness;
4: applies PET on the final ballots and selects ballots that encrypt a vote;
5: decrypts the ballots and publishes the result with proof of decryption on BB.
Verification Phase:
1: any party can verify that tallying is performed correctly by running VerifyTally(BB,s,Π) which verifies the
result and all proofs posted on tallying.
Figure 1: Election Process.
Setup Phase. E runs the Setup algorithm with se-
curity parameter 1
λ
and relation R that generates a
threshold tuple (k, n), the candidate list V , the en-
cryption parameters (G, q,g), the election encryption
key pair (pk
T
,sk
T
), the registrar key pair (pk
σ
,sk
σ
),
the commitment scheme public parameters, and the
setup function for zk-SNARKs that results in a key
pair (pk,vk) for generating and verifying proofs.
Once completed, E publishes I = {id
1
,id
2
,. ..,id
m
},
(pk,vk), pk
T
, pk
σ
, the encryption and commitment
public parameters, and the candidate list V on BB. In
addition, E defines the discrete probability distribu-
tions D
r
and D
t
used respectively to sample the num-
ber of null ballots for each pseudonym and to deter-
mine the time to cast each of them in the voting phase.
While D
r
can be a uniform distribution, D
t
is a distri-
bution that represents typical vote casting behaviour
1
Registration Phase. Every voter id is assumed to se-
1
If D
t
is a uniform distribution, an adversary might be
able to distinguish revoting from null ballots due to vote
casting behaviour.
Receipt-Free Electronic Voting from zk-SNARK
259
lect a pseudonym cr
id
with opening value t
id
and gen-
erates a commitment c
id
= H(cr
id
,t
id
). Each voter
submits commitment c
id
to a registrar R via an au-
thentic channel. R publishes the commitments and
the list of voters on BB.
R also publishes a Merkle tree root rt
L
of the pairs
of commitments and the corresponding voter identi-
ties: L = {(c
id
1
,id
1
),. ..,(c
id
m
,id
m
)} under the regis-
trar signature σ. The voter can verify the published
commitment next to their identity. The voter with the
authentication path, which can be provided by the reg-
istrar, can verify that their commitment is a leaf of the
Merkle tree root rt
L
. Anyone can verify that rt
L
is
correctly built thanks to the signed list L. Note that
publishing L does not affect participation privacy be-
cause the list contains the identity and commitment of
the voters who are registered for the election.
Voting Phase. The voter submits a ballot β to the
bulletin board through an anonymous channel using
the Vote algorithm. The ballot β = (e
v
,cr
id
,π
id
) con-
tains an encrypted vote e
v
= enc
pk
T
(v;r), the voting
pseudonym cr
id
, and a disjunctive zero-knowledge
proof π
id
that proves that either the ballot β was cre-
ated by a voter id in possession of the secret wit-
ness about the voter pseudonym and the encryption
randomness r, or it is a null ballot that reuses a
voting pseudonym from a ballot previously cast on
BB. More precisely, π proves the knowledge of r,
v, and t such that H(cr
id
,t
id
) is a leaf on rt
L
and
e
v
= enc
pk
T
(v;r), or that the β is a null ballot. Note
that cr
id
is unique; thus, nobody can generate a new
non-null ballot without knowing t
id
to generate π
id
.
However, one can generate a null ballot (i.e., an en-
cryption of zero) from a known voting pseudonym
taken from a ballot on BB.
A trusted server or the BB regularly generates
and appends null ballots to distract a potential adver-
sary observing the posts on BB from learning vot-
ing behaviors and enabling receipt-freeness. The BB
checks the validity of the proof π, then verifies that
the β does not already exist on BB. A valid β is then
published on BB.
Tally Phase. All ballots with the same voting
pseudonym are added together. Then, the respective
voting pseudonym and proof are removed from the
ballots, which are shuffled and mixed. Only ballots
that pass a plaintext equality test (PET) are decrypted.
The talliers publish on BB the result alongside the
proofs of correct shuffle and decryption.
Verification Phase. Any party can verify the result
and the proofs on BB.
5 SECURITY PROPERTIES
We prove participation privacy, receipt-freeness, and
vote privacy. Note that while we model in the proof
the tallier as a single trusted party, the result also holds
when the talliers are distributed.
5.1 Participation Privacy
A voting scheme ensures participation privacy if the
scheme only reveals the number of participants and
the results of the election. Our definition of partici-
pation privacy is inspired by a game-based definition
of ballot privacy (Bernhard et al., 2015). Kulyk et
al. (Kulyk et al., 2015) propose a quantitative defini-
tion of participation privacy. Their definition captures
participation privacy for a voter based on dummy bal-
lots, which are inserted by a trusted party, to make
a voter who participates in the election indistinguish-
able from one who abstains. We propose a new def-
inition that does not rely on a trusted party casting
dummy ballots and can be also used to prove ever-
lasting participation privacy.
Definition. Given a PPT adversary A, we define the
experiment Exp
ppriv,b
A,ES
, which models an indistin-
guishability game involving two bulletin boards be-
ing tracked simultaneously. Only one of these bul-
letin boards is accessible to A depending on the bit
b {0,1} of Exp
ppriv,b
A,ES
, as defined in Fig.2. The
challenger flips a coin and executes the Setup phase
where P P represents the public information of an
election scheme (ES) in the Setup phase. The adver-
sary A can make multiple queries to the oracle OVote
to let an honest voter with identity id to cast a vote
for candidate v on BB
0
and BB
1
. The adversary A
can call the oracle OCast to cast a ballot on behalf of
any voter. By using these oracles, A populates both
bulletin boards with additional contents so that both
bulletin boards have the same ballots except the bal-
lots for id
0
and id
1
. In order to model vote abstention
versus vote participation, we provide A with an ora-
cle OAbstain to allow an honest voter id
0
to partici-
pate to the election by voting for a candidate v, while
an honest voter id
1
abstains on BB
0
or vice versa on
BB
1
. The election result is computed on BB
0
. The
adversary can make a query to the oracle OTally to ac-
cess the result on BB
b
. The adversary A is allowed to
query all oracles multiple times. Note that the compu-
tationally unbounded adversary A
has access through
view
A
to the knowledge of A, but not on informa-
tion derived from the communication channels. This
is also known as practical everlasting privacy.
Definition 1. An election scheme ES achieves partic-
ipation privacy if for all adversaries A and A
, where
SECRYPT 2023 - 20th International Conference on Security and Cryptography
260
Exp
ppriv,b
A,A
,ES
(λ,L, V , R) :
(P P , sk
T
,sk
σ
) Setup(λ,R)
(id
0
,id
1
) A(PP , L,V )
b A
O
(P P , L, V , id
0
,id
1
)
b A
(P P , L, V , id
0
,id
1
,view
A
)
output b
OVote(id,v) :
if v / V or id / L \ {id
0
,id
1
} then return
end if
β vote(id,sk
id
, pk
T
,v)
append(β,BB
0
)
append(β,BB
1
)
OAbstain(v) :
if v / V then return
end if
β
0
vote(id
0
,sk
id
0
, pk
T
,v)
β
1
vote(id
1
,sk
id
0
, pk
T
,v)
append(β
0
,BB
0
)
append(β
1
,BB
1
)
OCast(β
A
) :
if valid(BB
b
,β
A
) = 0 then return
end if
append(BB
0
,β
A
)
append(BB
1
,β
A
)
OBoard() :
return BB
b
OTally() :
(s,Π
b
) tally(BB
b
,sk
T
)
return (s,Π
b
)
Figure 2: Participation Privacy Exp
ppriv,b
A,A
,ES
(λ,L,V ,R).
A is PPT,
Pr
h
Exp
ppriv,0
A,A
,ES
(λ,L, V , R) = 1
i
Pr
h
Exp
ppriv,1
A,A
,ES
(λ,L, V , R) = 1
i
is negligible in security parameter λ.
To evaluate the participation privacy of our
scheme, we specify the current capabilities of A and
the future capabilities of A
as follows: the com-
putationally bounded adversary A might be able to
vote, corrupt some voters, and has access to commu-
nication channels. However, the computationally un-
bounded adversary A
cannot access the (anonymous)
communication channels, but can access to any other
information in possession of A. Honest voters do not
actively prove participation or abstention to A.
Theorem 1. Our scheme has participation privacy.
Proof. We define a sequence of games, starting with
A interacting with the participation privacy chal-
lenger with b = 0, and ending with A interacting with
the participation privacy challenger with b = 1. Each
transition will be noticed by the A with a negligible
probability. Therefore, we will be able to show that A
has a negligible distinguishing advantage.
Let G be the participation privacy game corre-
sponding to Exp
ppriv,0
A,ES
(λ,L, V ). This experiment
simulates the voting scenario in our scheme where id
0
participates while id
1
does not. A sees BB
0
and the
result (s,Π) is returned by oracle OTally() on BB
0
.
The adversary A
has access to BB
0
via view
A
.
Let G
0
be the game obtained by modifying the
game G. More precisely, we modify G so that chal-
lenger that has access to the trapdoor and program-
ming random oracle provided in the setup phase sim-
ulates all zk-SNARK proofs. Since the zk-SNARK
system is perfect zero knowledge, the distribution of
the simulated π is identical to that of the proofs com-
puted in G. Hence the advantage of A and A
(view
A
)
in distinguishing these two games is zero.
Game G
1
is obtained by changing game G
0
as follows: the challenger replaces the output of
OAbstain(v) by swapping the ballots of the vot-
ers (id
0
,c
0
) and (id
1
,c
1
). In this case, a bal-
lot (e
v
,cr
1
,π
cr
1
) is placed on BB
0
instead of
(e
v
,cr
0
,π
cr
0
) as a result of an OAbstain(v) query.
Based on the hiding property of the commitment
scheme and on zk-SNARK proof system, we argue
that the distinguishing probability of the participation
privacy adversary between game G
0
and G
1
is negligi-
ble in security parameter λ. To this end, we consider
a computationally unbounded adversary B against a
statistical hiding property of the commitment scheme
that makes use of the distinguishing advantage of A
between games G
0
and G
1
. The adversary B simu-
lates the games for A: let {c
b
,c
1b
} be the response
of the hiding-challenger to query {cr
0
,cr
1
}. The ad-
versary B adds (id
b
,c
b
) and (id
1b
,c
1b
) to the list
L. The adversary B simulates the answer of the or-
acle OAbstain(v) to A as follows: B computes the
encryption of the vote v and simulates the proof π cor-
responding to the ballot information β = (e
v
,cr
0
,π).
The adversary B can compute the result which is
Receipt-Free Electronic Voting from zk-SNARK
261
equal to G
0
. If c
b
is a commitment on cr
0
, B ex-
actly simulates the game G
0
, and G
1
otherwise. In
the game G
0
, the voter pseudonym cr
0
in the ballot
β
0
on BB
0
is related to (id
0
,c
0
). However, in G
1
,
the voter pseudonym cr
1
, in the ballot β
1
, is placed
on BB
0
where pseudonym cr
1
is related to the com-
mitment c
1
. As a result, the advantage of A in dis-
tinguishing game G
1
from G
0
is negligible in security
parameter λ. Moreover, differences in the advantage
between these games are negligible even if the com-
putationally unbounded adversary A
is able to view
As information except the communication channels.
We have replaced the view of the adversary in
game G namely BB
0
to BB
1
in Exp
ppriv,1
A,ES
through a
sequence of the games. The advantage of the (A, A
)
in distinguishing the transition over the game is neg-
ligible.
5.2 Receipt-Freeness
Definitions of receipt-freeness in the computational
model usually consider indistinguishability games de-
fined by oracles. We extend the receipt-freeness def-
inition by Bernhard et al. (Bernhard et al., 2017) by
allowing A to access the oracle OCast for casting a
ballot, which is the same as the one defined in the par-
ticipation privacy experiment. We refer to (Bernhard
et al., 2017) for the definitions of the oracles which A
can query in the experiment Exp
r f ,b
A,EA
.
Definition 2. An election scheme ES achieves
receipt-freeness if there exists an algorithm sim-proof
such that for all PPT adversaries A,
Pr
h
Exp
r f ,0
A,ES
(λ,L, V , R) = 1
i
Pr
h
Exp
r f ,1
A,ES
(λ,L, V , R) = 1
i
is negligible in security parameter λ.
We assume that the tallier and the voting device
are trustworthy. We assume an anonymous commu-
nication channel between the voter and the voting
scheme. Also, the bulletin board that generates the
null ballots is trustworthy, and voters can cast their
ballots without being observed by the adversary A.
We show that our scheme satisfies receipt-
freeness, as defined in the receipt-free definition in
(Bernhard et al., 2017). The oracle OVoteLR in
Exp
r f ,b
A,ES
models an honest voter id with two potential
votes v
0
and v
1
in our scheme. The oracle OReceipt
models the behavior of a voter when asked to provide
a receipt by the adversary A. The coerced voter can
provide receipts to the adversary and does not change
their votes, as illustrated on BB
0
. The case where a
voter decides to update their vote is modeled on BB
1
.
The function update-vote(id,sk
id
, pk
T
,v v
A
) mod-
els a coerced voter who changes their vote by encrypt-
ing the vote v v
A
. The obfuscate function simulates
the function of casting null ballots in our scheme.
Theorem 2. Our scheme is receipt-free under the
DDH assumption in the random-oracle model.
Proof. We consider a sequence of games, starting
from Exp
r f ,0
A,ES
and step by step change the view of the
adversary A from BB
0
to BB
1
in the Exp
r f ,1
A,ES
. We
will demonstrate that the adversary A distinguishes
the transition through all these games with a negligi-
ble advantage. In our scheme, the tally oracle simu-
lates the proofs for the tally when b = 1 using a pro-
grammable random oracle. The function sim-proof
takes as input the board BB
1
and the result R from
BB
0
, and returns the simulated proof Π
1
. This proof
is indistinguishable to PPT adversaries from the proof
of correct tallying.
Let G
0
be the first game corresponding to
Exp
r f ,0
A,ES
(λ,L, V , R). This experiment simulates the
voting scenario in our scheme where the coerced voter
id submits β
v
A
and does not update their vote. In this
game, the adversary A sees BB
0
, and the result (s,Π)
is returned by oracle OTally() on BB
0
.
Let G
1
be the game obtained by modifying G
0
with the following change: the zero-knowledge proof
in the tally phase is simulated by the algorithm sim-
proof. Thanks to the ZK property of the proof sys-
tem, the distinguishing probability of the receipt-free
adversary A between G
0
and G
1
is negligible.
Let G
2
be the game obtained from game G
1
with
the following change on BB
0
: the output of the oracle
OVoteLR is replaced. Precisely, the ballot β
0
on BB
0
is replaced with the corresponding ballot β
1
on BB
1
.
The result s is equal to the result of the game G
1
and
the proof is simulated by the sim-proof on the current
bulletin board, namely, BB
G
2
.
Let G
3
be the game obtained from G
2
with a
change on the output of the oracle OReceipt on BB
G
2
.
A null ballot on BB
G
2
is replaced by the update bal-
lot β
v
on BB
1
. The obfuscate function generated the
null ballots on BB
0
in the game G
0
. The result s is
equal to the result of the game G
2
, and the proof is
simulated by the sim-proof on BB
G
3
. In this game,
the adversary view of the content of the bulletin board
is corresponding to Experiment Exp
r f ,1
A,ES
(λ,L, V , R).
This experiment is equivalent to the voting scenario
in our scheme, where the voter id casts an additional
update ballot β
v
.
We now prove that the adversarial advantage in
SECRYPT 2023 - 20th International Conference on Security and Cryptography
262
distinguishing between the output of G
1
and G
2
is
negligible. Let B be an adversary against the non-
malleable CPA property of the ElGamal scheme. The
adversary B simulates the games for A and uses
the distinguishing advantage of A to output a bit
in NM-CPA game. Assume that β
is the answer
of the NM-CPA challenger to the adversary B on
a query {v
0
,v
1
}. The adversary B sets β
on the
bulletin board view of A as a result of the oracle
OVoteLR(id,v
0
,v
1
). The adversary B computes the
tally result by querying the decryption oracle in the
NM-CPA game for all ballots on the bulletin board
except for β
. The result s is computed by the out-
put of decryption oracle and vote v
0
for the ballot β
.
Note that we use the decryption oracle of the NM-
CPA challenger to decrypt the ballots before comput-
ing the result s. The proof Π is simulated by sim-
proof on the ballots on the visible bulletin board. The
adversary B exactly simulates the G
1
, if β
be an en-
cryption of v
0
and G
2
otherwise. As a result, the ad-
vantage of the adversary A in distinguishing the G
1
from G
2
is equal to the advantage of adversary B in
the NM-CPA game. We proceed to show that G
2
and
G
3
are indistinguishable. Again, a reduction to the
NM-CPA security game of the ElGamal encryption
scheme proves that the advantage of the adversary A
in distinguishing between two games G
2
and G
3
are
negligible. This reduction is simulated by the adver-
sary B as before by setting β
on the visible bulletin
board. β
is an answer of the NM-CPA challenger to
the adversary B on a query {v
A
,v}.
In the games G
0
, G
1
, G
2
, and G
3
, we step by step
replace all the ballots that depend on the bit b = 0 with
the corresponding ballots depend on BB
1
. In par-
ticular, we prove that the advantage of the adversary
A through the transition from Exp
r f ,0
A,ES
to Exp
r f ,1
A,ES
is
negligible in security parameter λ.
5.3 Vote Privacy
We analyze the privacy of our scheme with the vote
privacy game defined by Exp
vpriv,b
A,A
,ES
, between the
challenger and the adversary A. We extend the ballot
privacy definition for a permutation of honest votes
(Benaloh and Yung, 1986; Bernhard et al., 2015) with
several oracles, and model a game such that the adver-
sary should not be able to distinguish if the identity of
two voters with the votes v
0
and v
1
are swapped.
Our vote privacy game tracks two bulletin boards
BB
0
and BB
1
(see Fig. 3). Only one bulletin board
is accessible to the adversary by calling the oracle
OBoard(). The adversary can make calls to the oracle
OVote(id,v) to let a voter with id to cast a vote v on
BB
0
and BB
1
; and to the oracle OCast(β
A
) to cast
ballots β
A
generated by the adversary on BB
0
and
BB
1
. To model the voter indistinguishability, we pro-
vide the adversary with the oracle OVoterIND(v
0
,v
1
).
The adversary goal is to distinguish between two bul-
letin boards with the following change: the oracle
OVoterIND(v
0
,v
1
) lets a voter id
0
to cast a vote for
v
0
, and a voter id
1
to cast a vote for v
1
on BB
0
. The
OVoterIND appends the ballot β
10
and β
01
which de-
note id
1
with a vote for v
0
, and id
0
with a vote for
v
1
on BB
1
respectively. More precisely, the identi-
ties of the ballots are swapped on BB
1
in comparison
with BB
0
. We use the notation OVoterIND(v
0
,v
1
) to
let A make queries multiple times on different vote
options for two honest voters id
0
and id
1
. The adver-
sary can query the oracle OTally() to see the result
of the election. For the everlasting privacy property,
we define a computationally unbounded adversary A
receiving the view of the PPT adversary A except for
some auxiliary information such as network commu-
nication, timestamps, etc. Therefore, A
, who has ac-
cess to view
A
attempts to guess a bit b.
Definition 3. An election scheme ES achieves vote
privacy if there exists an algorithm sim-proof such
that for all adversary A
and adversary A, where A
is PPT adversary,
Pr
h
Exp
vpriv,0
A,A
,ES
(λ,L, V , R) = 1
i
Pr
h
Exp
vpriv,1
A,A
,ES
(λ,L, V , R) = 1
i
is negligible in λ.
Theorem 3. Our scheme provides vote privacy un-
der the statistical hiding property of the hash-based
commitment scheme in the random oracle model.
Proof. In this proof, we will step by step replace the
view of the adversary in the game with b = 0 to the
game b = 1. We show the advantage of the adversary
(A,A
) is negligible in distinguishing these games.
Game G
0
is as Exp
vpriv,0
A,A
,ES
(λ,L, V , R). This exper-
iment is equal to the voting situation, where the voter
id
0
submits β
v
0
and the voter id
1
submits β
v
1
. The
oracle OVote allows A to let an honest voter id vote
for a candidate v, while OCast allows voting on be-
half of the corrupted voters and adds null ballots. In
this game, A has access to BB
0
by calling the ora-
cle OBoard, and the result (s,Π) is returned by oracle
OTally() on BB
0
. The everlasting adversary A
takes
the state of A and the oracle output as an input.
Game G
1
is equal to G
0
apart from the following
change: the zero-knowledge proofs are simulated by
the challenger who has access to the trapdoor and pro-
gramming random oracle with the simulation set up.
Receipt-Free Electronic Voting from zk-SNARK
263
Exp
vpriv,b
A,A
,ES
(λ,L, V , R) :
(P P , sk
T
,sk
σ
) Setup(λ,R)
(id
0
,id
1
) A(PP , pk
T
,L, V )
b A
O
(P P , L, V )
b A
(P P , L, V , (id
0
,id
1
),view
A
)
output b
OVote(id,v) :
if v / V or id / L \ {id
0
,id
1
} then return
end if
β vote(id,sk
id
, pk
T
,v)
append(β,BB
0
)
append(β,BB
1
)
OVoterIND(v
0
,v
1
) :
if v
0
/ V or v
1
/ V then return
end if
β
00
vote(id
0
,sk
id
0
, pk
T
,v
0
)
β
11
vote(id
1
,sk
id
1
, pk
T
,v
1
)
β
10
vote(id
1
,sk
id
1
, pk
T
,v
0
)
β
01
vote(id
0
,sk
id
0
, pk
T
,v
1
)
append((β
00
,β
11
),BB
0
)
append((β
10
,β
01
),BB
1
)
OCast(β
A
) :
if valid(BB
b
,β
A
) = 0 then return
end if
append(BB
0
,β
A
)
append(BB
1
,β
A
)
OBoard() :
return BB
b
OTally() :
(s,Π
0
) tally(BB
0
,sk
T
)
Π
1
sim-proof(BB
1
,s)
return (s,Π
b
)
Figure 3: Vote privacy Exp
vpriv,b
A,A
,ES
(λ,L,V ,R).
G
0
and G
1
are indistinguishable by the simulatability
of the zero-knowledge proof system.
Let G
2
be the game obtained from game G
1
with the following change on BB
0
: the output of
the oracle OVoterIND is replaced as follows: the
ballot β
00
= (e
v
0
,cr
0
,π
c
0
) on BB
0
is replaced with
the ballot (e
v
0
,cr
1
,π
c
0
). Similarly, the ballot β
11
=
(e
v
1
,cr
1
,π
c
1
) is replaced by the ballot (e
v
1
,cr
0
,π
c
1
).
As the zero-knowledge proofs are simulated by the
challenger, this change is equal to the replacement
of the voting pseudonym in β
00
= (e
v
0
,cr
0
,π
c
0
) and
β
11
= (e
v
1
,cr
1
,π
c
1
) on BB
0
. More precisely, the vot-
ing pseudonyms cr
0
and cr
1
are swapped, and the re-
lated proofs are simulated by the challenger. Other
ballots on BB
0
, which are either the output of OVote
or OCast remain the same as in G
1
. The result s is
equal to the result of the game G
1
and the proof Π
is simulated by the sim-proof on the current bulletin
board, namely, BB
G
2
. At the end of this game, the
adversary’s view of the content of the bulletin board
is corresponding to Exp
vpriv,1
A,A
,ES
(λ,L, V , R). This ex-
periment is equivalent to the game on BB
1
, where the
voter id
1
with pseudonym cr
1
submits vote v
0
and the
voter id
0
submits v
1
. In this game, A has direct access
to all oracles and channels while A
takes all informa-
tion of the view of A excluding the communication.
We prove that the adversarial advantage in distin-
guishing between the output of G
1
and G
2
is negligi-
ble. Let B be an adversary against the hiding property
of the commitment scheme. B simulates the games
G
1
and G
2
for A and use the distinguishing advan-
tage of A to output a bit in the hiding game. As-
sume that {c
b
,c
1b
} be the answer of the hiding chal-
lenger to B on a query {cr
0
,cr
1
}. B adds c
b
and c
1b
to the list L, and simulates the output of the oracle
OVoterIND(v
0
,v
1
) as follows: β
b
= (e
v
0
,cr
0
,π
c
b
) and
β
1b
= (e
v
1
,cr
1
,π
c
1b
) on the bulletin board view of
A as a result of the oracle OVoterIND(v
0
,v
1
). B com-
putes the tally result of all ballots on the bulletin board
and returns the result. Note that B can decrypt the bal-
lots on the bulletin board. B exactly simulates G
1
, if
b = 0 in the hiding game related to the commitments
{c
b
,c
1b
}, and G
2
if b = 1. Hence, the advantage of
A in distinguishing G
1
from G
2
is equal to the advan-
tage of B in the statistically hiding game. In particu-
lar, we prove that the advantage of the PPT adversary
A and the computationally unbounded adversary A
,
who has access to the state of A through the games
that transfers from Exp
vpriv,0
A,A
,ES
to Exp
vpriv,1
A,A
,ES
, is negli-
gible in the security parameter λ.
5.4 Verifiability
A verifiable voting scheme guarantees that the result
of the election is computed on the votes of the fol-
lowing groups: 1) the group of honest voters, who
have verified their ballots on the bulletin board after
casting their ballots; 2) the group of corrupted vot-
ers, who are fully controlled by the adversary; 3) the
SECRYPT 2023 - 20th International Conference on Security and Cryptography
264
group of honest voters, who did not check their ballots
on the bulletin board. For the last group, the adversary
should not be able to modify the corresponding votes,
but they can still be dropped or replaced by earlier
ballots, if these exist.
In the tally phase, ballots with the same
voting pseudonym are grouped. Let BB =
{B
cr
0
,B
cr
1
,. ..,B
cr
n
i
}, where B
cr
i
denotes the bal-
lots with the same pseudonym cr
i
. Given a voting
pseudonym cr
i
, the final ballot is the result of multi-
plying all ballots in B
cr
i
. The proof Π ensures that the
result r is computed from {B
cr
1
,B
cr
0
,. ..,B
cr
n
i
}. In-
deed, the soundness of the proof Π prevents the ma-
nipulation of an adversary such as removing, adding,
or modifying a ballot during the tally process. Let
|C| be the number of corrupted voters. We show that
the adversary cannot corrupt more voters than |C|.
Each ballot on BB is either a ballot generated by the
knowledge of the secret pseudonym of a voter or it
is a null ballot generated by the bulletin board. The
proof π on a ballot verifies that the ballot is gener-
ated by the secret knowledge of the credential or the
knowledge of the null ballot. The computationally
binding property of the commitment scheme protects
against the adversary who wants to generate a valid
ballot with different (cr
,t
) such that H(cr
,t
) = c
and (cr
,t
) ̸= (cr,t). In addition, the soundness prop-
erty of SNARKs and the trusted setup protect against
the forgery of a ballot proof by an adversary. Hence,
the adversary cannot cast a new non-null ballot with-
out knowing the secret credential information or the
zero-knowledge trapdoor. The adversary cannot mod-
ify the vote of an honest voter by revoting. So, non-
null ballots on the BB that does not belong to hon-
est voters must belong to corrupted voters. Thus, the
bulletin board contains the ballots of the three groups
mentioned above.
6 CONCLUSION
In this paper we proposed a new receipt-free e-voting
scheme that also provides everlasting guarantees for
participation privacy and vote privacy. Our scheme
relies on hash-based commitments and zk-SNARK
proofs to achieve everlasting guarantees while not
compromising verifiability. In our scheme, the voter
pseudonyms are not concealed. This may help to
address a robustness issue (Haines et al., 2023) in
previous receipt-free voting schemes with everlasting
properties and minimal trust assumptions. For exam-
ple, in Locher and Haenni (Locher and Haenni, 2016)
a voter can submit an arbitrary number of ballots
causing the bulletin board to be flooded with them.
Such an attack cannot be avoided since the creden-
tials are encrypted. If a voter casts a large number
of ballots, the tallying phase can be costly. In our
scheme, such an attack would be noticeable by the
bulletin board (and anyone else looking at it), which
can eventually refuse to add ballots coming from the
same pseudonym. We can further limit the generation
of null ballots to a (distributed) party with a known
public key. In this case, the party casting a ballot
should prove that they know the secret information
of the public key and the null ballot. Therefore, ex-
tending our zero-knowledge proof for null ballots can
fully prevent the bulletin board from getting flooded
with null ballots.
We provide mathematical proofs that our scheme
meets the privacy properties with minimal trust as-
sumptions. For most properties, the sole assump-
tion is the existence of an anonymous channel be-
tween the voter and the bulletin board. For verifiabil-
ity, it is worth noting that zk-SNARK requires a one-
time trusted setup of public parameters. However,
such a requirement can be removed by replacing zk-
SNARK with zk-STARK (Ben-Sasson et al., 2018) at
the cost of less efficient proofs. Privacy and integrity
are dependent on the security of the commitment
scheme and ZK proof, while encryption is neces-
sary for other properties such as fairness and receipt-
freeness. Therefore, we note that hash-based commit-
ment schemes that possess post-quantum secure bind-
ing properties, in conjunction with zk-STARK, can be
used to build post-quantum secure e-voting systems
with everlasting privacy.
ACKNOWLEDGEMENTS
This work is supported by the Villum Foundation,
within the project “Enabling User Accountable Mech-
anisms in Decision Systems”.
REFERENCES
Adida, B. (2008). Helios: Web-based open-audit voting. In
USENIX.
Ben-Sasson, E., Bentov, I., Horesh, Y., and Riabzev, M.
(2018). Scalable, transparent, and post-quantum
secure computational integrity. Cryptology ePrint
Archive.
Benaloh, J. and Tuinstra, D. (1994). Receipt-free secret-
ballot elections. In STOC.
Benaloh, J. C. and Yung, M. (1986). Distributing the power
of a government to enhance the privacy of voters. In
PODC.
Receipt-Free Electronic Voting from zk-SNARK
265
Bernhard, D., Cortier, V., Galindo, D., Pereira, O., and
Warinschi, B. (2015). Sok: A comprehensive anal-
ysis of game-based ballot privacy definitions. In IEEE
Symposium on Security and Privacy.
Bernhard, D., Kulyk, O., and Volkamer, M. (2017). Security
proofs for participation privacy, receipt-freeness and
ballot privacy for the Helios voting scheme. In ARES.
Bohli, J.-M., M
¨
uller-Quade, J., and R
¨
ohrich, S. (2007).
Bingo voting: Secure and coercion-free voting using
a trusted random number generator. In E-VOTE ID.
Brandt, F. (2005). Efficient cryptographic protocol design
based on distributed el gamal encryption. In Int. Conf.
on Information Security and Cryptology.
Buchmann, J., Demirel, D., and Graaf, J. v. d. (2013). To-
wards a publicly-verifiable mix-net providing ever-
lasting privacy. In Financial Cryptography and Data
Security.
Camenisch, J. and Stadler, M. (1997). Efficient group signa-
ture schemes for large groups. In Annual International
Cryptology Conference, pages 410–424. Springer.
Chaidos, P., Cortier, V., Fuchsbauer, G., and Galindo, D.
(2016). Beleniosrf: A non-interactive receipt-free
electronic voting scheme. In CCS.
Chaum, D. and Pedersen, T. P. (1992). Wallet databases
with observers. In Annual international cryptology
conference, pages 89–105. Springer.
Demirel, D., Henning, M., Graaf, J. v. d., Ryan, P. Y., and
Buchmann, J. (2013). Pr
ˆ
et
`
a voter providing everlast-
ing privacy. In E-VOTE ID.
Demirel, D., Van De Graaf, J., and dos Santos Ara
´
ujo, R. S.
(2012). Improving helios with everlasting privacy to-
wards the public. Evt/wote.
Fiat, A. and Shamir, A. (1986). How to prove your-
self: Practical solutions to identification and signature
problems. In Conference on the theory and appli-
cation of cryptographic techniques, pages 186–194.
Springer.
Haines, T., M
¨
uller, J., Mosaheb, R., and Pryvalov, I.
(2023). Sok: Secure e-voting with everlasting privacy.
PoPETs.
Hirt, M. and Sako, K. (2000). Efficient receipt-free voting
based on homomorphic encryption. In Int. Conf. on
the Theory and Applications of Cryptographic Tech-
niques.
Juels, A., Catalano, D., and Jakobsson, M. (2005).
Coercion-resistant electronic elections. In Towards
Trustworthy Elections.
Katz, J. and Lindell, Y. (2007). Private key encryption and
pseudorandomness. Introduction to Modern Cryptog-
raphy, Chapman & Hall/CRC Cryptography and Net-
work Security, pages 47–109.
Kulyk, O., Teague, V., and Volkamer, M. (2015). Extending
helios towards private eligibility verifiability. In E-
VOTE ID.
Locher, P. and Haenni, R. (2015). Verifiable internet elec-
tions with everlasting privacy and minimal trust. In
E-VOTE ID.
Locher, P. and Haenni, R. (2016). Receipt-free remote elec-
tronic elections with everlasting privacy. Annals of
Telecommunications.
Moran, T. and Naor, M. (2006). Receipt-free universally-
verifiable voting with everlasting privacy. In Annual
International Cryptology Conference.
Okamoto, T. (1997). Receipt-free electronic voting schemes
for large scale elections. In Workshop on Security Pro-
tocols.
Ryan, P. Y., Bismark, D., Heather, J. A., Schneider, S. A.,
and Xia, Z. (2009). The pr
ˆ
et
`
a voter verifiable election
system. IEEE TIFS.
Ryan, P. Y., Rønne, P. B., and Iovino, V. (2016). Selene:
Voting with transparent verifiability and coercion-
mitigation. In Financial Cryptography and Data Se-
curity.
Sako, K. and Kilian, J. (1995). Receipt-free mix-type voting
scheme. In International Conference on the Theory
and Applications of Cryptographic Techniques.
Schnorr, C.-P. (1991). Efficient signature generation by
smart cards. Journal of cryptology, 4(3):161–174.
SECRYPT 2023 - 20th International Conference on Security and Cryptography
266