<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.0 20120330//EN" "JATS-journalpublishing1.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">INFORMATICA</journal-id>
<journal-title-group><journal-title>Informatica</journal-title></journal-title-group>
<issn pub-type="epub">1822-8844</issn><issn pub-type="ppub">0868-4952</issn><issn-l>0868-4952</issn-l>
<publisher>
<publisher-name>Vilnius University</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">INFOR616</article-id>
<article-id pub-id-type="doi">10.15388/25-INFOR616</article-id>
<article-categories><subj-group subj-group-type="heading">
<subject>Research Article</subject></subj-group></article-categories>
<title-group>
<article-title>DiReCT Voting: Dispute Resolution with Cast Timeliness</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<contrib-id contrib-id-type="orcid">https://orcid.org/0000-0002-4503-4189</contrib-id>
<name><surname>Martin-Navarro</surname><given-names>Jose Luis</given-names></name><xref ref-type="aff" rid="j_infor616_aff_001">1</xref><xref ref-type="aff" rid="j_infor616_aff_002">2</xref>
</contrib>
<contrib contrib-type="author">
<contrib-id contrib-id-type="orcid">https://orcid.org/0000-0001-7580-2532</contrib-id>
<name><surname>Larriba</surname><given-names>Antonio M.</given-names></name><xref ref-type="aff" rid="j_infor616_aff_001">1</xref>
</contrib>
<contrib contrib-type="author">
<contrib-id contrib-id-type="orcid">https://orcid.org/0000-0003-3633-3862</contrib-id>
<name><surname>López</surname><given-names>Damián</given-names></name><email xlink:href="dlopez@dsic.upv.es">dlopez@dsic.upv.es</email><xref ref-type="aff" rid="j_infor616_aff_001">1</xref><xref ref-type="corresp" rid="cor1">∗</xref>
</contrib>
<aff id="j_infor616_aff_001"><label>1</label><institution>VRAIN – Valencian Research Institute for Artificial Intelligence, Universitat Politècnica de València</institution>, <country>Spain</country></aff>
<aff id="j_infor616_aff_002"><label>2</label><institution>Aalto University</institution>, <country>Finland</country></aff>
</contrib-group>
<author-notes>
<corresp id="cor1"><label>∗</label>Corresponding author.</corresp>
</author-notes>
<pub-date pub-type="ppub"><year>2026</year></pub-date><pub-date pub-type="epub"><day>6</day><month>1</month><year>2026</year></pub-date><volume>37</volume><issue>2</issue><fpage>349</fpage><lpage>382</lpage><history><date date-type="received"><month>6</month><year>2025</year></date><date date-type="accepted"><month>12</month><year>2025</year></date></history>
<permissions><copyright-statement>© 2026 Vilnius University</copyright-statement><copyright-year>2026</copyright-year>
<license license-type="open-access" xlink:href="http://creativecommons.org/licenses/by/4.0/">
<license-p>Open access article under the <ext-link ext-link-type="uri" xlink:href="http://creativecommons.org/licenses/by/4.0/">CC BY</ext-link> license.</license-p></license></permissions>
<abstract>
<p>Verification in modern e-voting protocols allows voters and the general public to independently confirm the elections results. However, verification alone is insufficient to hold entities accountable for misconduct, or to protect honest participants from false accusations. This limitation is especially critical in voting protocols with multiple authorities, where the ability to identify the specific misbehaving entity is essential. We present DiReCT, the first multiparty protocol that integrates dispute resolution with individual accountability. Our protocol addresses two previously unresolved disputes: authorities blocking access to the election; and authorities denying the casting of a ballot. In addition, DiReCT improves timeliness, allowing misconducts to be proactively detected during the elections. As a result, voters can identify and recover from attacks that prevent their ballots from being recorded. Notably, DiReCT achieves these capabilities with low trust assumptions on the authorities.</p>
</abstract>
<kwd-group>
<label>Key words</label>
<kwd>electronic vote</kwd>
<kwd>dispute resolution</kwd>
<kwd>verifiability</kwd>
<kwd>accountability</kwd>
<kwd>secret sharing</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="j_infor616_s_001">
<label>1</label>
<title>Introduction</title>
<p>Electronic voting systems (e-voting) are modernizing electoral processes, improving voter access, and reducing expenses associated with traditional paper-based elections. However, ensuring the security, transparency, and privacy of the election remains a significant challenge. Protocols provide mechanisms and define properties to secure the election process, but the effectiveness of such measures depends directly on the trust model. For example, a protocol may ensure that each voter only votes once by using a central authority. However, this may not be enough to secure the protocol if the central authority can manipulate the results with fraudulent ballots (<italic>ballot stuffing</italic>) or block users from voting (<italic>vote suppression</italic>).</p>
<p>Verifiability plays a crucial role in managing trust within electronic voting systems, as it allows stakeholders to independently confirm the integrity of election results (Adida <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor616_ref_002">2009</xref>; Küsters <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor616_ref_033">2020</xref>), and mitigate voter distrust in the system (Duenas-Cid, <xref ref-type="bibr" rid="j_infor616_ref_020">2024</xref>). End-to-end verifiability (E2E) helps voters to independently confirm that their votes were cast, recorded, and tallied accurately, fostering transparency and strengthening confidence in the election outcome.</p>
<p>Although it is a standard feature in voting protocols (Bougon <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor616_ref_005">2022</xref>; Crimmins <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor616_ref_015">2023</xref>; Kremer <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor616_ref_032">2010</xref>), recent studies have identified limitations in E2E-based verifiability. Crimmins <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor616_ref_015">2023</xref>) argue that eligibility verifiability should be included in E2E. Another limitation is that E2E guarantees the detection of misbehaviour but fails to provide evidence of the detection. Basin <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor616_ref_004">2020</xref>) proposed dispute resolution to solve the issue, adapting notions of accountability to e-voting. Disputes can arise in situations where voters claim a wrongdoing from an authority, who defends its honesty. Dispute resolution defines how the validity of a claim is decided, without the need for a trusted judge. Instead, the dispute needs to be solved with unambiguous evidence, and verifiable by any third party with only access to the public data.</p>
<p>However, little attention has been paid to dispute resolution and the types of disputes that can arise in e-voting. Furthermore, the timeliness of the verification and accountability happens, at best, during the tally, which serves as a post-mortem evaluation, rather than a proactive process.</p>
<p>This paper proposes DiReCT, a new protocol with low trust requirements for voting authorities, which improves the state of the art in dispute resolution. The design of DiReCT combines secret sharing and blind signatures to provide elegibility verifiability, privacy and a decentralized tally, evolving the SUVS protocol by Larriba and López (<xref ref-type="bibr" rid="j_infor616_ref_035">2022</xref>). We extended it to address disputes caused by the lack of accountability, preventing attacks from corrupt authorities and voters. DiReCT accounts for two disputes introduced by Basin <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor616_ref_004">2020</xref>) and considers two new disputes on vote suppression and denial of casting. DiReCT is a multiparty protocol, where casting and tallying are performed by candidates with a conflict of interest (Moran and Naor, <xref ref-type="bibr" rid="j_infor616_ref_040">2010</xref>). We adapt the original definition of dispute resolution to a multiparty protocol, emphasizing individual accountability to prevent any of the authorities from acting surreptitiously. DiReCT also provides a resolution mechanism for denial of casting, allowing voters to detect and recover from the attack in due time.</p>
<p>The main contributions of the paper can be summarized as follows:</p>
<list>
<list-item id="j_infor616_li_001">
<label>•</label>
<p>The definition of two new types of disputes: DCert, a dispute related to vote suppression, where the voting authority blocks the voter during the authentication and ballot certification; and DCast, a dispute related to casting, where the voter is blocked from verifying if the casting has been successful.</p>
</list-item>
<list-item id="j_infor616_li_002">
<label>•</label>
<p>The design of DiReCT, a multi-party electronic voting protocol with improved dispute resolution, individual accountability and cast timeliness, which guarantees that voters possess the evidence to resolve disputes before the election’s end.</p>
</list-item>
<list-item id="j_infor616_li_003">
<label>•</label>
<p>A detailed threat model that considers <italic>covert adversaries</italic>, as defined by Aumann and Lindell (<xref ref-type="bibr" rid="j_infor616_ref_003">2010</xref>), where entities can misbehave as long as they are not detected. This improves previous results that consider semi-trusted authorities (Basin <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor616_ref_004">2020</xref>), assume Honest-but-curious entities (Larriba and López, <xref ref-type="bibr" rid="j_infor616_ref_035">2022</xref>), or that require trusting the voting authority (Adida <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor616_ref_002">2009</xref>; Chaum <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor616_ref_009">2008</xref>).</p>
</list-item>
<list-item id="j_infor616_li_004">
<label>•</label>
<p>The security analysis of DiReCT according to the Universal Composability framework by Canetti (<xref ref-type="bibr" rid="j_infor616_ref_006">2001</xref>), proving that the protocol has recorded-as-cast, eligibility verifiability, and the resolution of both new disputes and tally related disputes such as a tally authority removing a ballot from the tally.</p>
</list-item>
</list>
<p>The paper is structured as follows: Section <xref rid="j_infor616_s_002">2</xref> introduces the cryptography background related to the protocol; Section <xref rid="j_infor616_s_007">4</xref> covers the voting model, its entities, the security assumptions and properties; Section <xref rid="j_infor616_s_011">5</xref> explains DiReCT and the election process; the security analysis of the protocol is proved in Section <xref rid="j_infor616_s_020">6</xref>; the complexity and scalability of the protocol is discussed in Section <xref rid="j_infor616_s_028">7</xref> and, finally, Section <xref rid="j_infor616_s_029">8</xref> summarizes the contributions and future work.</p>
</sec>
<sec id="j_infor616_s_002">
<label>2</label>
<title>Background</title>
<p>This section introduces the fundamental cryptographic primitives as they are used in the base protocol SUVS (<xref ref-type="bibr" rid="j_infor616_ref_035">2022</xref>), namely, Shamir (<xref ref-type="bibr" rid="j_infor616_ref_050">1979</xref>) secret-sharing scheme, and Chaum (<xref ref-type="bibr" rid="j_infor616_ref_007">1983</xref>) blind signatures.</p>
<sec id="j_infor616_s_003">
<label>2.1</label>
<title>Shamir Secret-Sharing Scheme</title>
<p>The ballot encoding and tally are based on Shamir (<xref ref-type="bibr" rid="j_infor616_ref_050">1979</xref>) <inline-formula id="j_infor616_ineq_001"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$(j,d)$]]></tex-math></alternatives></inline-formula>-secret sharing work. In this scheme a secret C is shared among <italic>j</italic> participants, but it can only be retrieved if <inline-formula id="j_infor616_ineq_002"><alternatives><mml:math>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$d+1$]]></tex-math></alternatives></inline-formula> participants collaborate. To share the secret, a polynomial <inline-formula id="j_infor616_ineq_003"><alternatives><mml:math>
<mml:mi mathvariant="italic">q</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$q(x)$]]></tex-math></alternatives></inline-formula> encodes the secret as its independent term, with randomly chosen coefficients <inline-formula id="j_infor616_ineq_004"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">⋯</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${a_{d}}\cdots {a_{1}}$]]></tex-math></alternatives></inline-formula>. A set <italic>P</italic> of random points of <inline-formula id="j_infor616_ineq_005"><alternatives><mml:math>
<mml:mi mathvariant="italic">q</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$q(x)$]]></tex-math></alternatives></inline-formula> are used as pieces, distributed among the participants (Equation (<xref rid="j_infor616_eq_001">1</xref>)) 
<disp-formula id="j_infor616_eq_001">
<label>(1)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mtable displaystyle="true" columnspacing="0pt" columnalign="right left">
<mml:mtr>
<mml:mtd/>
<mml:mtd>
<mml:mi mathvariant="italic">q</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>+</mml:mo>
<mml:mo stretchy="false">⋯</mml:mo>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">C</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="normal">mod</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd/>
<mml:mtd>
<mml:mi mathvariant="italic">P</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">⟨</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">q</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">q</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">⟩</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \begin{aligned}{}& q(x)={a_{d}}{x^{d}}+\cdots +{a_{1}}x+C\hspace{2.5pt}\hspace{2.5pt}\mathrm{mod}\hspace{2.5pt}p,\\ {} & P=\big\langle \big({x_{1}},q({x_{1}})\big),\dots ,\big({x_{d+1}},q({x_{d+1}})\big)\big\rangle .\end{aligned}\]]]></tex-math></alternatives>
</disp-formula> 
To recover <italic>C</italic>, <inline-formula id="j_infor616_ineq_006"><alternatives><mml:math>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$d+1$]]></tex-math></alternatives></inline-formula> points are used to interpolate the polynomial of modulo prime <italic>p</italic>, for example, with the Lagrange (<xref ref-type="bibr" rid="j_infor616_ref_034">1795</xref>) interpolation method, where <inline-formula id="j_infor616_ineq_007"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${l_{i}}$]]></tex-math></alternatives></inline-formula> is the Lagrange Basis Polynomial: 
<disp-formula id="j_infor616_eq_002">
<label>(2)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mi mathvariant="italic">q</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:munderover>
<mml:mi mathvariant="italic">q</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="2em"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∏</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo stretchy="false">≠</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:munderover><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ q(x)={\sum \limits_{i=0}^{d+1}}q({x_{i}}){l_{i}}(x),\hspace{2em}{l_{i}}(x)={\prod \limits_{k=0,k\ne i}^{d+1}}\frac{x-{x_{k}}}{{x_{i}}-{x_{k}}}.\]]]></tex-math></alternatives>
</disp-formula>
</p>
</sec>
<sec id="j_infor616_s_004">
<label>2.2</label>
<title>Blind Signatures</title>
<p>The protocol uses blind signatures as introduced by Chaum (<xref ref-type="bibr" rid="j_infor616_ref_007">1983</xref>). In the scheme, a provider applies a blind function to some data and sends it to the signer. Both the blind and the corresponding unblind functions are only known for the provider, and the blind output does not leak any information about the data contained. When the signer receives the blinded data, it signs it and sends it back to the data provider. The sign function needs a corresponding verify function, without the need of sharing the key used for signing. The provider can then apply the unblind function and obtain the signature of the original data, thanks to the commutative property of the signing and blinding methods.</p>
<p>The blind signature scheme provides untraceability: it is not possible to link signed data with the blind data it comes from. The three methods that implement blind signatures are <italic>Blind</italic>, <italic>Sign</italic> and <italic>Unblind</italic>, with <inline-formula id="j_infor616_ineq_008"><alternatives><mml:math>
<mml:mi mathvariant="italic">s</mml:mi>
<mml:mi mathvariant="italic">k</mml:mi></mml:math><tex-math><![CDATA[$sk$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor616_ineq_009"><alternatives><mml:math>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mi mathvariant="italic">k</mml:mi></mml:math><tex-math><![CDATA[$pk$]]></tex-math></alternatives></inline-formula> the corresponding secret and public key of the signer. The methods, as implemented using RSA, are defined as follows: <disp-formula-group id="j_infor616_dg_001">
<disp-formula id="j_infor616_eq_003">
<label>(3)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mo movablelimits="false">Blind</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mtext mathvariant="italic">data</mml:mtext>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="italic">mask</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mtext mathvariant="italic">data</mml:mtext>
<mml:mo>·</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="italic">mask</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mspace width="1em"/>
<mml:mi mathvariant="normal">mod</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \operatorname{Blind}\big(\textit{data},{\textit{mask}^{pk}}\big)=\textit{data}\cdot {\textit{mask}^{pk}}\hspace{1em}\mathrm{mod}\hspace{2.5pt}n,\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_infor616_eq_004">
<label>(4)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mtable displaystyle="true" columnspacing="0pt 10pt" columnalign="right left right">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mo movablelimits="false">Sign</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">s</mml:mi>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mtext mathvariant="italic">data</mml:mtext>
<mml:mo>·</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="italic">mask</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
</mml:mtd>
<mml:mtd>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mo movablelimits="false">Sign</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">s</mml:mi>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mtext mathvariant="italic">data</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mo movablelimits="false">Sign</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">s</mml:mi>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="italic">mask</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
</mml:mtd>
<mml:mtd>
<mml:mspace width="2.5pt"/>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="normal">mod</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd/>
<mml:mtd>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mo movablelimits="false">Sign</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">s</mml:mi>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mtext mathvariant="italic">data</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>·</mml:mo>
<mml:mtext mathvariant="italic">mask</mml:mtext>
</mml:mtd>
<mml:mtd>
<mml:mspace width="2.5pt"/>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="normal">mod</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \begin{array}{r@{\hskip0pt}l@{\hskip10pt}r}\displaystyle {\operatorname{Sign}_{sk}}\big(\textit{data}\cdot {\textit{mask}^{pk}}\big)& \displaystyle ={\operatorname{Sign}_{sk}}(\textit{data})\cdot {\operatorname{Sign}_{sk}}\big({\textit{mask}^{pk}}\big)& \displaystyle \hspace{2.5pt}\hspace{2.5pt}\mathrm{mod}\hspace{2.5pt}n,\\ {} & \displaystyle ={\operatorname{Sign}_{sk}}(\textit{data})\cdot \textit{mask}& \displaystyle \hspace{2.5pt}\hspace{2.5pt}\mathrm{mod}\hspace{2.5pt}n,\end{array}\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_infor616_eq_005">
<label>(5)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mtable displaystyle="true" columnspacing="0pt 10pt" columnalign="right left right">
<mml:mtr>
<mml:mtd>
<mml:mtext>Unblind</mml:mtext>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mo movablelimits="false">Sign</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">s</mml:mi>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mtext mathvariant="italic">data</mml:mtext>
<mml:mo>·</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="italic">mask</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
</mml:mtd>
<mml:mtd>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mo movablelimits="false">Sign</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">s</mml:mi>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mtext mathvariant="italic">data</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>·</mml:mo>
<mml:mtext mathvariant="italic">mask</mml:mtext>
<mml:mo>·</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="italic">mask</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mtd>
<mml:mtd>
<mml:mspace width="2.5pt"/>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="normal">mod</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd/>
<mml:mtd>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mo movablelimits="false">Sign</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">s</mml:mi>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mtext mathvariant="italic">data</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mtd>
<mml:mtd>
<mml:mspace width="2.5pt"/>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="normal">mod</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \begin{array}{r@{\hskip0pt}l@{\hskip10pt}r}\displaystyle \text{Unblind}\big({\operatorname{Sign}_{sk}}\big(\textit{data}\cdot {\textit{mask}^{pk}}\big)\big)& \displaystyle ={\operatorname{Sign}_{sk}}(\textit{data})\cdot \textit{mask}\cdot {\textit{mask}^{-1}}& \displaystyle \hspace{2.5pt}\hspace{2.5pt}\mathrm{mod}\hspace{2.5pt}n,\\ {} & \displaystyle ={\operatorname{Sign}_{sk}}(\textit{data})& \displaystyle \hspace{2.5pt}\hspace{2.5pt}\mathrm{mod}\hspace{2.5pt}n.\end{array}\]]]></tex-math></alternatives>
</disp-formula>
</disp-formula-group></p>
<p>For simplicity, we explain the workflow of the protocol using RSA blind signatures, which generates blind signatures using its partial homomorphic properties under modular exponentiation (Hwang <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor616_ref_027">2003</xref>). However, any blind signature scheme such as Pointcheval and Sanders (<xref ref-type="bibr" rid="j_infor616_ref_046">2016</xref>) can be used in its place without affecting the workflow of the protocol, only modifying how the Blind, Unblind and Verify methods are implemented.</p>
</sec>
</sec>
<sec id="j_infor616_s_005">
<label>3</label>
<title>Related work</title>
<p>Electronic voting protocols can be divided taking into account the cryptographic technique they use to achieve anonymity and verifiability, with the most popular being mix-nets (<xref ref-type="bibr" rid="j_infor616_ref_008">1981</xref>), homomorphic encryption (<xref ref-type="bibr" rid="j_infor616_ref_047">1978</xref>), and blind signatures (<xref ref-type="bibr" rid="j_infor616_ref_007">1983</xref>).</p>
<p>Mix-nets, introduced by Chaum (<xref ref-type="bibr" rid="j_infor616_ref_008">1981</xref>), involve the shuffling and re-encryption of ballots to sever the connection between voters and their votes. In 2002, Jakobsson <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor616_ref_029">2002</xref>) introduced the RPC mix-net, a method designed to enhance the robustness of voting systems without requiring full correctness proofs. However, generating and verifying these proofs is computationally intensive. Although later work by Furukawa <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor616_ref_022">2010</xref>) improved the efficiency of this approach, the time required to produce proofs remains a significant limitation.</p>
<p>Homomorphic encryption is a technique used to preserve anonymity in voting systems, introduced by Rivest <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor616_ref_047">1978</xref>). Existing e-voting systems primarily adopt Paillier encryption (<xref ref-type="bibr" rid="j_infor616_ref_048">2008</xref>) and ElGamal decryption, as defined by Kiayias and Yung (<xref ref-type="bibr" rid="j_infor616_ref_031">2002</xref>), Lee and Kim (<xref ref-type="bibr" rid="j_infor616_ref_038">2003</xref>). Cramer <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor616_ref_014">1996</xref>, <xref ref-type="bibr" rid="j_infor616_ref_013">1997</xref>) proposed a new cryptographic protocol for multi-authority environments, enabling the distribution of authority among multiple entities. However, because individual ballots are not decrypted, each ballot must be verified using zero-knowledge proofs. As a result, applying this approach to multi-choice voting systems is challenging due to the significant computational overhead. Nevertheless, it can be combined with other techniques to enhance functionality. For example, Sebé <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor616_ref_049">2010</xref>) demonstrates its integration with mix-nets to improve the efficiency of voting systems, and Yang <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor616_ref_053">2017</xref>, <xref ref-type="bibr" rid="j_infor616_ref_054">2018</xref>) proposed an homomorphic based voting protocol for ranked choice.</p>
<p>Blind signatures (<xref ref-type="bibr" rid="j_infor616_ref_007">1983</xref>) are used in voting protocols during the voter registration phase, to authorize the ballot of the voter without revealing the content to the authority. The use of blind signatures was first introduced by Fujioka <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor616_ref_021">1993</xref>), and later, Okamoto (<xref ref-type="bibr" rid="j_infor616_ref_044">1998</xref>) proposed the first practical receipt-free voting scheme suitable for large-scale elections. However, blind signature schemes require the signer to be fully trusted. If the signer is compromised, an attacker could issue and cast arbitrary numbers of ballots, undermining the integrity of the election. Given the limitations, protocols have combined blind signatures with other techniques to limit the power of the authority: Li <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor616_ref_039">2009</xref>) proposed a verifiable process to identify different attacks on the protocol, and Nguyen Thi and Dang (<xref ref-type="bibr" rid="j_infor616_ref_042">2013</xref>) combined blind signatures with a dynamic ballot to let voters update their ballot without the authority intervention. However, it is the combination of blind signatures with threshold cryptographic techniques (Desmedt and Frankel, <xref ref-type="bibr" rid="j_infor616_ref_017">1990</xref>) the one that more effectively limits the ballot stuffing possibility of the authority. Juang <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor616_ref_030">2002</xref>) introduced a scheme supporting distributed authorities by applying threshold methods. The work by Gong <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor616_ref_024">2019</xref>) uses threshold blind signatures to protect privacy of the voter and guarantee eligibility in a blockchain based implementation. More recently, Larriba <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor616_ref_036">2020</xref>), Larriba and López (<xref ref-type="bibr" rid="j_infor616_ref_035">2022</xref>) presented a lightweight threshold-based voting system that also achieves public verifiability. Other authors have proposed a similar decentralized solution using ring signatures (Chen <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor616_ref_010">2008</xref>; Tornos <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor616_ref_051">2014</xref>). Blind signatures have also been discussed in other voting protocols modalities, with a recent work by Willemson (<xref ref-type="bibr" rid="j_infor616_ref_052">2023</xref>) discussing the benefits of using blind signatures to achieve eligibility verifiability in postal voting.</p>
<p>Although Blockchain technology is not a cryptographic primitive, it has been proposed as a supporting technology in the implementation of voting protocols. Such protocols still combine the blockchain with other cryptographic primitives during the voting system. Yang <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor616_ref_055">2020</xref>) makes use of group signatures to protect the privacy of the voter, and homomorphic encryption to compute the final tally. Gao <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor616_ref_023">2019</xref>) makes use of ring signatures, and includes an audit mode at the end election, implemented with blockchain, to detect mismatches in the tally. Larriba <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor616_ref_037">2021</xref>) also uses ring-signatures to protect the privacy of voters, and implements a multi-party voting protocol to increase the trust in the system. For other protocols such as Adida (<xref ref-type="bibr" rid="j_infor616_ref_001">2008</xref>), Larriba and López (<xref ref-type="bibr" rid="j_infor616_ref_035">2022</xref>), although they do not mention blockchain in their design, they still require the use of a public bulletin board, which can be implemented as a blockchain.</p>
<p>Regarding security guarantees, few voting protocols go further than verifiability and offer dispute resolution or individual accountability, given the complexity of introducing properties while keeping the privacy and coercion resistance of the voter (Pankova and Willemson, <xref ref-type="bibr" rid="j_infor616_ref_045">2022</xref>).</p>
<p>A principal work on dispute resolution was published by Basin <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor616_ref_004">2020</xref>). The authors introduce three types of disputes, and propose a generic protocol (<italic>MixNet</italic>) that addresses two of them. This is one of the few protocols that incorporate dispute resolution in its design, although it leaves unresolved the problem of eligibility. Another recent work including dispute resolution is Themis by Bougon <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor616_ref_005">2022</xref>), which also includes a formal verification of its properties. However, since Themis is an hybrid protocol, the dispute resolution requires the collaboration of a voting officer. Themis achieved partial accountability, which means that for some of the disputes it can detect the issue but not identify the specific adversary. A detailed comparison is included in the next section.</p>
<p>In this work, we extend the blind signature scheme SUVS due to its low computational overhead, eligibility verifiability, and flexibility. Inspired by recent work on dispute resolution, we extend the protocol and address disputes for cases not considered, such as when voters are blocked from participating in the election. In addition, the protocol improves the timeliness of the resolution of arising disputes. The protocol makes intensive use of the public bulletin board, which can be provided by blockchain implementations such as Gong <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor616_ref_024">2019</xref>).</p>
<sec id="j_infor616_s_006">
<label>3.1</label>
<title>Dispute Resolution</title>
<table-wrap id="j_infor616_tab_001">
<label>Table 1</label>
<caption>
<p>Dispute resolution comparison in multi-party protocols. For accountability, Basin <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor616_ref_004">2020</xref>) and SUVS have partial accountability <graphic xlink:href="infor616_g001.jpg"/>, Themis by Bougon <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor616_ref_005">2022</xref>) has a mix of individual and partial accountability <graphic xlink:href="infor616_g002.jpg"/>, and this work has complete individual accountability <graphic xlink:href="infor616_g003.jpg"/> .</p>
</caption>
<graphic xlink:href="infor616_g004.jpg"/>
</table-wrap>
<p>The concept of dispute is stated by Basin in <xref ref-type="bibr" rid="j_infor616_ref_004">2020</xref> as “when a voter claims that the voting authority is dishonest and did not correctly process his ballot while the authority claims to have followed the protocol”. Basin <italic>et al.</italic> distinguish between universal and individual verifiability to detect relevant disputes in electronic voting. <italic>Universal verifiability</italic> properties can be ensured only with access to public data (e.g. PBB). They claim that universal verifiable properties do not lead to disputes because any voter or third party with access to the PBB can audit the property. However, <italic>individual verifiability</italic> describes properties that only the voter can check, because she is the only one who knows which ballot has been cast, as well as some other private data. This characteristic leads to the occurrence of disputes. On the one hand, voters are able to detect problems with their ballots but may not be able to prove it to others. On the other hand, voters can accuse an honest authority of misbehaving, which may not be able to prove its honesty. Basin <italic>et al.</italic> (see Table <xref rid="j_infor616_tab_001">1</xref>) also identify three problems related to individual verifiability: 
<list>
<list-item id="j_infor616_li_005">
<label>1.</label>
<p>The voter is blocked from casting the ballot. The reasons can be technical or social. This is connected with voter suppression and disenfranchisement in traditional elections. Despite defined, this dispute was left out of the scope by the authors.</p>
</list-item>
<list-item id="j_infor616_li_006">
<label>2.</label>
<p>The voter is prevented from verifying its ballot after casting.</p>
</list-item>
<list-item id="j_infor616_li_007">
<label>3.</label>
<p>The voter cannot check if the ballot was recorded or not. The authors describe two types of dispute: either the cast ballot was not recorded (D1); or an uncast ballot was recorded for the voter (D2).</p>
</list-item>
</list> 
In this regard, the protocol Themis by Bougon <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor616_ref_005">2022</xref>) considers a casting dispute where the voter can verify the consideration of its physical ballot as long as the server or a set of observers are trustworthy.</p>
<p>Although related to accountability, dispute resolution is a stronger requirement, since it requires unambiguity. In other terms, dispute resolution eliminates the need for a trusted authority acting as a judge. Any honest third party would act as such using the protocol execution and the data in the PBB.</p>
<p>However, different protocols consider different notions of accountability. In Basin <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor616_ref_004">2020</xref>), the definition of dispute resolution only includes partial accountability: for a protocol with multiple parties, it is enough to detect that a party misbehaved, but not which one. In the case of Themis, they improve the accountability guarantees by trying to identify which exact party misbehaved. However, for some cases Themis is only able to narrow down the blame to a set of parties, achieving partial accountability. Our proposed protocol DiReCT, is designed to provide individual accountability, as shown in the security analysis in Section <xref rid="j_infor616_s_020">6</xref>.</p>
</sec>
</sec>
<sec id="j_infor616_s_007">
<label>4</label>
<title>Voting Model</title>
<p>DiReCT’s voting model is structured around a secret sharing scheme and blind signatures (Sections <xref rid="j_infor616_s_003">2.1</xref> and <xref rid="j_infor616_s_004">2.2</xref>), a design proposed and implemented in SUVS by Larriba and López (<xref ref-type="bibr" rid="j_infor616_ref_035">2022</xref>). In this voting model, the secret (ballot) is divided into shares and a commitment is created and blinded with a mask. The voting authority authenticates voters and signs the blinded commitments. The voters send the unblinded signed commitments to the tallying authorities. These authorities pool the shares during the tally to obtain the original votes.</p>
<sec id="j_infor616_s_008">
<label>4.1</label>
<title>Entities and Their Roles</title>
<p>The entities involved in the proposed voting protocol are: the <italic>voters</italic>; the <italic>voting authority</italic> (VA); the <italic>k parties</italic>; and, a <italic>Public Bulletin Board</italic> (PBB). 
<list>
<list-item id="j_infor616_li_008">
<label>•</label>
<p>The voters are the members of the census.</p>
</list-item>
<list-item id="j_infor616_li_009">
<label>•</label>
<p>The voting authority VA initially setups the protocol and is in charge of signing ballots of valid voters.</p>
</list-item>
<list-item id="j_infor616_li_010">
<label>•</label>
<p>Party <inline-formula id="j_infor616_ineq_010"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${p_{j}}$]]></tex-math></alternatives></inline-formula> is a candidate in the election. It also plays the role of a tallying authority.</p>
</list-item>
<list-item id="j_infor616_li_011">
<label>•</label>
<p>A PBB is used to communicate public information. The PBB behaves as an append-only bulletin board (Heather and Lundin, <xref ref-type="bibr" rid="j_infor616_ref_026">2009</xref>), providing a consistent view of the information posted, without the possibility of deleting any post. The PBB does not require any special assumptions compared to its use in other protocols (Doan <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor616_ref_018">2025</xref>; Mosaheb <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor616_ref_041">2025</xref>; Cuvelier <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor616_ref_016">2013</xref>). For the sake of clarity, we assume the existence of topics in the PBB, in the form of PBB:<italic>topic</italic>. Every entry in the PBB includes the entity and the timestamp: 
<disp-formula id="j_infor616_eq_006">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mtext>PBB:topic</mml:mtext>
<mml:mo>:</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:mtext>entity</mml:mtext>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mtext>msg</mml:mtext>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mtext>timestamp</mml:mtext>
<mml:mo fence="true" stretchy="false">]</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \text{PBB:topic}:=[\text{entity},\text{msg},\text{timestamp}]\]]]></tex-math></alternatives>
</disp-formula>
</p>
</list-item>
</list>
</p>
</sec>
<sec id="j_infor616_s_009">
<label>4.2</label>
<title>Security Assumptions</title>
<p>Based on the previous definition of entities and their roles, we compile here the security assumptions of the protocol. We compiled them as a list to make it clear and cite on the protocol if needed: 
<list>
<list-item id="j_infor616_li_012">
<label>SA1</label>
<p>Every voter <italic>v</italic> has a certificate and the corresponding signing key obtained from the census.</p>
</list-item>
</list> 
<inline-formula id="j_infor616_ineq_011"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mo movablelimits="false">Sign</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\operatorname{Sign}_{v}}$]]></tex-math></alternatives></inline-formula> denotes a signature issued by <italic>v</italic> with its certificate. The census is not an active entity in the protocol and, as other voting protocols (Adida <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor616_ref_002">2009</xref>), its implementation is outside the scope of this paper. 
<list>
<list-item id="j_infor616_li_013">
<label>SA2</label>
<p>The adversary <inline-formula id="j_infor616_ineq_012"><alternatives><mml:math>
<mml:mi mathvariant="script">M</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{M}$]]></tex-math></alternatives></inline-formula>, in addition to the (Dolev and Yao, <xref ref-type="bibr" rid="j_infor616_ref_019">1983</xref>) capabilities, can corrupt voters, VA, and parties. A corrupted entity is modelled as a <italic>covert adversary</italic>, as defined by Aumann and Lindell (<xref ref-type="bibr" rid="j_infor616_ref_003">2010</xref>).</p>
</list-item>
</list> 
Covert adversaries are a type of semi-trusted entities that can misbehave when they do it surreptitiously. In other words, we assume that a covert adversary can perform an attack unless it can be attributed to them with public undeniable evidence (individual accountability). Covert adversaries represent a lower trust assumption compared with trusted, or <italic>Honest but Curious</italic> (HbC) authorities. HbC entities represent a privacy threat to voters although they are trusted to follow the protocol.</p>
<p>Aumann and Lindell (<xref ref-type="bibr" rid="j_infor616_ref_003">2010</xref>) formalized covert adversaries as a type of adversary which “faithfully models the adversarial behaviour in many commercial, political, and social settings”. In terms of the adversary capability assumptions, covert adversaries are between an HbC, who follows the protocol and only targets the privacy, and a fully malicious adversary, with unlimited resources and no restraints. 
<list>
<list-item id="j_infor616_li_014">
<label>SA3</label>
<p>There is a conflict of interest between the parties, such as being competing candidates during the election.</p>
</list-item>
</list> 
The concept of conflict of interest in e-voting was introduced by Moran and Naor (<xref ref-type="bibr" rid="j_infor616_ref_040">2010</xref>). We use the extended definition of Zou <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor616_ref_056">2017</xref>), where parties are not assumed to be trustworthy, but that they do not collude with each other. In practice, it is enough if just one party doesn’t collude with the rest. In other words, the protocol works as expected as long as not all the parties in the election are colluding with each other. 
<list>
<list-item id="j_infor616_li_015">
<label>SA4</label>
<p>During the casting phase, there is at least one party that does not block the casting and publishes the receipt.</p>
</list-item>
</list> 
By definition, covert adversaries are not obliged to respond or forward messages unless it leads to individual accountability. <bold>SA4</bold> is the only exception during the protocol. We assume that, among all the candidates in the elections, there is at least one party interested in completing the process. Such party can still behave as a covert adversary in the rest of the protocol. This is still a lower assumption compared with other works, where authorities are trusted or always reply or forward messages even when they misbehave (Basin <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor616_ref_004">2020</xref>). 
<list>
<list-item id="j_infor616_li_016">
<label>SA5</label>
<p>A voter that start the process (Ballot Certification Request) will continue until her vote casting succeeds. This is an implicit requirement in other voting protocols (Clarkson <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor616_ref_011">2008</xref>; Bougon <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor616_ref_005">2022</xref>).</p>
</list-item>
<list-item id="j_infor616_li_017">
<label>SA6</label>
<p>Each authority is responsible for the communication channel with the bulletin board. The authority is accountable if an expected message is missing from the PBB.</p>
</list-item>
<list-item id="j_infor616_li_018">
<label>SA7</label>
<p>There is an anonymous channel between voters and parties which will be used by the voters to cast their ballot.</p>
</list-item>
</list> 
Its implementation is not part of the protocol design. We note that it can be implemented with anonymous networks such as Tor (<xref ref-type="bibr" rid="j_infor616_ref_025">2016</xref>) or STORK Consortium (<xref ref-type="bibr" rid="j_infor616_ref_012">2017</xref>). This is a lower assumption compared with mix-nets, which are needed to calculate the tally anonymously, meanwhile DiReCT only requires a channel that guarantees the anonymity of the transmission.</p>
</sec>
<sec id="j_infor616_s_010">
<label>4.3</label>
<title>Security Properties and Definitions</title>
<p>This subsection describes a compact list of the desired properties of the protocol and common definitions.</p>
<p>Verifiability in e-voting has different approaches depending on the author. In this paper, we follow the strict definitions of verifiability from Moran and Naor (<xref ref-type="bibr" rid="j_infor616_ref_040">2010</xref>), Bougon <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor616_ref_005">2022</xref>), but divide it into <italic>individual</italic>, <italic>universal</italic> and <italic>elegibility</italic> verifiability, as defined by Kremer <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor616_ref_032">2010</xref>).</p>
<p>Individual verifiability is defined as the voters ability to check that their ballot is <italic>recorded as cast</italic> (<xref ref-type="bibr" rid="j_infor616_ref_032">2010</xref>) and that the ballot content did not change, known as <italic>cast as intended</italic> or CaI (<xref ref-type="bibr" rid="j_infor616_ref_040">2010</xref>).</p>
<p>The universal verifiability property ensures that anyone (voters and external auditors) can verify that the results of the elections align with the cast ballots (<italic>counted-as-cast</italic>) (Kremer <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor616_ref_032">2010</xref>; Moran and Naor, <xref ref-type="bibr" rid="j_infor616_ref_040">2010</xref>; Bougon <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor616_ref_005">2022</xref>). Eligibility verifiability ensures that only ballots from registered voters are counted, with at most one ballot per voter (Kremer <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor616_ref_032">2010</xref>; Bougon <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor616_ref_005">2022</xref>).</p>
<p>Attacks performed by covert adversaries are also known as covert attacks. However, this term is also used to refer to attacks that cannot be detected. In our protocol, we use <italic>surreptitious attacks</italic> to distinguish attacks where the origin cannot be <italic>proved</italic>.</p>
<p><italic>Vote suppression</italic> happens when the voting authority prevents some eligible voters from participating in the elections. <italic>Denial of Casting</italic> (DoC) is an equivalent attack where the voters ballot casting is blocked by an authority.</p>
<p><italic>Timeliness</italic>, as defined by Basin <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor616_ref_004">2020</xref>), guarantees that a voter possess the evidence to resolve disputes no later than the election’s end. We increase the granularity of the timeliness definition by applying it to three specific steps in the protocol: <inline-formula id="j_infor616_ineq_013"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>Cert</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{\text{Cert}}}$]]></tex-math></alternatives></inline-formula> for the VA to respond to a ballot certification request; <inline-formula id="j_infor616_ineq_014"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>Cast</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{\text{Cast}}}$]]></tex-math></alternatives></inline-formula> for the parties to respond to a ballot casting; and, <inline-formula id="j_infor616_ineq_015"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>Tally</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{\text{Tally}}}$]]></tex-math></alternatives></inline-formula> for the parties to make public their shares during the tally. After performing the certification, cast, or after the tally starts, the election has set a specific window of time the process can last. Setting those timeouts allows the voter to detect the issue and resolve the dispute. Time constraints, such as the end of the voting period or how long does the voter need to wait for a response, are implicit parameters in the protocol specification. Still, in protocols such as Bougon <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor616_ref_005">2022</xref>), it is expected that the voter needs to wait for a response and can raise an issue otherwise. Note that the protocol does not rely on the synchronization of different entities to ensure its security guarantees. Timeouts serve only as upper limits on the expected processing time for various requests and can be set generously to accommodate potential timing differences. For instance, if the processing time for a request typically ranges from less than a minute to 5 minutes, setting a timeout of 15 minutes ensures that a missing response is clearly detectable while also accounting for synchronization differences of several minutes.</p>
</sec>
</sec>
<sec id="j_infor616_s_011">
<label>5</label>
<title>Protocol</title>
<p>This section describes DiReCT and the steps involved in the three phases of the elections: the <xref rid="j_infor616_s_012">5.1</xref>, the <xref rid="j_infor616_s_015">5.2</xref> and the <xref rid="j_infor616_s_019">5.3</xref>.</p>
<sec id="j_infor616_s_012">
<label>5.1</label>
<title>Preparation Phase</title>
<p>The preparation phase is divided into: the identity provision, where voters get credentials to participate in the election; and the system setup, where the election parameters are decided.</p>
<sec id="j_infor616_s_013">
<label>5.1.1</label>
<title>Identity Provision</title>
<p>The starting point of the identity provision in DiReCT is the existence of a honest census that can provide voters with a certificate (<bold>SA1</bold>).</p>
<p>The census owns the list of valid voters, a public <italic>PK</italic> and secret key and sends <italic>PK</italic> to PBB:prepare. For every voter <italic>v</italic> in the list of valid voters, the census sends a certificate <inline-formula id="j_infor616_ineq_016"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext mathvariant="normal">C</mml:mtext>
<mml:mtext mathvariant="normal" mathsize="small">ERT</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\text{C}\text{ERT}_{v}}$]]></tex-math></alternatives></inline-formula> signed with its secret key, and verifiable with the public key <italic>PK</italic>.</p>
</sec>
<sec id="j_infor616_s_014">
<label>5.1.2</label>
<title>System Setup</title>
<p>The system setup involves the publication of keys and parameters needed for the secret sharing scheme, blind signatures and hashing. The relationship of parameters is displayed in Table <xref rid="j_infor616_tab_002">2</xref>.</p>
<p>The parameters associated with the secret sharing scheme (Section <xref rid="j_infor616_s_003">2.1</xref>) are: the degree <italic>d</italic> of the polynomials; the prime <italic>p</italic> used in the modulo operations; and the maximum number of points the voter can generate <italic>l</italic>.</p>
<p>To setup the blind signatures (Section <xref rid="j_infor616_s_004">2.2</xref>), the VA selects two prime numbers that are kept secret. The product of those primes, <italic>n</italic>, is published, and it is used in the modular arithmetic of the blind signature messages. The VA generates a secret key <italic>s</italic> and public component <inline-formula id="j_infor616_ineq_017"><alternatives><mml:math>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mi mathvariant="italic">a</mml:mi></mml:math><tex-math><![CDATA[$va$]]></tex-math></alternatives></inline-formula> such as <inline-formula id="j_infor616_ineq_018"><alternatives><mml:math>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mi mathvariant="italic">a</mml:mi>
<mml:mo>·</mml:mo>
<mml:mi mathvariant="italic">s</mml:mi>
<mml:mo stretchy="false">≡</mml:mo>
<mml:mn>1</mml:mn>
<mml:mspace width="2.5pt"/>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="normal">mod</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">ϕ</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$va\cdot s\equiv 1\hspace{2.5pt}(\mathrm{mod}\hspace{2.5pt}\phi (n))$]]></tex-math></alternatives></inline-formula>.</p>
<p>The hash function <inline-formula id="j_infor616_ineq_019"><alternatives><mml:math>
<mml:mtext mathvariant="italic">Hash</mml:mtext></mml:math><tex-math><![CDATA[$\textit{Hash}$]]></tex-math></alternatives></inline-formula> and a freshness value used in the election <italic>fresh</italic> are to be decided before the election. The freshness value prevents reusing messages from other elections or precomputation attacks (Oechslin, <xref ref-type="bibr" rid="j_infor616_ref_043">2003</xref>). It should be a value not used previously and unknown before the elections start. Both <italic>fresh</italic> and <inline-formula id="j_infor616_ineq_020"><alternatives><mml:math>
<mml:mtext mathvariant="italic">Hash</mml:mtext></mml:math><tex-math><![CDATA[$\textit{Hash}$]]></tex-math></alternatives></inline-formula> are public.</p>
<p>The protocol makes use of the time variables <inline-formula id="j_infor616_ineq_021"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>Cert</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{\text{Cert}}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor616_ineq_022"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>Cast</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{\text{Cast}}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor616_ineq_023"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>Tally</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{\text{Tally}}}$]]></tex-math></alternatives></inline-formula>. They are timeouts for the voter to get the confirmation of the ballot certification (<inline-formula id="j_infor616_ineq_024"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>Cert</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{\text{Cert}}}$]]></tex-math></alternatives></inline-formula>), ballot casting (<inline-formula id="j_infor616_ineq_025"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>Cast</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{\text{Cast}}}$]]></tex-math></alternatives></inline-formula>), and the time the parties have to publish the shares at the beginning of the tally (<inline-formula id="j_infor616_ineq_026"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>Tally</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{\text{Tally}}}$]]></tex-math></alternatives></inline-formula>). As explained in Section <xref rid="j_infor616_s_010">4.3</xref>, they are not needed in elections with honest authorities, but, in the presence of corrupt authorities, they help determine if a request has been blocked. The variables should be agreed between the VA and the parties, and be public before the election starts.</p>
<table-wrap id="j_infor616_tab_002">
<label>Table 2</label>
<caption>
<p>Setup Parameters. Public parameters are shared in the PBB with the topic <italic>prepare</italic>. Private parameters are kept secret by the entities that create them.</p>
</caption>
<table>
<thead>
<tr>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Type</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Public</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Private</td>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top; text-align: left">Census</td>
<td style="vertical-align: top; text-align: left">Public key <italic>PK</italic>, used to validate certificates</td>
<td style="vertical-align: top; text-align: left">Secret key, used to sign certificates</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Secret sharing</td>
<td style="vertical-align: top; text-align: left">Degree <italic>d</italic>, prime <italic>p</italic> and max number of points <italic>l</italic></td>
<td style="vertical-align: top; text-align: left"/>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Blind signature</td>
<td style="vertical-align: top; text-align: left">Modulus <italic>n</italic>, public component <inline-formula id="j_infor616_ineq_027"><alternatives><mml:math>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mi mathvariant="italic">a</mml:mi></mml:math><tex-math><![CDATA[$va$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">Secret key <italic>s</italic>, and two prime factors of <italic>n</italic></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Hashing</td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor616_ineq_028"><alternatives><mml:math>
<mml:mtext mathvariant="italic">Hash</mml:mtext></mml:math><tex-math><![CDATA[$\textit{Hash}$]]></tex-math></alternatives></inline-formula> function, <italic>fresh</italic> value</td>
<td style="vertical-align: top; text-align: left"/>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Waiting time</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor616_ineq_029"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>Cert</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{\text{Cert}}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor616_ineq_030"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>Cast</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{\text{Cast}}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor616_ineq_031"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>Tally</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{\text{Tally}}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
</sec>
<sec id="j_infor616_s_015">
<label>5.2</label>
<title>Voting Phase</title>
<p>In the voting phase voters participate in the election. It starts with the voter crafting the ballot, encoding their vote direction and producing the ballot shares. It follows the ballot certification, where the VA blindly signs the ballots and shares from valid voters in the census. The phase finishes with the casting, where the voters send their shares to the parties to be counted during the tally. Figure <xref rid="j_infor616_fig_001">1</xref> depicts a simplified version of the process.</p>
<fig id="j_infor616_fig_001">
<label>Fig. 1</label>
<caption>
<p>Voting phase simplified diagram.</p>
</caption>
<graphic xlink:href="infor616_g005.jpg"/>
</fig>
<sec id="j_infor616_s_016">
<label>5.2.1</label>
<title>Ballot Crafting</title>
<p>The voter starts by encoding the vote direction as an integer <italic>C</italic>. The encoding is left as an implementation detail, but it can accommodate different types of voting. The encoded vote direction <italic>C</italic> is used as the independent term of a <italic>d</italic>-degree polynomial <inline-formula id="j_infor616_ineq_032"><alternatives><mml:math>
<mml:mi mathvariant="italic">q</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$q(x)$]]></tex-math></alternatives></inline-formula>, as shown in Equation (<xref rid="j_infor616_eq_001">1</xref>). According to the secret sharing scheme explained in Section <xref rid="j_infor616_s_003">2.1</xref>, the voter can sample a set of points <italic>P</italic> from the polynomial (<xref rid="j_infor616_eq_001">1</xref>), which can be used to form the ballot. Any single point from the set does not provide any information about the vote direction, only <inline-formula id="j_infor616_ineq_033"><alternatives><mml:math>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$d+1$]]></tex-math></alternatives></inline-formula> points allow to interpolate <inline-formula id="j_infor616_ineq_034"><alternatives><mml:math>
<mml:mi mathvariant="italic">q</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$q(x)$]]></tex-math></alternatives></inline-formula> and obtain <italic>C</italic>. Each one of the <italic>k</italic> parties in the election receives a subset (SP) of <italic>P</italic>.<xref ref-type="fn" rid="j_infor616_fn_001">1</xref><fn id="j_infor616_fn_001"><label><sup>1</sup></label>
<p>Each share can be composed by more than one point (<inline-formula id="j_infor616_ineq_035"><alternatives><mml:math>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>⩽</mml:mo>
<mml:mi mathvariant="italic">l</mml:mi></mml:math><tex-math><![CDATA[$k\leqslant l$]]></tex-math></alternatives></inline-formula>). Thus, the number of shares <italic>k</italic> does not necessarily correspond with the number of points <italic>l</italic> generated by the voter.</p></fn> 
<disp-formula id="j_infor616_eq_007">
<label>(6)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mi mathvariant="italic">P</mml:mi>
<mml:mo>=</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">⋃</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mtext>SP</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ P={\bigcup \limits_{i=1}^{k}}{\text{SP}_{i}}.\]]]></tex-math></alternatives>
</disp-formula> 
Every time the shares are collected into <italic>P</italic> they are sorted to produce a consistent output. The sorting operation is omitted in the notation for the sake of clarity.</p>
<p>To craft the ballot commitment, the ballot is digested using the agreed hash function <inline-formula id="j_infor616_ineq_036"><alternatives><mml:math>
<mml:mtext mathvariant="italic">Hash</mml:mtext></mml:math><tex-math><![CDATA[$\textit{Hash}$]]></tex-math></alternatives></inline-formula> and the freshness value <italic>fresh</italic> (Equation (<xref rid="j_infor616_eq_008">7</xref>)). 
<disp-formula id="j_infor616_eq_008">
<label>(7)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mtable displaystyle="true" columnspacing="0pt" columnalign="right left">
<mml:mtr>
<mml:mtd/>
<mml:mtd>
<mml:mtext>H-P</mml:mtext>
<mml:mo>:</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo movablelimits="false">Hash</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">P</mml:mi>
<mml:mspace width="0.1667em"/>
<mml:mo stretchy="false">|</mml:mo>
<mml:mspace width="0.1667em"/>
<mml:mtext mathvariant="italic">fresh</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd/>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mtext>H-SP</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo movablelimits="false">Hash</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext>SP</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mspace width="0.1667em"/>
<mml:mo stretchy="false">|</mml:mo>
<mml:mspace width="0.1667em"/>
<mml:mtext>H-P</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \begin{aligned}{}& \text{H-P}:=\operatorname{Hash}(P\hspace{0.1667em}|\hspace{0.1667em}\textit{fresh}),\\ {} & {\text{H-SP}_{i}}:=\operatorname{Hash}({\text{SP}_{i}}\hspace{0.1667em}|\hspace{0.1667em}\text{H-P}).\end{aligned}\]]]></tex-math></alternatives>
</disp-formula> 
With the addition of the fresh value to the vote commitment, an adversary cannot reuse commitments from previous instances of the protocol. The commitment of the share <inline-formula id="j_infor616_ineq_037"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext>H-SP</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\text{H-SP}_{i}}$]]></tex-math></alternatives></inline-formula> allows to link each share with the ballot, which will play a role in the casting verification.</p>
</sec>
<sec id="j_infor616_s_017">
<label>5.2.2</label>
<title>Ballot Certification</title>
<p>During the ballot certification, the voter certifies the commitments with the VA. This guarantees that a voter can only vote once. The identity of the voter is used in this step. To prevent linking the identity with the vote direction, the certification, blind signatures are used as described in Section <xref rid="j_infor616_s_004">2.2</xref>.</p>
<p>First, the voter blinds the commitments using the VA public component <inline-formula id="j_infor616_ineq_038"><alternatives><mml:math>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mi mathvariant="italic">a</mml:mi></mml:math><tex-math><![CDATA[$va$]]></tex-math></alternatives></inline-formula> (Equation (<xref rid="j_infor616_eq_009">8</xref>)). 
<disp-formula id="j_infor616_eq_009">
<label>(8)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mtable displaystyle="true" columnspacing="0pt" columnalign="right left">
<mml:mtr>
<mml:mtd/>
<mml:mtd>
<mml:mo movablelimits="false">Blind</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mtext>H-P</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>:</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo movablelimits="false">Blind</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mtext>H-P</mml:mtext>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="italic">mask</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mi mathvariant="italic">a</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd/>
<mml:mtd>
<mml:mo movablelimits="false">Blind</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mtext>H-SP</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo movablelimits="false">Blind</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext>H-SP</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mtext mathvariant="italic">mask</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mi mathvariant="italic">a</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd/>
<mml:mtd>
<mml:mtext mathvariant="italic">BBallot</mml:mtext>
<mml:mo>:</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo movablelimits="false">Blind</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mtext>H-P</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:mo movablelimits="false">Blind</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext>H-SP</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \begin{aligned}{}& \operatorname{Blind}(\text{H-P}):=\operatorname{Blind}\big(\text{H-P},{\textit{mask}^{va}}\big),\\ {} & \operatorname{Blind}{(\text{H-SP})_{i}}:=\operatorname{Blind}\big({\text{H-SP}_{i}},{\textit{mask}_{i}^{va}}\big),\\ {} & \textit{BBallot}:=\big(\operatorname{Blind}(\text{H-P}),{\big[\operatorname{Blind}({\text{H-SP}_{i}})\big]_{i=1}^{k}}\big).\end{aligned}\]]]></tex-math></alternatives>
</disp-formula> 
Each <italic>mask</italic> needs to be invertible modulo <italic>n</italic> to unblind the signature and different from each other. The voter uses the credentials obtained in the identity provision (Section <xref rid="j_infor616_s_013">5.1.1</xref>) to sign <italic>BBallot</italic>. This step ensures that every voter can only obtain one ballot (unicity). Only voters with a valid certificate from the census can vote (democracy), and prevents the VA from creating extra ballots (ballot stuffing), since the VA does not possess a voter certificate.</p>
<p>Then, the voter <italic>v</italic> creates a secure communication with the PBB:certify to pose a request for certification (Equation (<xref rid="j_infor616_eq_010">9</xref>)): 
<disp-formula id="j_infor616_eq_010">
<label>(9)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mtext>CerRq</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo stretchy="false">→</mml:mo>
<mml:mtext>PBB</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>:</mml:mo>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mo movablelimits="false">Sign</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mtext mathvariant="italic">BBallot</mml:mtext>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext mathvariant="normal">C</mml:mtext>
<mml:mtext mathvariant="normal" mathsize="small">ERT</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \text{CerRq}(v\to \text{PBB}):=v,{\operatorname{Sign}_{v}}(\textit{BBallot},{\text{C}\text{ERT}_{v}}),{T_{0}}.\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>The VA retrieves the requests from PBB:certify and processes them: verifies that the certificate <inline-formula id="j_infor616_ineq_039"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext mathvariant="normal">C</mml:mtext>
<mml:mtext mathvariant="normal" mathsize="small">ERT</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\text{C}\text{ERT}_{v}}$]]></tex-math></alternatives></inline-formula> is valid and that the voter <italic>v</italic> has not requested a ballot before. If the checks are satisfied, the VA signs the concealed ballot <inline-formula id="j_infor616_ineq_040"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mo movablelimits="false">Sign</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mtext>VA</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mtext mathvariant="italic">BBallot</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\operatorname{Sign}_{\text{VA}}}(\textit{BBallot})$]]></tex-math></alternatives></inline-formula>. The response is sent to PBB:certified: 
<disp-formula id="j_infor616_eq_011">
<label>(10)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mtext>CertRes</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mtext>VA</mml:mtext>
<mml:mo stretchy="false">→</mml:mo>
<mml:mi mathvariant="italic">P</mml:mi>
<mml:mi mathvariant="italic">B</mml:mi>
<mml:mi mathvariant="italic">B</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>:</mml:mo>
<mml:mo>=</mml:mo>
<mml:mtext>VA</mml:mtext>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">⟨</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mo movablelimits="false">Sign</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mtext>VA</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mtext mathvariant="italic">BBallot</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext>CerRq</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">⟩</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \text{CertRes}(\text{VA}\to PBB):=\text{VA},\big\langle {\operatorname{Sign}_{\text{VA}}}(\textit{BBallot}),{\text{CerRq}_{v}}\big\rangle ,{T_{1}}.\]]]></tex-math></alternatives>
</disp-formula> 
The reason for publishing this information is three-fold: the voter can confirm that the ballot has been received as intended; it prevents the VA from covertly blocking a voter by not sending the response to the certification; and every party can check that only voters with valid credentials are certified by the VA.</p>
<p>The voter can easily retrieve the signed data from PBB:certified by unblinding it (Equation (<xref rid="j_infor616_eq_012">11</xref>)), using the original masks. The process ends with the voter obtaining the signed ballot <italic>SBallot</italic> (Equation (<xref rid="j_infor616_eq_013">12</xref>)). Hence, the certification of the commitments is performed without revealing the vote. <disp-formula-group id="j_infor616_dg_002">
<disp-formula id="j_infor616_eq_012">
<label>(11)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<mml:mo movablelimits="false">Unblind</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mo movablelimits="false">Sign</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mtext>VA</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mtext mathvariant="italic">BBallot</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mtext mathvariant="italic">SBallot</mml:mtext>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{aligned}{}& \operatorname{Unblind}\big({\operatorname{Sign}_{\text{VA}}}(\textit{BBallot})\big)=\textit{SBallot},\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_infor616_eq_013">
<label>(12)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<mml:mtext mathvariant="italic">SBallot</mml:mtext>
<mml:mo>:</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">⟨</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mo movablelimits="false">Sign</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mtext>VA</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mfenced separators="" open="(" close=")">
<mml:mrow>
<mml:mtext>H-P</mml:mtext>
</mml:mrow>
</mml:mfenced>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mo movablelimits="false">Sign</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mtext>VA</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext>H-SP</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">⟩</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{aligned}{}& \textit{SBallot}:=\big\langle {\operatorname{Sign}_{\text{VA}}}\left(\text{H-P}\right),{\big[{\operatorname{Sign}_{\text{VA}}}({\text{H-SP}_{i}})\big]_{i=1}^{k}}\big\rangle .\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
</disp-formula-group></p>
</sec>
<sec id="j_infor616_s_018">
<label>5.2.3</label>
<title>Ballot Casting</title>
<p>To cast her vote, the voter <italic>v</italic> sends to each party the signed ballot, a share SP and the share commitment at time <inline-formula id="j_infor616_ineq_041"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{2}}$]]></tex-math></alternatives></inline-formula>, as described in Equation (<xref rid="j_infor616_eq_014">13</xref>). 
<disp-formula id="j_infor616_eq_014">
<label>(13)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mtext>Casting</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo stretchy="false">→</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext>party</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>:</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo fence="true" stretchy="false">⟨</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext>SP</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext>H-SP</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mtext mathvariant="italic">SBallot</mml:mtext>
<mml:mo fence="true" stretchy="false">⟩</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \text{Casting}(v\to {\text{party}_{j}}):=\langle {\text{SP}_{j}},{\text{H-SP}_{j}},\textit{SBallot}\rangle .\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>The party <italic>j</italic> receiving the share verifies both the signed commitment of the share and the signed ballot (Equation (<xref rid="j_infor616_eq_015">14</xref>)). 
<disp-formula id="j_infor616_eq_015">
<label>(14)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mtable displaystyle="true" columnspacing="0pt" columnalign="right left">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mtext>Verify</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>VA</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mo movablelimits="false">Sign</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mtext>VA</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mfenced separators="" open="(" close=")">
<mml:mrow>
<mml:mtext>H-P</mml:mtext>
</mml:mrow>
</mml:mfenced>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mtd>
<mml:mtd>
<mml:mover>
<mml:mrow>
<mml:mo>=</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>?</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mover>
<mml:mspace width="2.5pt"/>
<mml:mtext>H-P</mml:mtext>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext>Verify</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>VA</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mo movablelimits="false">Sign</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mtext>VA</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext>H-SP</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
</mml:mtd>
<mml:mtd>
<mml:mover>
<mml:mrow>
<mml:mo>=</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>?</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mover>
<mml:mspace width="2.5pt"/>
<mml:msub>
<mml:mrow>
<mml:mtext>H-SP</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:msubsup>
<mml:mrow/>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mo movablelimits="false">Hash</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext>SP</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">|</mml:mo>
<mml:mtext>H-P</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mtd>
<mml:mtd>
<mml:mover>
<mml:mrow>
<mml:mo>=</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>?</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mover>
<mml:mspace width="2.5pt"/>
<mml:msub>
<mml:mrow>
<mml:mtext>H-SP</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \begin{aligned}{}{\text{Verify}_{\text{VA}}}({\operatorname{Sign}_{\text{VA}}}\left(\text{H-P}\right))& \stackrel{?}{=}\hspace{2.5pt}\text{H-P},\\ {} \big[{\text{Verify}_{\text{VA}}}\big({\operatorname{Sign}_{\text{VA}}}({\text{H-SP}_{i}})\big)& \stackrel{?}{=}\hspace{2.5pt}{\text{H-SP}_{i}}\big]{_{i=1}^{k}},\\ {} \operatorname{Hash}({\text{SP}_{j}}|\text{H-P})& \stackrel{?}{=}\hspace{2.5pt}{\text{H-SP}_{j}}.\end{aligned}\]]]></tex-math></alternatives>
</disp-formula> 
If the checks are successful, the party publishes a receipt in the PBB:cast. The receipt is the content of the cast message without the share. With the receipt the voter can verify that the party received the correct information. 
<disp-formula id="j_infor616_eq_016">
<label>(15)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mtext>Casting</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext>party</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">→</mml:mo>
<mml:mtext>PBB</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>:</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext>party</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo fence="true" stretchy="false">⟨</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext>H-SP</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mtext mathvariant="italic">SBallot</mml:mtext>
<mml:mo fence="true" stretchy="false">⟩</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \text{Casting}({\text{party}_{j}}\to \text{PBB}):={\text{party}_{j}},\langle {\text{H-SP}_{j}},\textit{SBallot}\rangle ,{T_{3}}.\]]]></tex-math></alternatives>
</disp-formula> 
During the tally, any entity can detect if a party sends a different <inline-formula id="j_infor616_ineq_042"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext>SP</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\text{SP}_{i}}$]]></tex-math></alternatives></inline-formula> than the one signed by checking the information in the PBB:cast.</p>
<p>The distribution of the shares between the candidates follows Shamir’s secret sharing scheme (Section <xref rid="j_infor616_s_003">2.1</xref>), where at least <italic>d</italic> points are needed to interpolate the <italic>d</italic> degree polynomial. These are the possible situations where the shares can be recollected: 
<list>
<list-item id="j_infor616_li_019">
<label>•</label>
<p>During the tally, when all the parties post the share and ballot in the PBB.</p>
</list-item>
<list-item id="j_infor616_li_020">
<label>•</label>
<p>If all parties collude and exchange their shares before the tally. This is not possible in our model, since the parties have conflicting interests (<bold>SA3</bold>).</p>
</list-item>
<list-item id="j_infor616_li_021">
<label>•</label>
<p>If the voter sends all the shares to a party. Although such vote can be detected and avoided, doing so colludes with the recovery mechanism against a denial of casting. We study the situation in Section <xref rid="j_infor616_s_024">6.3</xref>.</p>
</list-item>
</list>
</p>
</sec>
</sec>
<sec id="j_infor616_s_019">
<label>5.3</label>
<title>Tally Phase</title>
<p>Once the voting finishes, the tally phase starts, with the parties sending the shares to the PBB:tally: 
<disp-formula id="j_infor616_eq_017">
<label>(16)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mtext>Tally</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext>party</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">→</mml:mo>
<mml:mtext>PBB</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>:</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext>party</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo fence="true" stretchy="false">⟨</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext>SP</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext>H-SP</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mtext mathvariant="italic">SBallot</mml:mtext>
<mml:mo fence="true" stretchy="false">⟩</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \text{Tally}({\text{party}_{i}}\to \text{PBB}):={\text{party}_{i}},\langle {\text{SP}_{i}},{\text{H-SP}_{i}},\textit{SBallot}\rangle ,{T_{4}}.\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>To reconstruct the ballot, first the parties need to collect the shares with an identical <inline-formula id="j_infor616_ineq_043"><alternatives><mml:math>
<mml:mtext mathvariant="italic">SBallot</mml:mtext></mml:math><tex-math><![CDATA[$\textit{SBallot}$]]></tex-math></alternatives></inline-formula>. With all the shares, each party can sort them and reconstruct the original <italic>P</italic>, as seen in Equation (<xref rid="j_infor616_eq_007">6</xref>). With <italic>P</italic> it is straightforward to obtain the original polynomial <inline-formula id="j_infor616_ineq_044"><alternatives><mml:math>
<mml:mi mathvariant="italic">q</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$q(x)$]]></tex-math></alternatives></inline-formula>, for example using Lagrange’s polynomials (see Equation (<xref rid="j_infor616_eq_002">2</xref>)). The direction of vote can then be obtained from <inline-formula id="j_infor616_ineq_045"><alternatives><mml:math>
<mml:mi mathvariant="italic">q</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$q(x)$]]></tex-math></alternatives></inline-formula> by obtaining the independent term <inline-formula id="j_infor616_ineq_046"><alternatives><mml:math>
<mml:mi mathvariant="italic">C</mml:mi>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">q</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mspace width="2.5pt"/>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="normal">mod</mml:mi>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">p</mml:mi></mml:math><tex-math><![CDATA[$C=q(0)\hspace{2.5pt}\hspace{2.5pt}\mathrm{mod}\hspace{2.5pt}p$]]></tex-math></alternatives></inline-formula>.</p>
</sec>
</sec>
<sec id="j_infor616_s_020">
<label>6</label>
<title>Security Analysis</title>
<p>The analysis of the protocol has been carried out according to the Universal Composability Framework (UC) (Canetti, <xref ref-type="bibr" rid="j_infor616_ref_006">2001</xref>), which compares the real world behaviour of the protocol with an <italic>ideal</italic> one to prove the validity of certain statements. By simulation, the actions in the real world of an adversary are applied. The security is held if the ideal and real behaviour are indistinguishable, which implies that the adversary actions do not affect the functionality being analysed. When studying the security of a functionality, the initial state needs to be defined, which allows breaking down the protocol into components. Similarly, it is possible to use a <italic>dummy party</italic> that acts as a placeholder for an ideal functionality, modelling the case of parties that are not corrupted by the adversary. This case which combines the real world and the adversary with calls to an ideal functionality is known as an hybrid protocol.</p>
<p>Following the UC framework, this section defines the ideal functionalities that model honest entities and properties, where the covert adversary behaviour is included in the form of attacks. Theorems and proofs are included to specify how properties are achieved, how attacks are not possible in DiReCT, or how the covert adversary can be identified if it does the attack (individual accountability). The disputes are characterized as the combination of two attacks, one when the authority misbehaves, and another, where a voter makes a false claim against an honest authority. A subsection covers each of the phases in the protocol, grouping the ideal functionalities, attacks, disputes and proofs.</p>
<sec id="j_infor616_s_021">
<label>6.1</label>
<title>Disputes in DiReCT</title>
<p>Dispute resolution (Section <xref rid="j_infor616_s_006">3.1</xref>) is a key contribution of this paper. Introduced by Basin <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor616_ref_004">2020</xref>), in their work the authors identify two disputes regarding individual verifiability: claims for unrecorded ballots (D1); and claims for uncast recorded ballots (D2).</p>
<p>We adapt these definitions to DiReCT without affecting their meaning. D1 is included as DTally, although in DiReCT the recorded ballots can be universally verified (recorded as cast). D2 does not apply as is to DiReCT, instead we consider a more general attack where an authority falsifies ballots (ballot stuffing), and prove that the dispute is not possible in DiReCT. Furthermore, this paper introduces two new disputes. The first one, DCert, is a dispute related to vote suppression, where the voter is blocked from the authentication and ballot certification. The second one, DCast, is a dispute related to denial of casting (DoC), where the voter is blocked from verifying the ballot casting.</p>
</sec>
<sec id="j_infor616_s_022">
<label>6.2</label>
<title>Ballot Certification</title>
<p>The behaviour of a trusted VA during the ballot certification is modelled by the ideal functionality <inline-formula id="j_infor616_ineq_047"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">Cert</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{Cert}}}$]]></tex-math></alternatives></inline-formula>. <inline-formula id="j_infor616_ineq_048"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">CertObs</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{CertObs}}}$]]></tex-math></alternatives></inline-formula> ensures that any voter with valid credentials obtains a signed ballot within a given time <inline-formula id="j_infor616_ineq_049"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>Cert</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{\text{Cert}}}$]]></tex-math></alternatives></inline-formula>. It uses the public bulletin board PBB to log public message exchanges. The adversary can read the information but cannot block access to it, and only can post by corrupting an entity with access. The PBB provides integrity and non-repudiation: the content posted cannot be altered by the adversary and it’s origin is unambiguous. Posted messages include the entity, the content and a timestamp (Section <xref rid="j_infor616_s_008">4.1</xref>).</p>
<p><graphic xlink:href="infor616_g006.jpg"/></p>
<p>The ideal functionality or honest VA only knows that <italic>BBallot</italic> is a list of <inline-formula id="j_infor616_ineq_050"><alternatives><mml:math>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$k+1$]]></tex-math></alternatives></inline-formula> bit strings, since it has been blinded. In the case of an honest voter, <italic>BBallot</italic> corresponds to the ballot and shares commitments (Equation (<xref rid="j_infor616_eq_009">8</xref>)).</p>
<p>We define a second ideal functionality <inline-formula id="j_infor616_ineq_051"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">CertObs</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{CertObs}}}$]]></tex-math></alternatives></inline-formula>, which models the universal verification of the Ballot Certification within a time frame <inline-formula id="j_infor616_ineq_052"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>Cert</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{\text{Cert}}}$]]></tex-math></alternatives></inline-formula> (by any external auditor, party or voter). <inline-formula id="j_infor616_ineq_053"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">CertObs</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{CertObs}}}$]]></tex-math></alternatives></inline-formula> outputs a 1 if the certification is performed on time, 0 otherwise.</p>
<p><graphic xlink:href="infor616_g007.jpg"/></p>
</sec>
<sec id="j_infor616_s_023">
<title>Vote Suppression Dispute (DCert)</title>
<p>The DCert vote suppression dispute is linked with two attacks: a malicious VA blocking honest voters (<italic>vote suppression</italic>); and a malicious voter claiming a vote suppression from an honest VA (<italic>false suppression claim</italic>).</p>
<p>In the vote suppression attack, the real world adversary <inline-formula id="j_infor616_ineq_054"><alternatives><mml:math>
<mml:mi mathvariant="script">M</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{M}$]]></tex-math></alternatives></inline-formula> corrupts the VA. Since voters reveal their identity to the VA, the adversary can selectively block honest voters from ballot certification.</p>
<p><graphic xlink:href="infor616_g008.jpg"/></p>
<p>To accomplish the dispute resolution in case of vote suppression, any third party should be able to detect the attack. Framing it in terms of a covert adversary, it is not possible for the adversary to perform the vote suppression surreptitiously. This is analogous to prove that in the hybrid protocol where the vote suppression is performed, the adversary cannot modify the behaviour of the ideal functionality <inline-formula id="j_infor616_ineq_055"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">CertObs</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{CertObs}}}$]]></tex-math></alternatives></inline-formula>, which always outputs a 0.</p><statement id="j_infor616_stat_001"><label>Theorem 1.</label>
<p><italic>Vote suppression in DiReCT cannot be executed surreptitiously.</italic></p></statement><statement id="j_infor616_stat_002"><label>Proof.</label>
<p>A valid certification request is suppressed if <inline-formula id="j_infor616_ineq_056"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">CertObs</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{CertObs}}}$]]></tex-math></alternatives></inline-formula> outputs 0. Note that <inline-formula id="j_infor616_ineq_057"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">CertObs</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{CertObs}}}$]]></tex-math></alternatives></inline-formula> only aborts at step (a). However, since CerRq is valid, <inline-formula id="j_infor616_ineq_058"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">CertObs</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{CertObs}}}$]]></tex-math></alternatives></inline-formula> does not abort, no matter what action <italic>S</italic> performs.</p>
<p>To succeed the covert attack, the adversary needs to perform the vote suppression with an output from <inline-formula id="j_infor616_ineq_059"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">CertObs</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{CertObs}}}$]]></tex-math></alternatives></inline-formula> of 1. The options for <italic>S</italic> are: 
<list>
<list-item id="j_infor616_li_022">
<label>•</label>
<p>If <italic>S</italic> omits the answer (i), after some time <inline-formula id="j_infor616_ineq_060"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>Cert</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{\text{Cert}}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor616_ineq_061"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">CertObs</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{CertObs}}}$]]></tex-math></alternatives></inline-formula> outputs a 0 (step (d)).</p>
</list-item>
<list-item id="j_infor616_li_023">
<label>•</label>
<p>If <italic>S</italic> signs a different content (ii), in step (b) <inline-formula id="j_infor616_ineq_062"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">CertObs</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{CertObs}}}$]]></tex-math></alternatives></inline-formula> detects the mismatch of the signed content <inline-formula id="j_infor616_ineq_063"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext>Verify</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>VA</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mo movablelimits="false">Sign</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mtext>VA</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">X</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo stretchy="false">≠</mml:mo>
<mml:mtext mathvariant="italic">BBallot</mml:mtext></mml:math><tex-math><![CDATA[${\text{Verify}_{\text{VA}}}({\operatorname{Sign}_{\text{VA}}}(X))\ne \textit{BBallot}$]]></tex-math></alternatives></inline-formula>. After <inline-formula id="j_infor616_ineq_064"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>Cert</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{\text{Cert}}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor616_ineq_065"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">CertObs</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{CertObs}}}$]]></tex-math></alternatives></inline-formula> outputs a 0 (step (d)).</p>
</list-item>
<list-item id="j_infor616_li_024">
<label>•</label>
<p>If <italic>S</italic> sends a different signature (iii), similarly to the last case, <inline-formula id="j_infor616_ineq_066"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">CertObs</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{CertObs}}}$]]></tex-math></alternatives></inline-formula> detects the mismatch <inline-formula id="j_infor616_ineq_067"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext>Verify</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>VA</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mo movablelimits="false">Sign</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mtext>VA</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mtext mathvariant="italic">BBallot</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo stretchy="false">≠</mml:mo>
<mml:mtext mathvariant="italic">BBallot</mml:mtext></mml:math><tex-math><![CDATA[${\text{Verify}_{\text{VA}}}({\operatorname{Sign}_{{\text{VA}^{\prime }}}}(\textit{BBallot}))\ne \textit{BBallot}$]]></tex-math></alternatives></inline-formula> and outputs a 0.</p>
</list-item>
</list> 
Consequently, the adversary cannot avoid <inline-formula id="j_infor616_ineq_068"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">CertObs</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{CertObs}}}$]]></tex-math></alternatives></inline-formula> outputting 0 at time <inline-formula id="j_infor616_ineq_069"><alternatives><mml:math>
<mml:mi mathvariant="italic">T</mml:mi>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>Cert</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[$T={T_{0}}+{T_{\text{Cert}}}$]]></tex-math></alternatives></inline-formula>.  □</p></statement>
<p>The ideal functionality <inline-formula id="j_infor616_ineq_070"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">CertObs</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{CertObs}}}$]]></tex-math></alternatives></inline-formula> can be translated to the real world behaviour by any third party with access to the PBB. This is what allows us to translate the hybrid protocol proof from Theorem <xref rid="j_infor616_stat_001">1</xref> to the real world.</p>
<p>A voter corrupted by <inline-formula id="j_infor616_ineq_071"><alternatives><mml:math>
<mml:mi mathvariant="script">M</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{M}$]]></tex-math></alternatives></inline-formula> can pose a false suppression claim at an honest VA.</p>
<p><graphic xlink:href="infor616_g009.jpg"/></p>
<p>In order <inline-formula id="j_infor616_ineq_072"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">CertObs</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{CertObs}}}$]]></tex-math></alternatives></inline-formula> to output 0, as universally verifiable evidence of the suppression of the ballot certification request. Theorem <xref rid="j_infor616_stat_003">2</xref> proves how this false claim is not possible.</p><statement id="j_infor616_stat_003"><label>Theorem 2.</label>
<p><italic>A voter cannot sustain false claims of vote suppression against the VA.</italic></p></statement><statement id="j_infor616_stat_004"><label>Proof.</label>
<p>A false suppression claim succeeds if <inline-formula id="j_infor616_ineq_073"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">CertObs</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{CertObs}}}$]]></tex-math></alternatives></inline-formula> outputs 0. Lets review each of <italic>S</italic> actions in the false suppression claim hybrid protocol and the output of <inline-formula id="j_infor616_ineq_074"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">CertObs</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{CertObs}}}$]]></tex-math></alternatives></inline-formula>: 
<list>
<list-item id="j_infor616_li_025">
<label>•</label>
<p>Step i: CertReq is the input of <inline-formula id="j_infor616_ineq_075"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">CertObs</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{CertObs}}}$]]></tex-math></alternatives></inline-formula>. Without it, <inline-formula id="j_infor616_ineq_076"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">CertObs</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{CertObs}}}$]]></tex-math></alternatives></inline-formula> cannot output 0.</p>
</list-item>
<list-item id="j_infor616_li_026">
<label>•</label>
<p>Steps ii and iii: Both cases are checked in step (a), which results in abort.</p>
</list-item>
<list-item id="j_infor616_li_027">
<label>•</label>
<p>Steps iv: <inline-formula id="j_infor616_ineq_077"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">CertObs</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{CertObs}}}$]]></tex-math></alternatives></inline-formula> verifies if the voter has received a previous CertRes, in which case it aborts (step (a)).</p>
</list-item>
</list> 
Thus the adversary cannot change the behaviour in the <inline-formula id="j_infor616_ineq_078"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">CertObs</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{CertObs}}}$]]></tex-math></alternatives></inline-formula> with its actions.  □</p></statement>
<p>Theorems <xref rid="j_infor616_stat_001">1</xref> and <xref rid="j_infor616_stat_003">2</xref> results permit successful dispute resolutions for DCert.</p>
</sec>
<sec id="j_infor616_s_024">
<label>6.3</label>
<title>Ballot Cast</title>
<p>The ideal functionality <inline-formula id="j_infor616_ineq_079"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">Cast</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{Cast}}}$]]></tex-math></alternatives></inline-formula> models an honest party in the casting phase. Validates a ballot share of a voter and posts a receipt in a public log within time <inline-formula id="j_infor616_ineq_080"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>Cast</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{\text{Cast}}}$]]></tex-math></alternatives></inline-formula>.</p>
<p><graphic xlink:href="infor616_g010.jpg"/></p>
<p><graphic xlink:href="infor616_g011.jpg"/></p>
<p>It is assumed that <inline-formula id="j_infor616_ineq_081"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>Cast</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{\text{Cast}}}$]]></tex-math></alternatives></inline-formula> is chosen based on the infrastructure and election’s size. Also, in the worst case scenario, the posting will happen right before the tally starts.</p>
<p>We define a second ideal functionality <inline-formula id="j_infor616_ineq_082"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">CastObs</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{CastObs}}}$]]></tex-math></alternatives></inline-formula>, which models how an honest voter can verify that the casting has been performed within a time frame <inline-formula id="j_infor616_ineq_083"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>Cast</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{\text{Cast}}}$]]></tex-math></alternatives></inline-formula>. <inline-formula id="j_infor616_ineq_084"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">CastObs</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{CastObs}}}$]]></tex-math></alternatives></inline-formula> outputs 1 if the casting is performed on time, 0 otherwise.</p>
<p><graphic xlink:href="infor616_g012.jpg"/></p>
<p><italic>Cast verification dispute (DCast).</italic>  The second dispute we consider affects the voter’s verification of her ballot casting (DCast). Given that the communication between the voter and the parties is not public, the adversary may attempt an attack without being identified (covert adversary). Two attacks can cause the dispute: a malicious party blocking some honest voters (<italic>Denial of Cast or DoC</italic>); and a malicious voter claiming being denied by an honest party (<italic>false DoC claim</italic>).</p>
<p><graphic xlink:href="infor616_g013.jpg"/></p>
<p>The DoC hybrid protocol summarizes how the adversary can avoid confirming the casting to the user. Theorem <xref rid="j_infor616_stat_005">3</xref> proves that DoC is not possible in DiReCT.</p><statement id="j_infor616_stat_005"><label>Theorem 3.</label>
<p><italic>A corrupt party cannot block the ballot casting of a voter without the voter noticing it.</italic></p></statement><statement id="j_infor616_stat_006"><label>Proof.</label>
<p>For any valid voter’s ballot casting <inline-formula id="j_infor616_ineq_085"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">CastObs</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{CastObs}}}$]]></tex-math></alternatives></inline-formula> outputs 0. First, lets analyse if <inline-formula id="j_infor616_ineq_086"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">CastObs</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{CastObs}}}$]]></tex-math></alternatives></inline-formula> could abort. The ideal functionality only aborts in step 1. if the casting message is invalid, but the premise of the attack is that the adversary is blocking a valid message, thus <inline-formula id="j_infor616_ineq_087"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">CastObs</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{CastObs}}}$]]></tex-math></alternatives></inline-formula> does not abort.</p>
<p>The simulator can then perform two actions. If <italic>S</italic> does not publish the receipt, <inline-formula id="j_infor616_ineq_088"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">CastObs</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{CastObs}}}$]]></tex-math></alternatives></inline-formula> will not succeed finding it and will output a <inline-formula id="j_infor616_ineq_089"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>Cast</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{\text{Cast}}}$]]></tex-math></alternatives></inline-formula> waiting (step 4.). Similarly, if <italic>S</italic> publishes a receipt with the wrong share commitment, <inline-formula id="j_infor616_ineq_090"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">CastObs</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{CastObs}}}$]]></tex-math></alternatives></inline-formula> will ignore it and output 0.</p>
<p>The simulator cannot perform the denial of casting without the voter noticing after a time <inline-formula id="j_infor616_ineq_091"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>Cast</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{\text{Cast}}}$]]></tex-math></alternatives></inline-formula>, since it cannot modify the behaviour of <inline-formula id="j_infor616_ineq_092"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">CastObs</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{CastObs}}}$]]></tex-math></alternatives></inline-formula>.  □</p></statement>
<p>We prove in Theorem <xref rid="j_infor616_stat_007">4</xref> that every user can verify her casting before the tally.</p><statement id="j_infor616_stat_007"><label>Theorem 4.</label>
<p><italic>In DiReCT, an honest voter can verify the casting of its ballot before the tally.</italic></p></statement><statement id="j_infor616_stat_008"><label>Proof.</label>
<p>In the protocol, <inline-formula id="j_infor616_ineq_093"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>Cast</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{\text{Cast}}}$]]></tex-math></alternatives></inline-formula> is the reasonable maximum time to receive the casting confirmation. If the voter cast her ballot to a party <italic>j</italic> within time, according to <inline-formula id="j_infor616_ineq_094"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">CastObs</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{CastObs}}}$]]></tex-math></alternatives></inline-formula>, either <italic>j</italic> posts the receipt of the casting or the voter can detect the verification blocking waiting <inline-formula id="j_infor616_ineq_095"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>Cast</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{\text{Cast}}}$]]></tex-math></alternatives></inline-formula>. In both cases, the voter can verify if the casting is correct or not before the tally.  □</p></statement>
<p>The recovery process <inline-formula id="j_infor616_ineq_096"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">Rec</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{Rec}}}$]]></tex-math></alternatives></inline-formula> is defined based on the result of Theorem <xref rid="j_infor616_stat_007">4</xref>, and proved in Theorem <xref rid="j_infor616_stat_009">5</xref>.</p>
<p><graphic xlink:href="infor616_g014.jpg"/></p><statement id="j_infor616_stat_009"><label>Theorem 5.</label>
<p><italic><bold>Recovery:</bold> Any voter can detect and recover from a denied ballot casting (DoC).</italic></p></statement><statement id="j_infor616_stat_010"><label>Proof.</label>
<p>Theorem <xref rid="j_infor616_stat_007">4</xref> proves that the voter can verify the ballot casting before the tally phase. Furthermore, <inline-formula id="j_infor616_ineq_097"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">Rec</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{Rec}}}$]]></tex-math></alternatives></inline-formula> models an honest voter during the casting phase. We define an hybrid model where <inline-formula id="j_infor616_ineq_098"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">Rec</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{Rec}}}$]]></tex-math></alternatives></inline-formula> interacts with parties corrupted by the adversary. According to <inline-formula id="j_infor616_ineq_099"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">Rec</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{Rec}}}$]]></tex-math></alternatives></inline-formula>, every time the voter tries to cast with a corrupted party, <inline-formula id="j_infor616_ineq_100"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">CastObs</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{CastObs}}}$]]></tex-math></alternatives></inline-formula> outputs a 0 and <inline-formula id="j_infor616_ineq_101"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">Rec</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{Rec}}}$]]></tex-math></alternatives></inline-formula> tries with a different authority. In a proof by contradiction, let us assume that the adversary has prevented the voter from performing the recovery. This means that the adversary has been able to modify the behaviour of the ideal functionality <inline-formula id="j_infor616_ineq_102"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">Rec</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{Rec}}}$]]></tex-math></alternatives></inline-formula> to output a 0. By its definition, this only happens if all the casting authorities are corrupted and performing the DoC. However, this contradicts assumption <bold>SA4</bold> where at least one party participates in the casting.  □</p></statement>
<p>Recovery depends on at least one party participating in the casting <bold>SA4</bold>. This is included as a security assumption for the sake of completeness. However, it is reasonable to assume that among all the candidates of the elections, there is at least a party that is willing to complete the process. Note that the party can still behave as a covert adversary. In addition, DoC is performed without knowing the identity of the voter or the content of the ballot. Thus there is little incentive for all the parties to perform the DoC other than to disrupt the elections.</p>
<p>Note that the recovery mechanism, where voters may send their shares again to a different party, does not imply any linkability risk. The transmission is private (<bold>SA7</bold>), and the content received by the party cannot be linked to the voter, independently of the amount of shares a party receives.</p>
<p>The dispute resolution of DCast relies on honest voters performing the recovery. In other words, in case of blocking, the voter does not have evidence to prove the block to a third party. This is the reason why DiReCT dismisses all claims in the denial of casting. The dispute resolution is achieved by combining this dismissal with the fact that voters can always detect and recover from the blocking (Theorem <xref rid="j_infor616_stat_009">5</xref>).</p>
</sec>
<sec id="j_infor616_s_025">
<label>6.4</label>
<title>Tally</title>
<p>We define two ideal functionalities related to the tally. <inline-formula id="j_infor616_ineq_103"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">TallyObs</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{TallyObs}}}$]]></tex-math></alternatives></inline-formula> represents the record-as-cast universal verifiability. Given a ballot that has been correctly cast with the corresponding public receipt (<inline-formula id="j_infor616_ineq_104"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">CastObs</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext>Casting</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{CastObs}}}({\text{Casting}_{j}})$]]></tex-math></alternatives></inline-formula> with output 1), any entity with only access to the log can verify the tally. The function aborts if not enough receipts were issued to reconstruct the vote. It outputs <inline-formula id="j_infor616_ineq_105"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mtext>NotSharing</mml:mtext>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext>party</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$(0,\text{NotSharing},[{\text{party}_{x}}])$]]></tex-math></alternatives></inline-formula> with the parties that did not publish a share that had a cast receipt, or (0, ShareNotFromReceipt, <inline-formula id="j_infor616_ineq_106"><alternatives><mml:math>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext>party</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">]</mml:mo></mml:math><tex-math><![CDATA[$[{\text{party}_{x}}]$]]></tex-math></alternatives></inline-formula>) if the share was not correct. (0, ShareNotFromP) if the shares pass all the checks but they do not account for the ballot, and <inline-formula id="j_infor616_ineq_107"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext mathvariant="italic">SBallot</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext mathvariant="italic">vote</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$(1,{\textit{SBallot}_{j}},{\textit{vote}_{j}})$]]></tex-math></alternatives></inline-formula> if the tally is successful and it is possible to retrieve the vote.</p>
<p><graphic xlink:href="infor616_g015.jpg"/></p>
<p><inline-formula id="j_infor616_ineq_108"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">Tally</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{Tally}}}$]]></tex-math></alternatives></inline-formula> models the behaviour of an honest party during the tally. Only shares with the corresponding receipts (<inline-formula id="j_infor616_ineq_109"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">Tally</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{Tally}}}$]]></tex-math></alternatives></inline-formula> output 1) are considered. It considers <inline-formula id="j_infor616_ineq_110"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">TallyObs</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{TallyObs}}}$]]></tex-math></alternatives></inline-formula> and outputs 1 when the tally is correct, 0 if there is an intentional problem, or abort if not enough shares have been cast.</p>
<p><graphic xlink:href="infor616_g016.jpg"/></p>
</sec>
<sec id="j_infor616_s_026">
<title>Recorded as Cast (DTally)</title>
<p>The DTally dispute arises when a ballot is not recorded. Theorem <xref rid="j_infor616_stat_009">5</xref> proved that the user can recover from cast-blocking. This subsection is built on top of that result, leaving to the adversary the only option to block the recording of the ballot during the tally. The dispute resolution is composed by two attacks: the interception of the ballot by the adversary (<italic>blind and selective tally interception</italic>); and a corrupt voter false claim (<italic>false tally interception claim</italic>).</p>
<p>In the random tally interception the adversary’s goal is to <italic>randomly</italic> block some ballots from being counted with plausible deniability.</p>
<p><graphic xlink:href="infor616_g017.jpg"/></p>
<p>In the selective tally interception, the adversary’s goal is to learn the vote direction of a share in order to block it, instead of blindly blocking some ballots from the tally.</p>
<p><graphic xlink:href="infor616_g018.jpg"/></p>
<p>We prove that DiReCT is robust against blind (Theorem <xref rid="j_infor616_stat_011">6</xref>) and selective (Theorem <xref rid="j_infor616_stat_013">7</xref>) tally interception.</p><statement id="j_infor616_stat_011"><label>Theorem 6.</label>
<p><italic>DiReCT ensures individual accountability against blind tally interception.</italic></p></statement><statement id="j_infor616_stat_012"><label>Proof.</label>
<p>The adversary <inline-formula id="j_infor616_ineq_111"><alternatives><mml:math>
<mml:mi mathvariant="script">M</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{M}$]]></tex-math></alternatives></inline-formula> can perform the blind tally interception through two actions: 
<list>
<list-item id="j_infor616_li_028">
<label>•</label>
<p><inline-formula id="j_infor616_ineq_112"><alternatives><mml:math>
<mml:mi mathvariant="script">M</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{M}$]]></tex-math></alternatives></inline-formula> does not send its share: any party or external entity can execute <inline-formula id="j_infor616_ineq_113"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">TallyObs</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{TallyObs}}}$]]></tex-math></alternatives></inline-formula>, which only requires access to the public log and the receipt from the casting. The receipt is in the public log as defined in the attack (<inline-formula id="j_infor616_ineq_114"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">CastObs</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext>Casting</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{CastObs}}}({\text{Casting}_{j}})=1$]]></tex-math></alternatives></inline-formula>). The result of <inline-formula id="j_infor616_ineq_115"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">TallyObs</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{TallyObs}}}$]]></tex-math></alternatives></inline-formula> is <inline-formula id="j_infor616_ineq_116"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mtext>NotSharing</mml:mtext>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext>party</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$(0,\text{NotSharing},[{\text{party}_{x}}])$]]></tex-math></alternatives></inline-formula>, with <inline-formula id="j_infor616_ineq_117"><alternatives><mml:math>
<mml:mi mathvariant="script">M</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext>party</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">]</mml:mo></mml:math><tex-math><![CDATA[$\mathcal{M}\in [{\text{party}_{x}}]$]]></tex-math></alternatives></inline-formula>.</p>
</list-item>
<list-item id="j_infor616_li_029">
<label>•</label>
<p><inline-formula id="j_infor616_ineq_118"><alternatives><mml:math>
<mml:mi mathvariant="script">M</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{M}$]]></tex-math></alternatives></inline-formula> sends a different share: similarly, any entity can call <inline-formula id="j_infor616_ineq_119"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">TallyObs</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{TallyObs}}}$]]></tex-math></alternatives></inline-formula>, which outputs (0, ShareNotFromReceipt, <inline-formula id="j_infor616_ineq_120"><alternatives><mml:math>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext>party</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">]</mml:mo></mml:math><tex-math><![CDATA[$[{\text{party}_{x}}]$]]></tex-math></alternatives></inline-formula>).</p>
</list-item>
</list> 
In both cases, <inline-formula id="j_infor616_ineq_121"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">TallyObs</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{TallyObs}}}$]]></tex-math></alternatives></inline-formula> can detect the attack and which party performed the interception (individual accountability).  □</p></statement><statement id="j_infor616_stat_013"><label>Theorem 7.</label>
<p><italic>DiReCT ensures individual accountability against selective tally interception.</italic></p></statement><statement id="j_infor616_stat_014"><label>Proof.</label>
<p>The selective tally interception is an extended version of the blind tally interception. Due to UC, if DiReCT offers individual accountability for blind tally interception, it also offers it to any attack that uses it.  □</p></statement>
<p>By combining the previous results, Corollary <xref rid="j_infor616_stat_015">8</xref> demonstrates the record-as-cast property in the protocol.</p><statement id="j_infor616_stat_015"><label>Corollary 8.</label>
<p><italic>DiReCT possess the record-as-cast property.</italic></p></statement><statement id="j_infor616_stat_016"><label>Proof.</label>
<p>Record-as-cast states that any ballot correctly cast ends up in the final tally. The definition of <inline-formula id="j_infor616_ineq_122"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">Tally</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{Tally}}}$]]></tex-math></alternatives></inline-formula> summarizes the process, if a ballot has enough receipts, either the parties exchange the shares and perform the tally or the party not collaborating is identified (Theorems <xref rid="j_infor616_stat_011">6</xref> and <xref rid="j_infor616_stat_013">7</xref>). Under a covert adversaries threat model (<bold>SA2</bold>), all cast ballots are then recorded successfully. No other attack is possible since all that is needed for the final tally is access to the PBB.  □</p></statement>
<p>The following ideal functionality <inline-formula id="j_infor616_ineq_123"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">Vote</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{Vote}}}$]]></tex-math></alternatives></inline-formula> models an honest voter performing all the steps to vote in DiReCT. It interacts with the public log, <italic>k</italic> casting authorities <inline-formula id="j_infor616_ineq_124"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">A</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">i</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">]</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msubsup></mml:math><tex-math><![CDATA[${[{A_{\textit{i}}}]_{i=1}^{k}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor616_ineq_125"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">CertObs</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{CertObs}}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor616_ineq_126"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">Rec</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{Rec}}}$]]></tex-math></alternatives></inline-formula>. The definition <inline-formula id="j_infor616_ineq_127"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">Vote</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{Vote}}}$]]></tex-math></alternatives></inline-formula> attacks on the results of the elections.is needed to define in simpler terms</p>
<p><graphic xlink:href="infor616_g019.jpg"/></p>
<p>To perform a false claim, the adversary still needs to cast a message that will pass <inline-formula id="j_infor616_ineq_128"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">CastObs</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{CastObs}}}$]]></tex-math></alternatives></inline-formula>. For example, if the adversary tries to send a fake share that does not match the commitment, the parties will not publish the receipt and the share will be discarded from the tally.</p>
<p><graphic xlink:href="infor616_g020.jpg"/></p>
<p><graphic xlink:href="infor616_g021.jpg"/></p>
<p>To complete the resolution of the DTally dispute, Theorem <xref rid="j_infor616_stat_017">9</xref> demonstrates that the false interception claim cannot be performed: <statement id="j_infor616_stat_017"><label>Theorem 9.</label>
<p><italic>A</italic> <inline-formula id="j_infor616_ineq_129"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext mathvariant="italic">party</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\textit{party}_{j}}$]]></tex-math></alternatives></inline-formula> <italic>being subject to a false tally interception claim has universally verifiable evidence of its honesty.</italic></p></statement><statement id="j_infor616_stat_018"><label>Proof.</label>
<p>In the attack, the adversary calls <inline-formula id="j_infor616_ineq_130"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">Vote</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{Vote}}}$]]></tex-math></alternatives></inline-formula> with output 1. Thus, <inline-formula id="j_infor616_ineq_131"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext>party</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\text{party}_{j}}$]]></tex-math></alternatives></inline-formula> can call <inline-formula id="j_infor616_ineq_132"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">Tally</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{Tally}}}$]]></tex-math></alternatives></inline-formula> with the adversary fake material. The output will be (0, ShareNotFromP), which means that all the material submitted matches the signed commitments, but the shares do not match <italic>P</italic>. After all parties have shared their votes, any third party can perform the same steps as <inline-formula id="j_infor616_ineq_133"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">Tally</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{Tally}}}$]]></tex-math></alternatives></inline-formula> to arrive to the same conclusion, which is universal verifiable evidence of its honesty.  □</p></statement></p>
</sec>
<sec id="j_infor616_s_027">
<label>6.5</label>
<title>Election Security</title>
<p><inline-formula id="j_infor616_ineq_134"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">Eleg</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{Eleg}}}$]]></tex-math></alternatives></inline-formula> models the universal verification of the eligibility in the elections, which can be performed after the tally by any external auditor, party or voter. <inline-formula id="j_infor616_ineq_135"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">Eleg</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{Eleg}}}$]]></tex-math></alternatives></inline-formula> outputs 1 when only members of the census voted, 0 otherwise.</p>
<p><graphic xlink:href="infor616_g022.jpg"/></p>
<p><graphic xlink:href="infor616_g023.jpg"/></p>
<p>The ballot stuffing hybrid protocol describes how an adversary may attempt to generate ballots to alter the elections, and Theorem <xref rid="j_infor616_stat_019">10</xref> proves how the covert adversary is identified in DiReCT.</p>
<p><graphic xlink:href="infor616_g024.jpg"/> <statement id="j_infor616_stat_019"><label>Theorem 10.</label>
<p><italic>An adversary cannot perform ballot stuffing surreptitiously. If the adversary performs the attack, it is detected and attributed correctly.</italic></p></statement><statement id="j_infor616_stat_020"><label>Proof.</label>
<p><inline-formula id="j_infor616_ineq_136"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">Eleg</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{Eleg}}}$]]></tex-math></alternatives></inline-formula> detects a mismatch between the number of ballot certification responses and the number of votes. To perform the attack without being detected, the adversary needs to modify the behaviour of <inline-formula id="j_infor616_ineq_137"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">Eleg</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{Eleg}}}$]]></tex-math></alternatives></inline-formula> and obtain an output of 1.</p>
<p><inline-formula id="j_infor616_ineq_138"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">Eleg</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{Eleg}}}$]]></tex-math></alternatives></inline-formula> compares the number of CertRes with votes in the tally. By the assumption <bold>SA5</bold>, all the voters that start the certification complete the cast process. In addition, Corollary <xref rid="j_infor616_stat_015">8</xref> proved that all cast ballots are recorded (record-as-cast), thus <inline-formula id="j_infor616_ineq_139"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">Eleg</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{Eleg}}}$]]></tex-math></alternatives></inline-formula> outputs 1 under normal conditions. The adversary cannot corrupt the census <bold>SA2</bold> or obtain extra certificates from the census. The adversary cannot fake CertRes.</p>
<p>If the adversary performs ballot stuffing , then there will be more ballots counted than ballot certified: <inline-formula id="j_infor616_ineq_140"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext>CertRes</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">]</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext>vote</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">]</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">y</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo stretchy="false">⟶</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo stretchy="false">≠</mml:mo>
<mml:mi mathvariant="italic">y</mml:mi></mml:math><tex-math><![CDATA[${[{\text{CertRes}_{i}}]_{i=1}^{x}},{[{\text{vote}_{j}}]_{j=1}^{y}}\longrightarrow x\ne y$]]></tex-math></alternatives></inline-formula>.</p>
<p>The adversary can only perform the ballot stuffing unnoticed if it blocks ballots from honest voters. However, as it has been proved, the adversary cannot block ballots during the casting (Theorem <xref rid="j_infor616_stat_009">5</xref>), during the tally (Corollary <xref rid="j_infor616_stat_015">8</xref>), neither can manipulate CertRes (Theorem <xref rid="j_infor616_stat_005">3</xref>).</p>
<p>Since the only entity able to sign the ballot is the VA, any mismatch on the tally can be individually accounted to a corrupt VA.  □</p></statement><statement id="j_infor616_stat_021"><label>Corollary 11.</label>
<p><italic>Eligibility verifiability is guaranteed in DiReCT.</italic></p></statement><statement id="j_infor616_stat_022"><label>Proof.</label>
<p><inline-formula id="j_infor616_ineq_141"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">Eleg</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{F}_{\textit{Eleg}}}$]]></tex-math></alternatives></inline-formula> explains how to universally verify that only voters in the census voted, that they only voted once, and that the amount of ballot certification responses matches the amount of votes. Theorem <xref rid="j_infor616_stat_019">10</xref> proves that ballot stuffing cannot be performed surreptitiously. With the assumption that <inline-formula id="j_infor616_ineq_142"><alternatives><mml:math>
<mml:mi mathvariant="script">M</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{M}$]]></tex-math></alternatives></inline-formula> is a covert adversary (<bold>SA2</bold>) the attack cannot be performed. This implies that eligibility verifiability is achieved in DiReCT.  □</p></statement></p>
</sec>
</sec>
<sec id="j_infor616_s_028">
<label>7</label>
<title>Complexity and Scalability Analysis</title>
<p>We analyse the scalability of the protocol in two parts. First, we conduct a complexity analysis, measuring the number of messages sent by each voter as well as the total number of messages exchanged, and compare these figures with other voting protocols. Second, we evaluate the storage requirements in the PBB, using some example values for reference.</p>
<p>The voter performs carries out the following steps: she sends a certification request to the PBB (Equation (<xref rid="j_infor616_eq_010">9</xref>)); she fetches the certification result from the PBB (Equation (<xref rid="j_infor616_eq_011">10</xref>)); she casts (distributes) the shares to <italic>k</italic> tally authorities (Equation (<xref rid="j_infor616_eq_014">13</xref>)); and retrieves the casting receipts from the PBB (Equation (<xref rid="j_infor616_eq_016">15</xref>)). These steps result in a total of <inline-formula id="j_infor616_ineq_143"><alternatives><mml:math>
<mml:mn>3</mml:mn>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi></mml:math><tex-math><![CDATA[$3+k$]]></tex-math></alternatives></inline-formula> messages per voter.</p>
<p>The overall number of messages in the election consists of the messages exchanged by voters and the voting authority during ballot casting, as well as those exchanged among the tally authorities. During ballot casting, the system must handle <inline-formula id="j_infor616_ineq_144"><alternatives><mml:math>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>8</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$v(k+8)$]]></tex-math></alternatives></inline-formula> messages, where <italic>v</italic> is the number of voters. During the tally, <inline-formula id="j_infor616_ineq_145"><alternatives><mml:math>
<mml:mn>3</mml:mn>
<mml:mi mathvariant="italic">k</mml:mi></mml:math><tex-math><![CDATA[$3k$]]></tex-math></alternatives></inline-formula> additional messages are required: first to send the collected shares; and, then, to post the final count results. In total, the election involves <inline-formula id="j_infor616_ineq_146"><alternatives><mml:math>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>8</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mn>3</mml:mn>
<mml:mi mathvariant="italic">k</mml:mi></mml:math><tex-math><![CDATA[$v(k+8)+3k$]]></tex-math></alternatives></inline-formula> messages.</p>
<p>As a comparison, Table <xref rid="j_infor616_tab_003">3</xref> presents a summary of voter’s messages and total amount of messages of different voting protocols. Note that differences in the amount of messages account for the different entities and primitives involved in each protocol. For example, protocols such as Cramer <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor616_ref_013">1997</xref>), Yang <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor616_ref_054">2018</xref>), Chen <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor616_ref_010">2008</xref>), Yang <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor616_ref_055">2020</xref>), Gao <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor616_ref_023">2019</xref>), Larriba <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor616_ref_037">2021</xref>), Larriba and López (<xref ref-type="bibr" rid="j_infor616_ref_035">2022</xref>) and our solution involve multiple parties in the voting process, which improves the security guarantees against an adversary colluding with a voting authority. As discussed in the <ext-link ext-link-type="uri" xlink:href="ss:related-work">related work</ext-link>, depending on the underlying technology, each multi-party protocol may have additional tradeoffs apart from the total amount of messages: a homomorphic solution may require additional zero knowledge proofs to guarantee the verifiability of the results, and it can be difficult to protect the privacy of the voters in a system implemented on a blockchain.</p>
<p>However, when comparing our solution with the rest of the electronic voting protocols, we want to emphasize that only a subset of the existing protocols address the resolution of disputes during the elections (Basin <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor616_ref_004">2020</xref>; Bougon <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor616_ref_005">2022</xref>; Larriba and López, <xref ref-type="bibr" rid="j_infor616_ref_035">2022</xref>) as covered by Table <xref rid="j_infor616_tab_001">1</xref>, and that our protocol is the only one that considers the resolution of disputes related to vote suppression, while providing individual accountability through the whole election process. Therefore, our protocol effectively improves the security of elections against covert adversaries colliding with voters or authorities.</p>
<table-wrap id="j_infor616_tab_003">
<label>Table 3</label>
<caption>
<p>Summary of messages sent by the voter and the total of messages for voting protocols and the primitives used. <italic>k</italic> represents the number of authorities in multi-party protocols, and <italic>v</italic> the number of processed votes. The * symbol represents systems deployed using blockchain. The symbol † represents systems that combine e-voting and physical booths. The system Themis does not define the details of the encryption used or the tally method, represented by ‡.</p>
</caption>
<table>
<thead>
<tr>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Protocol</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Voter’s messages</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Total messages</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Cryptographic primitives</td>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top; text-align: left">Chaum (<xref ref-type="bibr" rid="j_infor616_ref_008">1981</xref>)</td>
<td style="vertical-align: top; text-align: left">2</td>
<td style="vertical-align: top; text-align: left">2v</td>
<td style="vertical-align: top; text-align: left">Blind signatures</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Li <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor616_ref_039">2009</xref>)</td>
<td style="vertical-align: top; text-align: left">5</td>
<td style="vertical-align: top; text-align: left">3v</td>
<td style="vertical-align: top; text-align: left">Blind signatures</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Nguyen Thi and Dang (<xref ref-type="bibr" rid="j_infor616_ref_042">2013</xref>)</td>
<td style="vertical-align: top; text-align: left">4</td>
<td style="vertical-align: top; text-align: left">7v</td>
<td style="vertical-align: top; text-align: left">Blind signatures</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Larriba <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor616_ref_036">2020</xref>)</td>
<td style="vertical-align: top; text-align: left">3</td>
<td style="vertical-align: top; text-align: left">2v+1</td>
<td style="vertical-align: top; text-align: left">Blind signatures</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Cramer <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor616_ref_013">1997</xref>)</td>
<td style="vertical-align: top; text-align: left">1</td>
<td style="vertical-align: top; text-align: left">v+k</td>
<td style="vertical-align: top; text-align: left">Homomorphic prop.</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Yang <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor616_ref_053">2017</xref>, <xref ref-type="bibr" rid="j_infor616_ref_054">2018</xref>)</td>
<td style="vertical-align: top; text-align: left">2</td>
<td style="vertical-align: top; text-align: left">2(v+k)</td>
<td style="vertical-align: top; text-align: left">Homomorphic prop.</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Tornos <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor616_ref_051">2014</xref>)</td>
<td style="vertical-align: top; text-align: left">3</td>
<td style="vertical-align: top; text-align: left">3v+1</td>
<td style="vertical-align: top; text-align: left">Ring signatures</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Chen <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor616_ref_010">2008</xref>)</td>
<td style="vertical-align: top; text-align: left">2</td>
<td style="vertical-align: top; text-align: left">2+v+2k</td>
<td style="vertical-align: top; text-align: left">Ring signatures</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Yang <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor616_ref_055">2020</xref>)*</td>
<td style="vertical-align: top; text-align: left">2</td>
<td style="vertical-align: top; text-align: left">2k</td>
<td style="vertical-align: top; text-align: left">Homomorphic prop.</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Gao <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor616_ref_023">2019</xref>)*</td>
<td style="vertical-align: top; text-align: left">2</td>
<td style="vertical-align: top; text-align: left">v</td>
<td style="vertical-align: top; text-align: left">Ring signatures</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Larriba <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor616_ref_037">2021</xref>)*</td>
<td style="vertical-align: top; text-align: left">2</td>
<td style="vertical-align: top; text-align: left">2+v</td>
<td style="vertical-align: top; text-align: left">Ring signatures</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Basin <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor616_ref_004">2020</xref>)</td>
<td style="vertical-align: top; text-align: left">2</td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor616_ineq_147"><alternatives><mml:math>
<mml:mn>4</mml:mn>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$4v+1$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">Homomorphic prop.</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Bougon <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor616_ref_005">2022</xref>)<sup>†</sup></td>
<td style="vertical-align: top; text-align: left">16</td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor616_ineq_148"><alternatives><mml:math>
<mml:mn>26</mml:mn>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mtext>Tally</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">‡</mml:mi>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[$26v+{\text{Tally}^{\mathrm{\ddagger }}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">–</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Larriba and López (<xref ref-type="bibr" rid="j_infor616_ref_035">2022</xref>)</td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor616_ineq_149"><alternatives><mml:math>
<mml:mn>1</mml:mn>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi></mml:math><tex-math><![CDATA[$1+k$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor616_ineq_150"><alternatives><mml:math>
<mml:mn>2</mml:mn>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>·</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi></mml:math><tex-math><![CDATA[$2k\cdot v$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">Blind signatures</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">This work</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor616_ineq_151"><alternatives><mml:math>
<mml:mn>3</mml:mn>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi></mml:math><tex-math><![CDATA[$3+k$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor616_ineq_152"><alternatives><mml:math>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>8</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mn>3</mml:mn>
<mml:mi mathvariant="italic">k</mml:mi></mml:math><tex-math><![CDATA[$v(k+8)+3k$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Blind Signatures</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="j_infor616_tab_004">
<label>Table 4</label>
<caption>
<p>Example storage requirements for parameters of DiReCT.</p>
</caption>
<table>
<thead>
<tr>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Name</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Instance</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Example value</td>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top; text-align: left">Tally Authorities</td>
<td style="vertical-align: top; text-align: left"><italic>k</italic></td>
<td style="vertical-align: top; text-align: left">10</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Hash</td>
<td style="vertical-align: top; text-align: left">SHA-256</td>
<td style="vertical-align: top; text-align: left">256B</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Signature</td>
<td style="vertical-align: top; text-align: left">RSA-2048</td>
<td style="vertical-align: top; text-align: left">256B</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Certificate</td>
<td style="vertical-align: top; text-align: left">.x509</td>
<td style="vertical-align: top; text-align: left">3KB</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Timestamp</td>
<td style="vertical-align: top; text-align: left">64 bits</td>
<td style="vertical-align: top; text-align: left">8B</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">ID voter</td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor616_ineq_153"><alternatives><mml:math>
<mml:mo movablelimits="false">log</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\log (v)$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">20B</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">ID PBB</td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor616_ineq_154"><alternatives><mml:math>
<mml:mn>2</mml:mn>
<mml:mo>∗</mml:mo>
<mml:mo movablelimits="false">log</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$2\ast \log (v)$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">21B</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor616_ineq_155"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext>SP</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\text{SP}_{j}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor616_ineq_156"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">y</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$(x,y)$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">8B</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor616_ineq_157"><alternatives><mml:math>
<mml:mtext>H-P</mml:mtext></mml:math><tex-math><![CDATA[$\text{H-P}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">Hash</td>
<td style="vertical-align: top; text-align: left">256B</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor616_ineq_158"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext>H-SP</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\text{H-SP}_{j}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">Hash</td>
<td style="vertical-align: top; text-align: left">256B</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor616_ineq_159"><alternatives><mml:math>
<mml:mtext mathvariant="italic">BBallot</mml:mtext></mml:math><tex-math><![CDATA[$\textit{BBallot}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor616_ineq_160"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mtext>Hash</mml:mtext></mml:math><tex-math><![CDATA[$(k+1)\text{Hash}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">2816B</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor616_ineq_161"><alternatives><mml:math>
<mml:mtext mathvariant="italic">SBallot</mml:mtext></mml:math><tex-math><![CDATA[$\textit{SBallot}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor616_ineq_162"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>·</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mtext>Signature</mml:mtext>
<mml:mo>+</mml:mo>
<mml:mtext>Hash</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$(k+1)\cdot (\text{Signature}+\text{Hash})$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">5632B</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Regarding storage, DiReCT relies on the PBB to maintain the election state. Each entry in the PBB corresponds to a distinct phase of the protocol: certification request, certification response, casting receipt, tally shares, and final count. The estimation of the storage is collected in Table <xref rid="j_infor616_tab_005">5</xref>. The storage requirements of each entry are determined by the cryptographic primitives and identifiers involved, as detailed in Table <xref rid="j_infor616_tab_004">4</xref>.</p>
<p>For instance, a certification request (CertRq) contains the voter identity, a blind ballot signature, the voter’s certificate, and a timestamp. Using RSA-2048 signatures (256B), SHA-256 hashes (256B), and X.509 certificates (∼3KB), it results in an entry of approximately 3.7KB. Certification responses (CertRes) are much smaller (around 305B each), since they only include the signed blind ballot, the original request reference, and a timestamp. Casting receipts (<inline-formula id="j_infor616_ineq_163"><alternatives><mml:math>
<mml:mtext>Casting</mml:mtext></mml:math><tex-math><![CDATA[$\text{Casting}$]]></tex-math></alternatives></inline-formula>), which aggregate multiple signed shares, imply around 3.2KB each, while tally shares (<inline-formula id="j_infor616_ineq_164"><alternatives><mml:math>
<mml:mtext>Tally</mml:mtext></mml:math><tex-math><![CDATA[$\text{Tally}$]]></tex-math></alternatives></inline-formula>) and final count entries are compact (at 57B and 220B respectively).</p>
<p>Using these figures, we evaluate the storage requirements of a full election with <inline-formula id="j_infor616_ineq_165"><alternatives><mml:math>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>6</mml:mn>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[$v={10^{6}}$]]></tex-math></alternatives></inline-formula> voters and <inline-formula id="j_infor616_ineq_166"><alternatives><mml:math>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>10</mml:mn></mml:math><tex-math><![CDATA[$k=10$]]></tex-math></alternatives></inline-formula> tally authorities. The total storage is given by 
<disp-formula id="j_infor616_eq_018">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo>·</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mo movablelimits="false">CertRq</mml:mo>
<mml:mo>+</mml:mo>
<mml:mo movablelimits="false">CertRes</mml:mo>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>·</mml:mo>
<mml:mtext>Casting</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>·</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo>·</mml:mo>
<mml:mtext>Tally</mml:mtext>
<mml:mo>+</mml:mo>
<mml:mtext>Count</mml:mtext>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ v\cdot (\operatorname{CertRq}+\operatorname{CertRes}+k\cdot \text{Casting})+k\cdot v\cdot \text{Tally}+\text{Count},\]]]></tex-math></alternatives>
</disp-formula> 
which corresponds to approximately 24.5 GB of PBB data, a size well within the capacity of modern servers and, with hash-based storage, compatible with distributed ledger architectures.</p>
<table-wrap id="j_infor616_tab_005">
<label>Table 5</label>
<caption>
<p>PBB storage evaluation, per type of entry and in total. Three size values are shown depending on the number of voters in the election. The size is calculated with the example values displayed in Table <xref rid="j_infor616_tab_004">4</xref>, with ten tally authorities <inline-formula id="j_infor616_ineq_167"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>10</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$(k=10)$]]></tex-math></alternatives></inline-formula>.</p>
</caption>
<table>
<thead>
<tr>
<td rowspan="2" style="vertical-align: middle; text-align: left; border-top: solid thin; border-bottom: solid thin">PBB Entry</td>
<td rowspan="2" style="vertical-align: middle; text-align: left; border-top: solid thin; border-bottom: solid thin">Content</td>
<td colspan="3" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">PBB size per n. of voters</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor616_ineq_168"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${10^{3}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor616_ineq_169"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>6</mml:mn>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${10^{6}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor616_ineq_170"><alternatives><mml:math>
<mml:mn>5</mml:mn>
<mml:mo>∗</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>6</mml:mn>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[$5\ast {10^{6}}$]]></tex-math></alternatives></inline-formula></td>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor616_ineq_171"><alternatives><mml:math>
<mml:mtext>CerRq</mml:mtext></mml:math><tex-math><![CDATA[$\text{CerRq}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><italic>v</italic>, <inline-formula id="j_infor616_ineq_172"><alternatives><mml:math>
<mml:mo fence="true" stretchy="false">⟨</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mo movablelimits="false">Sign</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mtext mathvariant="italic">BBallot</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext mathvariant="normal">C</mml:mtext>
<mml:mtext mathvariant="normal" mathsize="small">ERT</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">⟩</mml:mo></mml:math><tex-math><![CDATA[$\langle {\operatorname{Sign}_{v}}(\textit{BBallot}),{\text{C}\text{ERT}_{v}}\rangle $]]></tex-math></alternatives></inline-formula>, <italic>T</italic></td>
<td style="vertical-align: top; text-align: left">3.7KB</td>
<td style="vertical-align: top; text-align: left">3.7KB</td>
<td style="vertical-align: top; text-align: left">3.7KB</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor616_ineq_173"><alternatives><mml:math>
<mml:mtext>CerRes</mml:mtext></mml:math><tex-math><![CDATA[$\text{CerRes}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor616_ineq_174"><alternatives><mml:math>
<mml:mtext>VA</mml:mtext></mml:math><tex-math><![CDATA[$\text{VA}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor616_ineq_175"><alternatives><mml:math>
<mml:mo fence="true" stretchy="false">⟨</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mo movablelimits="false">Sign</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mtext>VA</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mtext mathvariant="italic">BBallot</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext>CerRq</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">⟩</mml:mo></mml:math><tex-math><![CDATA[$\langle {\operatorname{Sign}_{\text{VA}}}(\textit{BBallot}),{\text{CerRq}_{v}}\rangle $]]></tex-math></alternatives></inline-formula>, <italic>T</italic></td>
<td style="vertical-align: top; text-align: left">285B</td>
<td style="vertical-align: top; text-align: left">305B</td>
<td style="vertical-align: top; text-align: left">311B</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor616_ineq_176"><alternatives><mml:math>
<mml:mtext>Casting</mml:mtext></mml:math><tex-math><![CDATA[$\text{Casting}$]]></tex-math></alternatives></inline-formula> Receipt</td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor616_ineq_177"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext>party</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\text{party}_{i}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor616_ineq_178"><alternatives><mml:math>
<mml:mo fence="true" stretchy="false">⟨</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext>H-SP</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext mathvariant="italic">SBallot</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">⟩</mml:mo></mml:math><tex-math><![CDATA[$\langle {\text{H-SP}_{j}},{\textit{SBallot}_{j}}\rangle $]]></tex-math></alternatives></inline-formula>, <italic>T</italic></td>
<td style="vertical-align: top; text-align: left">3.2KB</td>
<td style="vertical-align: top; text-align: left">3.2KB</td>
<td style="vertical-align: top; text-align: left">3.2KB</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor616_ineq_179"><alternatives><mml:math>
<mml:mtext>Tally</mml:mtext></mml:math><tex-math><![CDATA[$\text{Tally}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor616_ineq_180"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mtext>party</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\text{party}_{i}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor616_ineq_181"><alternatives><mml:math>
<mml:mo fence="true" stretchy="false">⟨</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext>SP</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext>H-SP</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mtext mathvariant="italic">SBallot</mml:mtext>
<mml:mo fence="true" stretchy="false">⟩</mml:mo></mml:math><tex-math><![CDATA[$\langle {\text{SP}_{i}},{\text{H-SP}_{i}},\textit{SBallot}\rangle $]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor616_ineq_182"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${T_{4}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">37B</td>
<td style="vertical-align: top; text-align: left">57B</td>
<td style="vertical-align: top; text-align: left">63B</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Count</td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor616_ineq_183"><alternatives><mml:math>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext>party</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mtext>count</mml:mtext>
<mml:mo fence="true" stretchy="false">]</mml:mo></mml:math><tex-math><![CDATA[$[{\text{party}_{i}},\text{count}]$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">110B</td>
<td style="vertical-align: top; text-align: left">220B</td>
<td style="vertical-align: top; text-align: left">253B</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Total</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor616_ineq_184"><alternatives><mml:math>
<mml:mtable equalrows="false" equalcolumns="false" columnalign="left">
<mml:mtr>
<mml:mtd class="array">
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo>∗</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mtext>CerRq</mml:mtext>
<mml:mo>+</mml:mo>
<mml:mtext>CerRes</mml:mtext>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>∗</mml:mo>
<mml:mtext>Casting</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="array">
<mml:mspace width="1em"/>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>·</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo>·</mml:mo>
<mml:mtext>Tally</mml:mtext>
<mml:mo>+</mml:mo>
<mml:mtext>Count</mml:mtext>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[$\begin{array}{l}v\ast (\text{CerRq}+\text{CerRes}+k\ast \text{Casting})\\ {} \hspace{1em}+k\cdot v\cdot \text{Tally}+\text{Count}\end{array}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">34.6MB</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">24.5 GB</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">170.7 GB</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="j_infor616_s_029">
<label>8</label>
<title>Conclusions</title>
<p>This work presented DiReCT, an electronic voting protocol that improves the current state of the art in terms of accountability. In previous definitions of dispute resolution, for elections conducted by multiple parties the requirement was to detect when <italic>any</italic> of the parties misbehaves (Basin <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor616_ref_004">2020</xref>), or to partially account them (Bougon <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor616_ref_005">2022</xref>). We extended this requirement by providing individual accountability, which allows the identification of the misbehaving party. Without individual accountability, a malicious party could abuse the dispute resolution with impunity, diluting the blame into the rest of honest parties in the election.</p>
<p>In our protocol, the timeliness guarantee described by Basin <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor616_ref_004">2020</xref>) is effective during the casting, not at the end of the election. It is our intention to emphasize the importance of the verification timeliness in electronic voting. Ensuring that certain attacks can be detected during the elections is crucial for voters, who may be able to recover and continue voting.</p>
<p>Furthermore, DiReCT is the first protocol that addresses dispute resolution in the case of vote suppression. Although this attack is often overlooked in the literature, it’s consequences are as effective as other election manipulation attacks.</p>
<p>With this work we highlight the benefits of including dispute resolution as part of voting protocols and showcase that is possible to achieve it in a multi party protocol. The threat model includes covert adversaries, which we believe is a realistic assumption for voting protocols that combines nicely with the verification and accountability focus of DiReCT. Regarding the complexity and scalability analysis of DiReCT, although the number of messages needed by DiReCT increments with the number of tally authorities, it is still linear with the number of processed votes. Our analysis shows a reasonable estimated storage needed in the PBB (Table <xref rid="j_infor616_tab_005">5</xref>), only needing 25.5 GB for an election with one million voters. As a future work, we will address the formal verification and resolution of our results. We will also explore the usage of zero knowledge proofs as in Iovino <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor616_ref_028">2020</xref>), in particular regarding the benefits and trade-offs in terms of accountability.</p>
</sec>
</body>
<back>
<ack id="j_infor616_ack_001">
<title>Acknowledgements</title>
<p>Supported by INCIBE’s Chair funded by the EU-NextGenerationEU through the Spanish government’s Plan de Recuperacion, Transformacion y Resiliencia.</p></ack>
<ref-list id="j_infor616_reflist_001">
<title>References</title>
<ref id="j_infor616_ref_001">
<mixed-citation publication-type="chapter"><string-name><surname>Adida</surname>, <given-names>B.</given-names></string-name> (<year>2008</year>). <chapter-title>Helios: Web-based open-audit voting</chapter-title>. In: <source>USENIX Security Symposium</source>, Vol. <volume>17</volume>, pp. <fpage>335</fpage>–<lpage>348</lpage>. <ext-link ext-link-type="doi" xlink:href="https://dl.acm.org/doi/10.5555/1496711.1496734" xlink:type="simple">https://dl.acm.org/doi/10.5555/1496711.1496734</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_002">
<mixed-citation publication-type="chapter"><string-name><surname>Adida</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>de Marneffe</surname>, <given-names>O.</given-names></string-name>, <string-name><surname>Pereira</surname>, <given-names>O.</given-names></string-name>, <string-name><surname>Quisquater</surname>, <given-names>J.-J.</given-names></string-name> (<year>2009</year>). <chapter-title>Electing a University President using Open-Audit Voting: analysis of real-world use of Helios</chapter-title>. In: <source>Proceedings of the 2009 Conference on Electronic Voting Technology/Workshop on Trustworthy Elections</source>. <ext-link ext-link-type="doi" xlink:href="https://dl.acm.org/doi/10.5555/1855491.1855501" xlink:type="simple">https://dl.acm.org/doi/10.5555/1855491.1855501</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_003">
<mixed-citation publication-type="journal"><string-name><surname>Aumann</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Lindell</surname>, <given-names>Y.</given-names></string-name> (<year>2010</year>). <article-title>Security against covert adversaries: efficient protocols for realistic adversaries</article-title>. <source>Journal of Cryptology</source>, <volume>23</volume>(<issue>2</issue>), <fpage>281</fpage>–<lpage>343</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1007/s00145-009-9040-7" xlink:type="simple">https://doi.org/10.1007/s00145-009-9040-7</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_004">
<mixed-citation publication-type="chapter"><string-name><surname>Basin</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Radomirović</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Schmid</surname>, <given-names>L.</given-names></string-name> (<year>2020</year>). <chapter-title>Dispute resolution in voting</chapter-title>. In: <source>2020 IEEE 33rd Computer Security Foundations Symposium (CSF)</source>, pp. <fpage>1</fpage>–<lpage>16</lpage>, <issn>2374-8303</issn>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1109/CSF49147.2020.00009" xlink:type="simple">https://doi.org/10.1109/CSF49147.2020.00009</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_005">
<mixed-citation publication-type="chapter"><string-name><surname>Bougon</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Chabanne</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Cortier</surname>, <given-names>V.</given-names></string-name>, <string-name><surname>Debant</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Dottax</surname>, <given-names>E.</given-names></string-name>, <string-name><surname>Dreier</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Gaudry</surname>, <given-names>P.</given-names></string-name>, <string-name><surname>Turuani</surname>, <given-names>M.</given-names></string-name> (<year>2022</year>). <chapter-title>Themis: an on-site voting system with systematic cast-as-intended verification and partial accountability</chapter-title>. In: <source>Proceedings of the 2022 ACM SIGSAC Conference on Computer and Communications Security</source>. <publisher-name>ACM</publisher-name>, <publisher-loc>Los Angeles CA USA</publisher-loc>, pp. <fpage>397</fpage>–<lpage>410</lpage>. <isbn>978-1-4503-9450-5</isbn>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1145/3548606.3560563" xlink:type="simple">https://doi.org/10.1145/3548606.3560563</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_006">
<mixed-citation publication-type="chapter"><string-name><surname>Canetti</surname>, <given-names>R.</given-names></string-name> (<year>2001</year>). <chapter-title>Universally composable security: a new paradigm for cryptographic protocols</chapter-title>. In: <source>Proceedings 42nd IEEE Symposium on Foundations of Computer Science</source>, pp. <fpage>136</fpage>–<lpage>145</lpage>. <issn>1552-5244</issn>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1109/SFCS.2001.959888" xlink:type="simple">https://doi.org/10.1109/SFCS.2001.959888</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_007">
<mixed-citation publication-type="chapter"><string-name><surname>Chaum</surname>, <given-names>D.</given-names></string-name> (<year>1983</year>). <chapter-title>Blind Signatures for untraceable payments</chapter-title>. In: <string-name><surname>Chaum</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Rivest</surname>, <given-names>R.L.</given-names></string-name>, <string-name><surname>Sherman</surname>, <given-names>A.T.</given-names></string-name> (Eds.), <source>Advances in Cryptology</source>. <publisher-name>Springer US</publisher-name>, <publisher-loc>Boston, MA</publisher-loc>, pp. <fpage>199</fpage>–<lpage>203</lpage>. <isbn>978-1-4757-0602-4</isbn>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1007/978-1-4757-0602-4_18" xlink:type="simple">https://doi.org/10.1007/978-1-4757-0602-4_18</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_008">
<mixed-citation publication-type="journal"><string-name><surname>Chaum</surname>, <given-names>D.L.</given-names></string-name> (<year>1981</year>). <article-title>Untraceable electronic mail, return addresses, and digital pseudonyms</article-title>. <source>Communications of the ACM</source>, <volume>24</volume>(<issue>2</issue>), <fpage>84</fpage>–<lpage>90</lpage>. <ext-link ext-link-type="doi" xlink:href="https://dl.acm.org/doi/10.1145/358549.358563" xlink:type="simple">https://dl.acm.org/doi/10.1145/358549.358563</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_009">
<mixed-citation publication-type="journal"><string-name><surname>Chaum</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Essex</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Carback</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Clark</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Popoveniuc</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Sherman</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Vora</surname>, <given-names>P.</given-names></string-name> (<year>2008</year>). <article-title>Scantegrity: end-to-end voter-verifiable optical-scan voting</article-title>. <source>IEEE Security &amp; Privacy</source>, <volume>6</volume>(<issue>3</issue>), <fpage>40</fpage>–<lpage>46</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1109/MSP.2008.70" xlink:type="simple">https://doi.org/10.1109/MSP.2008.70</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_010">
<mixed-citation publication-type="chapter"><string-name><surname>Chen</surname>, <given-names>G.</given-names></string-name>, <string-name><surname>Wu</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Han</surname>, <given-names>W.</given-names></string-name>, <string-name><surname>Chen</surname>, <given-names>X.</given-names></string-name>, <string-name><surname>Lee</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Kim</surname>, <given-names>K.</given-names></string-name> (<year>2008</year>). <chapter-title>A new receipt-free voting scheme based on linkable ring signature for designated verifiers</chapter-title>. In: <source>2008 International Conference on Embedded Software and Systems Symposia</source>, pp. <fpage>18</fpage>–<lpage>23</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1109/ICESS.Symposia.2008.54" xlink:type="simple">https://doi.org/10.1109/ICESS.Symposia.2008.54</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_011">
<mixed-citation publication-type="chapter"><string-name><surname>Clarkson</surname>, <given-names>M.R.</given-names></string-name>, <string-name><surname>Chong</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Myers</surname>, <given-names>A.C.</given-names></string-name> (<year>2008</year>). <chapter-title>Civitas: toward a secure voting system</chapter-title>. In: <source>2008 IEEE Symposium on Security and Privacy (sp 2008)</source>, pp. <fpage>354</fpage>–<lpage>368</lpage>. <issn>2375-1207</issn>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1109/SP.2008.32" xlink:type="simple">https://doi.org/10.1109/SP.2008.32</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_012">
<mixed-citation publication-type="other"><string-name><surname>Consortium</surname>, <given-names>E.</given-names></string-name> (2017). STORK 2.0 Secure idenTity acrOss boRders linKed 2.0 | Interoperable Europe Portal.</mixed-citation>
</ref>
<ref id="j_infor616_ref_013">
<mixed-citation publication-type="journal"><string-name><surname>Cramer</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Gennaro</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Schoenmakers</surname>, <given-names>B.</given-names></string-name> (<year>1997</year>). <article-title>A secure and optimally efficient multi-authority election scheme</article-title>. <source>European Transactions on Telecommunications</source>, <volume>8</volume>(<issue>5</issue>), <fpage>481</fpage>–<lpage>490</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1002/ett.4460080506" xlink:type="simple">https://doi.org/10.1002/ett.4460080506</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_014">
<mixed-citation publication-type="chapter"><string-name><surname>Cramer</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Franklin</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Schoenmakers</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Yung</surname>, <given-names>M.</given-names></string-name> (<year>1996</year>). <chapter-title>Multi-authority secret-ballot elections with linear work</chapter-title>. In: <string-name><surname>Maurer</surname>, <given-names>U.</given-names></string-name> (Ed.), <source>Advances in Cryptology — EUROCRYPT ’96</source>. <publisher-name>Springer</publisher-name>, <publisher-loc>Berlin, Heidelberg</publisher-loc>, pp. <fpage>72</fpage>–<lpage>83</lpage>. <isbn>978-3-540-68339-1</isbn>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1007/3-540-68339-9_7" xlink:type="simple">https://doi.org/10.1007/3-540-68339-9_7</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_015">
<mixed-citation publication-type="chapter"><string-name><surname>Crimmins</surname>, <given-names>B.L.</given-names></string-name>, <string-name><surname>Rhea</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Halderman</surname>, <given-names>J.A.</given-names></string-name> (<year>2023</year>). <chapter-title>RemoteVote and SAFE Vote: towards usable End-to-End verification for Vote-by-Mail</chapter-title>. In: <source>Financial Cryptography and Data Security. FC 2022 International Workshops: CoDecFin, DeFi, Voting, WTSC, Grenada, May 6, 2022, Revised Selected Papers</source>. <publisher-name>Springer-Verlag</publisher-name>, <publisher-loc>Berlin, Heidelberg</publisher-loc>, pp. <fpage>391</fpage>–<lpage>406</lpage>. <isbn>978-3-031-32414-7</isbn>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1007/978-3-031-32415-4_27" xlink:type="simple">https://doi.org/10.1007/978-3-031-32415-4_27</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_016">
<mixed-citation publication-type="chapter"><string-name><surname>Cuvelier</surname>, <given-names>E.</given-names></string-name>, <string-name><surname>Pereira</surname>, <given-names>O.</given-names></string-name>, <string-name><surname>Peters</surname>, <given-names>T.</given-names></string-name> (<year>2013</year>). <chapter-title>Election verifiability or ballot privacy: do we need to choose?</chapter-title> In: <string-name><surname>Crampton</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Jajodia</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Mayes</surname>, <given-names>K.</given-names></string-name> (Eds.), <source>Computer Security – ESORICS 2013</source>. <publisher-name>Springer</publisher-name>, <publisher-loc>Berlin, Heidelberg</publisher-loc>, pp. <fpage>481</fpage>–<lpage>498</lpage>. <isbn>978-3-642-40203-6</isbn>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1007/978-3-642-40203-6_27" xlink:type="simple">https://doi.org/10.1007/978-3-642-40203-6_27</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_017">
<mixed-citation publication-type="chapter"><string-name><surname>Desmedt</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Frankel</surname>, <given-names>Y.</given-names></string-name> (<year>1990</year>). <chapter-title>Threshold cryptosystems</chapter-title>. In: <string-name><surname>Brassard</surname>, <given-names>G.</given-names></string-name> (Ed.), <source>Advances in Cryptology – CRYPTO’ 89 Proceedings</source>. <publisher-name>Springer</publisher-name>, <publisher-loc>New York, NY</publisher-loc>, pp. <fpage>307</fpage>–<lpage>315</lpage>. <isbn>978-0-387-34805-6</isbn>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1007/0-387-34805-0_28" xlink:type="simple">https://doi.org/10.1007/0-387-34805-0_28</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_018">
<mixed-citation publication-type="chapter"><string-name><surname>Doan</surname>, <given-names>T.V.T.</given-names></string-name>, <string-name><surname>Pereira</surname>, <given-names>O.</given-names></string-name>, <string-name><surname>Peters</surname>, <given-names>T.</given-names></string-name> (<year>2025</year>). <chapter-title>Threshold receipt-free single-pass eVoting</chapter-title>. In: <string-name><surname>Duenas-Cid</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Roenne</surname>, <given-names>P.</given-names></string-name>, <string-name><surname>Volkamer</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Budurushi</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Blom</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Rodríguez-Pérez</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Spycher-Krivonosova</surname>, <given-names>I.</given-names></string-name>, <string-name><surname>Castellà Roca</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Barrat Esteve</surname>, <given-names>J.</given-names></string-name> (Eds.), <source>Electronic Voting</source>. <publisher-name>Springer Nature Switzerland</publisher-name>, <publisher-loc>Cham</publisher-loc>, pp. <fpage>20</fpage>–<lpage>36</lpage>. <isbn>978-3-031-72244-8</isbn>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1007/978-3-031-72244-8_2" xlink:type="simple">https://doi.org/10.1007/978-3-031-72244-8_2</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_019">
<mixed-citation publication-type="journal"><string-name><surname>Dolev</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Yao</surname>, <given-names>A.</given-names></string-name> (<year>1983</year>). <article-title>On the security of public key protocols</article-title>. <source>IEEE Transactions on Information Theory</source>, <volume>29</volume>(<issue>2</issue>), <fpage>198</fpage>–<lpage>208</lpage>. <comment>Conference Name: IEEE Transactions on Information Theory</comment>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1109/TIT.1983.1056650" xlink:type="simple">https://doi.org/10.1109/TIT.1983.1056650</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_020">
<mixed-citation publication-type="chapter"><string-name><surname>Duenas-Cid</surname>, <given-names>D.</given-names></string-name> (<year>2024</year>). <chapter-title>Trust and distrust in electoral technologies: what can we learn from the failure of electronic voting in the Netherlands (2006/07)</chapter-title>. In: <source>Proceedings of the 25th Annual International Conference on Digital Government Research</source>, <series>dg.o ’24</series>. <publisher-name>Association for Computing Machinery</publisher-name>, <publisher-loc>New York, NY, USA</publisher-loc>, pp. <fpage>669</fpage>–<lpage>677</lpage>. <isbn>9798400709883</isbn>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1145/3657054.3657262" xlink:type="simple">https://doi.org/10.1145/3657054.3657262</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_021">
<mixed-citation publication-type="chapter"><string-name><surname>Fujioka</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Okamoto</surname>, <given-names>T.</given-names></string-name>, <string-name><surname>Ohta</surname>, <given-names>K.</given-names></string-name> (<year>1993</year>). <chapter-title>A practical secret voting scheme for large scale elections</chapter-title>. In: <string-name><surname>Seberry</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Zheng</surname>, <given-names>Y.</given-names></string-name> (Eds.), <source>Advances in Cryptology — AUSCRYPT ’92</source>. <publisher-name>Springer</publisher-name>, <publisher-loc>Berlin, Heidelberg</publisher-loc>, pp. <fpage>244</fpage>–<lpage>251</lpage>. <isbn>978-3-540-47976-5</isbn>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1007/3-540-57220-1_66" xlink:type="simple">https://doi.org/10.1007/3-540-57220-1_66</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_022">
<mixed-citation publication-type="chapter"><string-name><surname>Furukawa</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Mori</surname>, <given-names>K.</given-names></string-name>, <string-name><surname>Sako</surname>, <given-names>K.</given-names></string-name> (<year>2010</year>). <chapter-title>An implementation of a mix-net based network voting scheme and its use in a private organization</chapter-title>. In: <string-name><surname>Chaum</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Jakobsson</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Rivest</surname>, <given-names>R.L.</given-names></string-name>, <string-name><surname>Ryan</surname>, <given-names>P.Y.A.</given-names></string-name>, <string-name><surname>Benaloh</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Kutylowski</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Adida</surname>, <given-names>B.</given-names></string-name> (Eds.), <source>Towards Trustworthy Elections: New Directions in Electronic Voting</source>. <publisher-name>Springer</publisher-name>, <publisher-loc>Berlin, Heidelberg</publisher-loc>, pp. <fpage>141</fpage>–<lpage>154</lpage>. <isbn>978-3-642-12980-3</isbn>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1007/978-3-642-12980-3_8" xlink:type="simple">https://doi.org/10.1007/978-3-642-12980-3_8</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_023">
<mixed-citation publication-type="journal"><string-name><surname>Gao</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Zheng</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Guo</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Jing</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Hu</surname>, <given-names>C.</given-names></string-name> (<year>2019</year>). <article-title>An anti-quantum E-voting protocol in blockchain with audit function</article-title>. <source>IEEE Access</source>, <volume>7</volume>, <fpage>115304</fpage>–<lpage>115316</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1109/ACCESS.2019.2935895" xlink:type="simple">https://doi.org/10.1109/ACCESS.2019.2935895</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_024">
<mixed-citation publication-type="chapter"><string-name><surname>Gong</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Lu</surname>, <given-names>X.</given-names></string-name>, <string-name><surname>Fat</surname>, <given-names>L.W.</given-names></string-name>, <string-name><surname>Au</surname>, <given-names>M.H.</given-names></string-name> (<year>2019</year>). <chapter-title>Blockchain-based threshold electronic voting system</chapter-title>. In: <string-name><surname>Meng</surname>, <given-names>W.</given-names></string-name>, <string-name><surname>Furnell</surname>, <given-names>S.</given-names></string-name> (Eds.), <source>Security and Privacy in Social Networks and Big Data</source>. <publisher-name>Springer</publisher-name>, <publisher-loc>Singapore</publisher-loc>, pp. <fpage>238</fpage>–<lpage>250</lpage>. <isbn>9789811507588</isbn>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1007/978-981-15-0758-8_18" xlink:type="simple">https://doi.org/10.1007/978-981-15-0758-8_18</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_025">
<mixed-citation publication-type="other"><string-name><surname>Haines</surname>, <given-names>T.</given-names></string-name>, <string-name><surname>Boyen</surname>, <given-names>X.</given-names></string-name> (2016). VOTOR: Australasian Computer Science Week Multiconference, ACSW 2016. In: <italic>Proceedings of the Australasian Computer Science Week Multiconference, ACSW 2016</italic>. Association for Computing Machinery (ACM). <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1145/2843043.2843362" xlink:type="simple">https://doi.org/10.1145/2843043.2843362</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_026">
<mixed-citation publication-type="chapter"><string-name><surname>Heather</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Lundin</surname>, <given-names>D.</given-names></string-name> (<year>2009</year>). <chapter-title>The append-only web bulletin board</chapter-title>. In: <string-name><surname>Degano</surname>, <given-names>P.</given-names></string-name>, <string-name><surname>Guttman</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Martinelli</surname>, <given-names>F.</given-names></string-name> (Eds.), <source>Formal Aspects in Security and Trust</source>, Vol. <volume>5491</volume>. <publisher-name>Springer Berlin Heidelberg</publisher-name>, <publisher-loc>Berlin, Heidelberg</publisher-loc>, pp. <fpage>242</fpage>–<lpage>256</lpage>. <isbn>978-3-642-01464-2 978-3-642-01465-9</isbn>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1007/978-3-642-01465-9_16" xlink:type="simple">https://doi.org/10.1007/978-3-642-01465-9_16</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_027">
<mixed-citation publication-type="journal"><string-name><surname>Hwang</surname>, <given-names>M.-S.</given-names></string-name>, <string-name><surname>Lee</surname>, <given-names>C.-C.</given-names></string-name>, <string-name><surname>Lai</surname>, <given-names>Y.-C.</given-names></string-name> (<year>2003</year>). <article-title>An untraceable blind signature scheme</article-title>. <source>IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences</source>, <volume>86</volume>(<issue>7</issue>), <fpage>1902</fpage>–<lpage>1906</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1109/ICEBE.2006.25" xlink:type="simple">https://doi.org/10.1109/ICEBE.2006.25</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_028">
<mixed-citation publication-type="chapter"><string-name><surname>Iovino</surname>, <given-names>V.</given-names></string-name>, <string-name><surname>Rial</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Rønne</surname>, <given-names>P.B.</given-names></string-name>, <string-name><surname>Ryan</surname>, <given-names>P.Y.A.</given-names></string-name> (<year>2020</year>). <chapter-title>Universal unconditional verifiability in E-voting without trusted parties</chapter-title>. In: <source>2020 IEEE 33rd Computer Security Foundations Symposium (CSF)</source>, pp. <fpage>33</fpage>–<lpage>48</lpage>. <issn>2374-8303</issn>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1109/CSF49147.2020.00011" xlink:type="simple">https://doi.org/10.1109/CSF49147.2020.00011</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_029">
<mixed-citation publication-type="chapter"><string-name><surname>Jakobsson</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Juels</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Rivest</surname>, <given-names>R.L.</given-names></string-name> (<year>2002</year>). <chapter-title>Making mix nets robust for electronic voting by randomized partial checking</chapter-title>. In: <source>11th USENIX Security Symposium (USENIX Security 02)</source>. <ext-link ext-link-type="doi" xlink:href="https://dl.acm.org/doi/10.5555/647253.720294" xlink:type="simple">https://dl.acm.org/doi/10.5555/647253.720294</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_030">
<mixed-citation publication-type="journal"><string-name><surname>Juang</surname>, <given-names>W.-S.</given-names></string-name>, <string-name><surname>Lei</surname>, <given-names>C.-L.</given-names></string-name>, <string-name><surname>Liaw</surname>, <given-names>H.-T.</given-names></string-name> (<year>2002</year>). <article-title>A verifiable multi-authority secret election allowing abstention from voting</article-title>. <source>The Computer Journal</source>, <volume>45</volume>(<issue>6</issue>), <fpage>672</fpage>–<lpage>682</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1093/comjnl/45.6.672" xlink:type="simple">https://doi.org/10.1093/comjnl/45.6.672</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_031">
<mixed-citation publication-type="chapter"><string-name><surname>Kiayias</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Yung</surname>, <given-names>M.</given-names></string-name> (<year>2002</year>). <chapter-title>Self-tallying elections and perfect ballot secrecy</chapter-title>. In: <string-name><surname>Naccache</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Paillier</surname>, <given-names>P.</given-names></string-name> (Eds.), <source>Public Key Cryptography</source>. <publisher-name>Springer</publisher-name>, <publisher-loc>Berlin, Heidelberg</publisher-loc>, pp. <fpage>141</fpage>–<lpage>158</lpage>. <isbn>978-3-540-45664-3</isbn>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1007/3-540-45664-3_10" xlink:type="simple">https://doi.org/10.1007/3-540-45664-3_10</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_032">
<mixed-citation publication-type="chapter"><string-name><surname>Kremer</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Ryan</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Smyth</surname>, <given-names>B.</given-names></string-name> (<year>2010</year>). <chapter-title>Election verifiability in electronic voting protocols</chapter-title>. In: <string-name><surname>Gritzalis</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Preneel</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Theoharidou</surname>, <given-names>M.</given-names></string-name> (Eds.), <source>Computer Security – ESORICS 2010</source>. <publisher-name>Springer</publisher-name>, <publisher-loc>Berlin, Heidelberg</publisher-loc>, pp. <fpage>389</fpage>–<lpage>404</lpage>. <isbn>978-3-642-15497-3</isbn>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1007/978-3-642-15497-3_24" xlink:type="simple">https://doi.org/10.1007/978-3-642-15497-3_24</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_033">
<mixed-citation publication-type="chapter"><string-name><surname>Küsters</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Liedtke</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Müller</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Rausch</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Vogt</surname>, <given-names>A.</given-names></string-name> (<year>2020</year>). <chapter-title>Ordinos: a verifiable tally-hiding E-voting System</chapter-title>. In: <source>2020 IEEE European Symposium on Security and Privacy (EuroS&amp;P)</source>, pp. <fpage>216</fpage>–<lpage>235</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1109/EuroSP48549.2020.00022" xlink:type="simple">https://doi.org/10.1109/EuroSP48549.2020.00022</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_034">
<mixed-citation publication-type="other"><string-name><surname>Lagrange</surname>, <given-names>J.L.</given-names></string-name> (1795). Leçon cinquieme: sur l’usage des courbes dans la solution des problemes. <italic>Séances des Écoles Normales recueillies par les sténographes et revues par les professeurs, Reynier, Paris</italic>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_035">
<mixed-citation publication-type="journal"><string-name><surname>Larriba</surname>, <given-names>A.M.</given-names></string-name>, <string-name><surname>López</surname>, <given-names>D.</given-names></string-name> (<year>2022</year>). <article-title>SUVS: secure unencrypted voting scheme</article-title>. <source>Informatica</source>, <volume>33</volume>(<issue>4</issue>), <fpage>749</fpage>–<lpage>769</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.15388/22-INFOR503" xlink:type="simple">https://doi.org/10.15388/22-INFOR503</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_036">
<mixed-citation publication-type="journal"><string-name><surname>Larriba</surname>, <given-names>A.M.</given-names></string-name>, <string-name><surname>Sempere</surname>, <given-names>J.M.</given-names></string-name>, <string-name><surname>López</surname>, <given-names>D.</given-names></string-name> (<year>2020</year>). <article-title>A two authorities electronic vote scheme</article-title>. <source>Computers &amp; Security</source>, <volume>97</volume>, <fpage>101940</fpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1016/j.cose.2020.101940" xlink:type="simple">https://doi.org/10.1016/j.cose.2020.101940</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_037">
<mixed-citation publication-type="journal"><string-name><surname>Larriba</surname>, <given-names>A.M.</given-names></string-name>, <string-name><surname>Cerdà i Cucó</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Sempere</surname>, <given-names>J.M.</given-names></string-name>, <string-name><surname>López</surname>, <given-names>D.</given-names></string-name> (<year>2021</year>). <article-title>Distributed trust, a blockchain election scheme</article-title>. <source>Informatica</source>, <volume>32</volume>(<issue>2</issue>), <fpage>321</fpage>–<lpage>355</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.15388/20-INFOR440" xlink:type="simple">https://doi.org/10.15388/20-INFOR440</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_038">
<mixed-citation publication-type="chapter"><string-name><surname>Lee</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Kim</surname>, <given-names>K.</given-names></string-name> (<year>2003</year>). <chapter-title>Receipt-free electronic voting scheme with a tamper-resistant randomizer</chapter-title>. In: <string-name><surname>Goos</surname>, <given-names>G.</given-names></string-name>, <string-name><surname>Hartmanis</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Van Leeuwen</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Lee</surname>, <given-names>P.J.</given-names></string-name>, <string-name><surname>Lim</surname>, <given-names>C.H.</given-names></string-name> (Eds.), <source>Information Security and Cryptology — ICISC 2002</source>, Vol. <volume>2587</volume>. <publisher-name>Springer Berlin Heidelberg</publisher-name>, <publisher-loc>Berlin, Heidelberg</publisher-loc>, pp. <fpage>389</fpage>–<lpage>406</lpage>. <isbn>978-3-540-00716-6 978-3-540-36552-5</isbn>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1007/3-540-36552-4_27" xlink:type="simple">https://doi.org/10.1007/3-540-36552-4_27</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_039">
<mixed-citation publication-type="chapter"><string-name><surname>Li</surname>, <given-names>C.-T.</given-names></string-name>, <string-name><surname>Hwang</surname>, <given-names>M.-S.</given-names></string-name>, <string-name><surname>Lai</surname>, <given-names>Y.-C.</given-names></string-name> (<year>2009</year>). <chapter-title>A verifiable electronic voting scheme over the Internet</chapter-title>. In: <source>2009 Sixth International Conference on Information Technology: New Generations</source>, pp. <fpage>449</fpage>–<lpage>454</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1109/ITNG.2009.93" xlink:type="simple">https://doi.org/10.1109/ITNG.2009.93</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_040">
<mixed-citation publication-type="journal"><string-name><surname>Moran</surname>, <given-names>T.</given-names></string-name>, <string-name><surname>Naor</surname>, <given-names>M.</given-names></string-name> (<year>2010</year>). <article-title>Split-ballot voting: everlasting privacy with distributed trust</article-title>. <source>ACM Transactions on Information and System Security</source>, <volume>13</volume>(<issue>2</issue>), <fpage>1</fpage>–<lpage>43</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1145/1698750.1698756" xlink:type="simple">https://doi.org/10.1145/1698750.1698756</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_041">
<mixed-citation publication-type="chapter"><string-name><surname>Mosaheb</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Roenne</surname>, <given-names>P.</given-names></string-name>, <string-name><surname>Ryan</surname>, <given-names>P.Y.A.</given-names></string-name>, <string-name><surname>Sarfaraz</surname>, <given-names>S.</given-names></string-name> (<year>2025</year>). <chapter-title>Direct and transparent voter verification with everlasting receipt-freeness</chapter-title>. In: <source>Electronic Voting, E-Vote-ID 2024</source>. <publisher-name>Springer Science and Business Media Deutschland GmbH</publisher-name>. <isbn>978-3-031-72243-1</isbn>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1007/978-3-031-72244-8_8" xlink:type="simple">https://doi.org/10.1007/978-3-031-72244-8_8</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_042">
<mixed-citation publication-type="chapter"><string-name><surname>Nguyen Thi</surname>, <given-names>A.T.</given-names></string-name>, <string-name><surname>Dang</surname>, <given-names>T.K.</given-names></string-name> (<year>2013</year>). <chapter-title>Enhanced security in internet voting protocol using blind signatures and dynamic ballots</chapter-title>. In: <source>Proceedings of the 14th International Conference on Information Integration and Web-based Applications &amp; Services</source>, <series>IIWAS ’12</series>. <publisher-name>Association for Computing Machinery</publisher-name>, <publisher-loc>New York, NY, USA</publisher-loc>, pp. <fpage>278</fpage>–<lpage>281</lpage>. <isbn>978-1-4503-1306-3</isbn>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1145/2428736.2428781" xlink:type="simple">https://doi.org/10.1145/2428736.2428781</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_043">
<mixed-citation publication-type="chapter"><string-name><surname>Oechslin</surname>, <given-names>P.</given-names></string-name> (<year>2003</year>). <chapter-title>Making a faster cryptanalytic time-memory trade-off</chapter-title>. In: <string-name><surname>Boneh</surname>, <given-names>D.</given-names></string-name> (Ed.), <source>Advances in Cryptology – CRYPTO 2003</source>. <publisher-name>Springer</publisher-name>, <publisher-loc>Berlin, Heidelberg</publisher-loc>, pp. <fpage>617</fpage>–<lpage>630</lpage>. <isbn>978-3-540-45146-4</isbn>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1007/978-3-540-45146-4_36" xlink:type="simple">https://doi.org/10.1007/978-3-540-45146-4_36</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_044">
<mixed-citation publication-type="chapter"><string-name><surname>Okamoto</surname>, <given-names>T.</given-names></string-name> (<year>1998</year>). <chapter-title>Receipt-free electronic voting schemes for large scale elections</chapter-title>. In: <string-name><surname>Christianson</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Crispo</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Lomas</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Roe</surname>, <given-names>M.</given-names></string-name> (Eds.), <source>Security Protocols</source>. <publisher-name>Springer</publisher-name>, <publisher-loc>Berlin, Heidelberg</publisher-loc>, pp. <fpage>25</fpage>–<lpage>35</lpage>. <isbn>978-3-540-69688-9</isbn>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1007/BFb0028157" xlink:type="simple">https://doi.org/10.1007/BFb0028157</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_045">
<mixed-citation publication-type="chapter"><string-name><surname>Pankova</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Willemson</surname>, <given-names>J.</given-names></string-name> (<year>2022</year>). <chapter-title>Relations between privacy, verifiability, accountability and coercion-resistance in voting protocols</chapter-title>. In: <source>Applied Cryptography and Network Security</source>, Vol. <volume>13269</volume>. <publisher-name>Springer International Publishing</publisher-name>, <publisher-loc>Cham</publisher-loc>, pp. <fpage>313</fpage>–<lpage>333</lpage>. <isbn>978-3-031-09233-6 978-3-031-09234-3</isbn>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1007/978-3-031-09234-3_16" xlink:type="simple">https://doi.org/10.1007/978-3-031-09234-3_16</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_046">
<mixed-citation publication-type="chapter"><string-name><surname>Pointcheval</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Sanders</surname>, <given-names>O.</given-names></string-name> (<year>2016</year>). <chapter-title>Short randomizable signatures</chapter-title>. In: <string-name><surname>Sako</surname>, <given-names>K.</given-names></string-name> (Ed.), <source>Topics in Cryptology – CT-RSA 2016</source>. <publisher-name>Springer International Publishing</publisher-name>, <publisher-loc>Cham</publisher-loc>, pp. <fpage>111</fpage>–<lpage>126</lpage>. <isbn>978-3-319-29485-8</isbn>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1007/978-3-319-29485-8_7" xlink:type="simple">https://doi.org/10.1007/978-3-319-29485-8_7</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_047">
<mixed-citation publication-type="journal"><string-name><surname>Rivest</surname>, <given-names>R.L.</given-names></string-name>, <string-name><surname>Adleman</surname>, <given-names>L.</given-names></string-name>, <string-name><surname>Dertouzos</surname>, <given-names>M.L.</given-names></string-name> (<year>1978</year>). <article-title>On data banks and privacy homomorphisms</article-title>. <source>Foundations of Secure Computation</source>, <volume>4</volume>(<issue>11</issue>), <fpage>169</fpage>–<lpage>180</lpage>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_048">
<mixed-citation publication-type="journal"><string-name><surname>Ryan</surname>, <given-names>P.Y.A.</given-names></string-name> (<year>2008</year>). <article-title>Prêt à voter with Paillier encryption</article-title>. <source>Mathematical and Computer Modelling</source>, <volume>48</volume>(<issue>9</issue>), <fpage>1646</fpage>–<lpage>1662</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1016/j.mcm.2008.05.015" xlink:type="simple">https://doi.org/10.1016/j.mcm.2008.05.015</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_049">
<mixed-citation publication-type="journal"><string-name><surname>Sebé</surname>, <given-names>F.</given-names></string-name>, <string-name><surname>Miret</surname>, <given-names>J.M.</given-names></string-name>, <string-name><surname>Pujolàs</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Puiggalí</surname>, <given-names>J.</given-names></string-name> (<year>2010</year>). <article-title>Simple and efficient hash-based verifiable mixing for remote electronic voting</article-title>. <source>Computer Communications</source>, <volume>33</volume>(<issue>6</issue>), <fpage>667</fpage>–<lpage>675</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1016/j.comcom.2009.11.013" xlink:type="simple">https://doi.org/10.1016/j.comcom.2009.11.013</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_050">
<mixed-citation publication-type="journal"><string-name><surname>Shamir</surname>, <given-names>A.</given-names></string-name> (<year>1979</year>). <article-title>How to share a secret</article-title>. <source>Communications of the ACM</source>, <volume>22</volume>(<issue>11</issue>), <fpage>612</fpage>–<lpage>613</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1145/359168.359176" xlink:type="simple">https://doi.org/10.1145/359168.359176</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_051">
<mixed-citation publication-type="journal"><string-name><surname>Tornos</surname>, <given-names>J.L.</given-names></string-name>, <string-name><surname>Salazar</surname>, <given-names>J.L.</given-names></string-name>, <string-name><surname>Piles</surname>, <given-names>J.J.</given-names></string-name>, <string-name><surname>Saldana</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Casadesus</surname>, <given-names>L.</given-names></string-name>, <string-name><surname>Ruiz-Mas</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Fernandez-Navajas</surname>, <given-names>J.</given-names></string-name> (<year>2014</year>). <article-title>An eVoting system based on ring signatures</article-title>. <source>Network Protocols and Algorithms</source>, <volume>6</volume>(<issue>2</issue>), <fpage>38</fpage>–<lpage>54</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.5296/npa.v6i2.5390" xlink:type="simple">https://doi.org/10.5296/npa.v6i2.5390</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_052">
<mixed-citation publication-type="chapter"><string-name><surname>Willemson</surname>, <given-names>J.</given-names></string-name> (<year>2023</year>). <chapter-title>Analyzing and improving eligibility verifiability of the proposed Belgian remote voting system</chapter-title>. In: <string-name><surname>Rios</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Posegga</surname>, <given-names>J.</given-names></string-name> (Eds.), <source>Security and Trust Management</source>. <publisher-name>Springer Nature Switzerland</publisher-name>, <publisher-loc>Cham</publisher-loc>, pp. <fpage>126</fpage>–<lpage>135</lpage>. <isbn>978-3-031-47198-8</isbn>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1007/978-3-031-47198-8_8" xlink:type="simple">https://doi.org/10.1007/978-3-031-47198-8_8</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_053">
<mixed-citation publication-type="chapter"><string-name><surname>Yang</surname>, <given-names>X.</given-names></string-name>, <string-name><surname>Yi</surname>, <given-names>X.</given-names></string-name>, <string-name><surname>Ryan</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>van Schyndel</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Han</surname>, <given-names>F.</given-names></string-name>, <string-name><surname>Nepal</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Song</surname>, <given-names>A.</given-names></string-name> (<year>2017</year>). <chapter-title>A verifiable ranked choice Internet voting system</chapter-title>. In: <string-name><surname>Bouguettaya</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Gao</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Klimenko</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Chen</surname>, <given-names>L.</given-names></string-name>, <string-name><surname>Zhang</surname>, <given-names>X.</given-names></string-name>, <string-name><surname>Dzerzhinskiy</surname>, <given-names>F.</given-names></string-name>, <string-name><surname>Jia</surname>, <given-names>W.</given-names></string-name>, <string-name><surname>Klimenko</surname>, <given-names>S.V.</given-names></string-name>, <string-name><surname>Li</surname>, <given-names>Q.</given-names></string-name> (Eds.), <source>Web Information Systems Engineering – WISE 2017</source>. <publisher-name>Springer International Publishing</publisher-name>, <publisher-loc>Cham</publisher-loc>, pp. <fpage>490</fpage>–<lpage>501</lpage>. <isbn>978-3-319-68786-5</isbn>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1007/978-3-319-68786-5_39" xlink:type="simple">https://doi.org/10.1007/978-3-319-68786-5_39</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_054">
<mixed-citation publication-type="journal"><string-name><surname>Yang</surname>, <given-names>X.</given-names></string-name>, <string-name><surname>Yi</surname>, <given-names>X.</given-names></string-name>, <string-name><surname>Nepal</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Kelarev</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Han</surname>, <given-names>F.</given-names></string-name> (<year>2018</year>). <article-title>A secure verifiable ranked choice online voting system based on homomorphic encryption</article-title>. <source>IEEE Access</source>, <volume>6</volume>, <fpage>20506</fpage>–<lpage>20519</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1109/ACCESS.2018.2817518" xlink:type="simple">https://doi.org/10.1109/ACCESS.2018.2817518</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_055">
<mixed-citation publication-type="journal"><string-name><surname>Yang</surname>, <given-names>X.</given-names></string-name>, <string-name><surname>Yi</surname>, <given-names>X.</given-names></string-name>, <string-name><surname>Nepal</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Kelarev</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Han</surname>, <given-names>F.</given-names></string-name> (<year>2020</year>). <article-title>Blockchain voting: publicly verifiable online voting protocol without trusted tallying authorities</article-title>. <source>Future Generation Computer Systems</source>, <volume>112</volume>, <fpage>859</fpage>–<lpage>874</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1016/j.future.2020.06.051" xlink:type="simple">https://doi.org/10.1016/j.future.2020.06.051</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor616_ref_056">
<mixed-citation publication-type="journal"><string-name><surname>Zou</surname>, <given-names>X.</given-names></string-name>, <string-name><surname>Li</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Li</surname>, <given-names>F.</given-names></string-name>, <string-name><surname>Peng</surname>, <given-names>W.</given-names></string-name>, <string-name><surname>Sui</surname>, <given-names>Y.</given-names></string-name> (<year>2017</year>). <article-title>Transparent, auditable, and stepwise verifiable online E-voting enabling an open and fair election</article-title>. <source>Cryptography</source>, <volume>1</volume>(<issue>2</issue>), <fpage>13</fpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.3390/cryptography1020013" xlink:type="simple">https://doi.org/10.3390/cryptography1020013</ext-link>.</mixed-citation>
</ref>
</ref-list>
</back>
</article>
