Skip to Content
AlgorithmsAlgorithms
  • Article
  • Open Access

13 October 2026

26 Pages

A UC-Secure Protocol for Privacy-Preserving Preferential Voting with Verifiable Encrypted Ballots

,
,
and
1
G.E. Pukhov Institute for Modelling in Energy Engineering of the National Academy of Sciences of Ukraine, 03164 Kyiv, Ukraine
2
Department of Informatics, University of Bergen, Høyteknologisenteret i Bergen, Thormøhlens Gate 55b, 5006 Bergen, Norway
3
Department of Information Technology Security, Kharkiv National University of Radio Electronics, 61166 Kharkiv, Ukraine
*
Author to whom correspondence should be addressed.
Algorithms2026, 19(10), 874;https://doi.org/10.3390/a19100874 
(registering DOI)
This article belongs to the Section Algorithms for Multidisciplinary Applications

Abstract

Preferential voting allows participants to rank multiple alternatives according to their preferences rather than being restricted to selecting a single option. Such mechanisms are used in national and local elections and, in decentralized governance, can be applied to committee selection, the prioritization of protocol upgrades or funding applications, and the choice of an electricity supplier or energy source. Of particular practical interest are systems in which participants have different stakes and their voting weights are proportional to those stakes. In the model considered in this work, each voter submits a complete ranking of the alternatives. The key technical challenge is to verify that an encrypted ballot encodes a valid ranking, that is, that exactly one rank is assigned to each alternative and each rank is used exactly once, without revealing the voter’s preferences. We propose a UC-secure protocol for privacy-preserving preferential voting with verifiable encrypted ballots. A ranking is represented as a permutation matrix whose entries are encrypted using an additively homomorphic cryptosystem. To verify ballot validity, each encrypted row of the matrix is accompanied by a non-interactive zero-knowledge proof that it is a unit vector. The encrypted rows are then homomorphically summed, and the resulting vector is checked against the all-ones vector. Together, these checks ensure that the encrypted matrix is a permutation matrix without revealing the ranking itself. Using an O ( log m ) -size unit-vector proof for each of the m rows yields O ( m log m ) ballot-validity proof data, while the overall ballot size remains O ( m 2 ) because the encrypted matrix contains m 2 ciphertexts. The protocol supports stake-weighted tallying and threshold decryption, so that only the final aggregate result is revealed. The UC security of the protocol is established in the random-oracle model under the Decisional Diffie–Hellman (DDH) assumption. The theoretical analysis shows that the computational complexity of generating and verifying a single ballot is O ( m 2 ) and that the ballot size is also O ( m 2 ) , where m is the number of alternatives. The experimental results are consistent with this quadratic scaling: for 32 alternatives, the mean ballot-generation time is 87 ms, the mean verification time is 36 ms, and the reported cryptographic ballot payload is 106 KiB. These measurements indicate practical ballot-construction and verification costs for elections with a moderate number of alternatives.

1. Introduction

Decentralized decision-making is an important mechanism in distributed governance settings, where participants collectively influence the selection of proposals, policies, representatives, or development priorities. Such mechanisms are widely used in blockchain ecosystems, including platforms such as MakerDAO, Cardano, Aragon, and Gitcoin, but are also relevant to other organizational and electronic voting environments. While many existing voting protocols support simple “yes/no” or single-choice decisions, they often fail to capture the nuanced preferences of participants when several competing alternatives must be compared.
Preferential voting systems, in which voters rank candidates or options in order of preference, offer a more expressive and sophisticated method for collective decision-making. One practical limitation of such systems is their inconvenience when the number of candidates is large, and each voter has clear preferences for only a few of them (or, conversely, strong aversions), while remaining indifferent to the rest. In this case, the voter may assign arbitrary middle-range ranks to all indifferent candidates; such an arbitrary completion may reduce the interpretability of the submitted ranking. Therefore, preferential voting is most appropriate when, first, the number of candidates (alternatives) is relatively small, and second, voters have a well defined understanding of their preferences.
Preferential voting systems are widely used in national and local elections (e.g., in Australia, Ireland, and various municipal elections in the US), as they can produce outcomes that better reflect the collective will of the electorate [1,2], for example by electing a Condorcet winner [3]. A Condorcet winner is an alternative that defeats every other alternative in a pairwise majority comparison.
However, the experimental evaluation in this work is focused on scenarios with a moderate number of alternatives and is not intended to demonstrate scalability to a nationwide election process.
In blockchain governance, preferential voting can be applied to committee selection, prioritization of protocol upgrades, or choosing among multiple grant applicants.
A further application domain is decentralized electricity markets and energy communities. In addition to executing energy trades, their participants may need to rank potential suppliers, local generation or storage projects, demand-response programs, or proposals concerning market rules. Individual rankings may reveal commercially sensitive interests and strategies. If voting weights are determined by publicly verifiable participation shares then the proposed protocol can compute a stake-weighted aggregate ranking without disclosing individual preferences.
Implementing complete preferential voting in a distributed and publicly auditable environment creates a specific cryptographic challenge. Each voter’s ranking must remain confidential, while any observer must be able to verify that the encrypted ballot assigns exactly one rank to every alternative and uses every rank exactly once. When voters have different publicly verifiable stakes, the tally must also incorporate the corresponding weights without opening individual ballots and must reveal only the aggregate result.
Existing protocols address only parts of this problem. Some preferential-voting systems reveal anonymous individual rankings during tallying, while others verify a different ballot-validity relation, such as an arbitrary allocation of a fixed point budget. AranVoting represents a ranking by an encrypted permutation matrix and uses cell-level validity proofs, but it does not provide a Universal Composability (UC) formalization. Conversely, existing UC-secure voting protocols do not support publicly verifiable encrypted complete rankings together with stake-weighted tallying and threshold opening of only the aggregate result.
This leads to the main research question of this work: How can a privacy-preserving protocol for complete preferential ballots publicly verify that an encrypted ballot is a permutation, support stake-weighted aggregation and threshold opening of only the final tally, and provide a security proof in the universal composability framework?

1.1. Our Contributions

This paper presents a UC-secure protocol for privacy-preserving preferential voting in a decentralized ledger setting. It requires a public append-only bulletin board for publishing election parameters, encrypted ballots, validity proofs, and the final tally. Such a bulletin board can be implemented using a blockchain or another publicly auditable append-only system. However, the security analysis of the protocol does not rely on the details of a specific chain, consensus mechanism, or smart-contract platform.
Our construction combines additively homomorphic encryption with non-interactive zero-knowledge (NIZK)-based ballot validation: encrypted ranked ballots remain private, while their correctness can be publicly verified. The main contributions are summarized below:
–
Contribution 1. We construct a privacy-preserving preferential-voting protocol in which a complete ranking is represented by an encrypted permutation matrix. To validate the ballot without revealing the ranking, the  O ( log m ) -size NIZK unit-vector proof of Zhang et al. [4] is applied to each row, while the uniqueness of the ranks is verified by a joint homomorphic check of the column sums. For an m × m matrix, the total size of the ballot-validity proofs in our protocol is O ( m log m ) , whereas AranVoting uses O ( m 2 ) validity proofs for individual entries of the encrypted matrix. The overall ballot size remains O ( m 2 ) because the encrypted matrix contains m 2 ciphertexts.
–
Contribution 2. The validation mechanism is integrated with stake-weighted tallying, in which each ballot is weighted proportionally to the voter’s stake. The resulting ordering of the alternatives is equivalent to that produced by the Borda rule up to an additive constant common to all alternatives. A threshold trustee committee decrypts only the homomorphically computed aggregate result; individual rankings remain encrypted after tallying.
–
Contribution 3. We formalize the protocol through the ideal functionality F Vote t , u , m , n and prove its security in the universal composability framework in the random-oracle model under the Decisional Diffie–Hellman assumption. The theorem considers a static probabilistic polynomial-time adversary that may corrupt any number of voters and at most u − t trustees, where u / 2 < t ≤ u . Following successful distributed key generation, at least t honest and active trustees can complete threshold decryption and publish the result without the participation of corrupted trustees.
–
Contribution 4. We evaluated the core encrypted-ballot processing algorithms using a Rust prototype. The benchmark results reported in Section 5 show that the measured ballot-generation time, complete ballot-verification time, and cryptographic ballot payload were consistent with the theoretical O ( m 2 ) scaling as the number of alternatives grew. The evaluation indicates practical per-ballot processing costs for elections with a moderate number of alternatives.

1.2. Related Work

Existing preferential-voting protocols that use cryptographic mechanisms differ in how they represent a complete ranking, verify the validity of an encrypted ballot, tally the votes, and disclose the result. We therefore focus on the works that are closest to our protocol with respect to ballot representation, privacy, public verifiability, stake-dependent voting weights, and UC security.
One of the earliest works to consider the use of cryptographic mechanisms in a preferential-voting protocol is the study by Aditya et al. [5]. The authors considered two approaches to preserving the confidentiality of preferential ballots: one based on homomorphic encryption and one based on a mix-net. The former requires all possible complete rankings to be taken into account; because their number is factorial in the number of candidates, this approach is suitable only for elections with a small candidate set. In the mix-net approach, the link between a voter and the corresponding ballot is hidden, but the content of every ballot is nevertheless decrypted after mixing. Thus, all ballots become visible, although it is not possible to determine which voter submitted which ballot. Ballot secrecy in this approach therefore relies on anonymization, whereas the individual rankings themselves are disclosed during tallying. In our protocol, individual rankings remain encrypted and only the aggregate result is decrypted. Moreover, in their proposed form, the schemes of Aditya et al. do not provide public zero-knowledge verification that an encrypted ballot encodes a valid ranking, do not support different voting weights proportional to the voters’ stakes, and are not analyzed in the universal composability framework.
Yang et al. [6] proposed an online voting system based on lifted ElGamal encryption. Although the title uses the term ranked-choice voting, a ballot specifies an allocation of a predetermined number of points among the candidates and permits equal scores for different candidates as well as the allocation of all points to a single candidate. The ballot is represented as a binary matrix whose entries are encrypted separately. Zero-knowledge proofs are used to show that every ciphertext encrypts a bit and that the sum of the points allocated by a voter equals a value P fixed by the election organizers and common to all voters. Individual stake weights are not considered, although public stake weights could be incorporated at the homomorphic tallying stage. The principal difference from our protocol lies in the ballot-validity predicate: the scheme of Yang et al. permits an arbitrary allocation of the fixed point budget, whereas our protocol requires the ballot to encode a complete permutation of the ranks, in which each alternative receives exactly one rank and every rank is used exactly once. The system of Yang et al. also has no UC formalization.
In ElectAnon [7], each possible complete ranking is mapped to a single integer, and a ballot contains only the index of the selected permutation. The number of possible indices is factorial in the number of candidates, but a particular ballot stores only one integer. The protocol follows a commit-reveal scheme: in the first stage, a voter publishes a commitment to the encoded ranking; in the second stage, the voter reveals the numerical ranking code and the secret value from which the smart contract verifies the commitment. Ballot validity is checked by testing whether the numerical code belongs to the admissible interval. Semaphore, together with a zk-SNARK proof, is used for anonymous eligibility verification and prevention of double voting rather than for verifying a hidden permutation. ElectAnon supports, among others, the Borda and Tideman rules. However, after the reveal stage all individual ballots become publicly available in plaintext, although they remain anonymous. By contrast, our protocol keeps individual rankings encrypted, homomorphically computes a stake-weighted tally, and reveals only the aggregate result.
Xia et al. [8] proposed AranVoting, a blockchain-based preferential-voting protocol under the Borda rule in which a ranking is represented as a permutation matrix. Ballot privacy is provided by homomorphic encryption, while zero-knowledge proofs are used to establish the bitness of the encrypted entries and the row and column conditions required for a permutation matrix. The authors also address tally availability and transparency by means of a smart contract, a committee-formation algorithm, and an incentive mechanism.
Let m denote the number of candidates. An AranVoting ballot contains m 2 matrix entries that are encrypted separately. The construction establishes the bitness condition for each encrypted entry, while the row and column sums are additionally checked. Consequently, the number of ciphertexts and the number of cell-level validity-proof components in AranVoting are both O ( m 2 ) ; accordingly, the construction and validation of a single AranVoting ballot have quadratic complexity O ( m 2 ) with respect to the number of candidates. In our protocol, the  O ( log m ) -size NIZK unit-vector proof introduced by Zhang et al. [4] is applied to each of the m rows. The column condition is verified homomorphically after publication of a length-m vector containing the sums of the encryption randomnesses, without separate zero-knowledge proofs for the columns. Hence, the total size of the ballot-validity proof data in our protocol is O ( m log m ) , which is asymptotically smaller than the O ( m 2 ) cell-by-cell proof component in AranVoting. This reduction does not make the overall ballot size subquadratic: in both protocols, the encrypted permutation matrix contains m 2 ciphertexts, so the total ballot size remains O ( m 2 ) .
Compared with AranVoting [8], the proposed protocol has three principal differences. First, to verify the correctness of the encrypted permutation matrix, our protocol uses m NIZK unit-vector proofs with total size O ( m log m ) , whereas AranVoting uses O ( m 2 ) validity proofs for individual entries of the matrix. This reduces the amount of data associated with validity proofs, but it does not reduce the asymptotic size of the whole ballot: both protocols transmit m 2 ciphertexts, so the total ballot size, as well as the complexity of ballot generation and verification, remains O ( m 2 ) . Second, we provide a formal UC model for the proposed protocol: we define the ideal functionality and adversarial model and prove UC security of the protocol; no such UC formalization is provided for AranVoting. Third, our protocol supports voting in which a voter’s weight is proportional to the voter’s publicly known stake. In addition, individual voter rankings remain confidential even after the final voting result has been computed .
Zhang et al. [4] proposed a UC-secure voting protocol for collective decisions on funding project proposals from a common fund of a cryptocurrency system. A voter’s weight is determined by the voter’s stake, and the voter may choose yes, no, or abstain, or delegate the vote to an expert. The work introduced a NIZK unit-vector proof showing that an encrypted vector is binary and contains exactly one entry equal to 1. For a vector of length m, the proof size is O ( log m ) . The protocol of Zhang et al. does not implement preferential voting and does not rank candidates. In our protocol, their unit-vector proof is applied to every row of the encrypted permutation matrix and is combined with a homomorphic check that every rank is used exactly once.
A complementary line of our previous work concerns stake-dependent quadratic voting. Kovalchuk et al. [9] analyzed several models of quadratic voting and its generalizations, including models in which a voter’s stake is split among selected alternatives. Kovalchuk et al. [10] subsequently proposed a UC-secure on-chain quadratic-voting protocol with liquid democracy, in which voting power defined as the square root of the stake can be distributed among selected proposals or delegated to representatives. That protocol formalizes stake-dependent voting and delegation in the UC framework, but its ballot specifies an allocation of voting power rather than a complete ordering of all alternatives. The present work addresses a different validity relation: every ballot must encode a full ranking as a permutation, and its contribution to the aggregate result is weighted proportionally to the voter’s stake.
E-cclesia [11] is a UC-secure self-tallying voting protocol in which voters anonymously publish ballots encrypted using time-lock encryption. After the voting phase, every ballot is decrypted, and the resulting value is tested for membership in a predefined set O of admissible options; values outside O are discarded. The result can then be computed from the published data without a separate tallying committee. E-cclesia therefore does not need to verify the hidden structure of a ballot: admissibility is checked after its content has been revealed. For complete preferential voting, the set O would have to contain all admissible permutations. If O is represented by an explicit list, its size is m ! , whereas representing it by a polynomial-time validity predicate is not formalized in that work. In our protocol, individual rankings are not revealed even after tallying. Ballot validity is verified without decrypting the ballot, and a trustee committee decrypts only the stake-weighted aggregate result.
Privacy-preserving protocols for peer-to-peer electricity trading and energy auctions address a related but different class of problems. These protocols primarily protect numerical bids, prices, and quantities while computing matching, allocation, or clearing results [12,13,14]. In decentralized electricity markets and energy communities, however, participants may also need to rank suppliers, local generation or storage projects, demand-response programs, or proposals concerning market rules. Such rankings may reveal commercially sensitive preferences and strategies. When voting rights are determined by a publicly verifiable participation share, our protocol can be used at this governance layer to compute a stake-weighted aggregate ranking without disclosing individual preferences. It does not replace an auction protocol or implement bid matching and market clearing.
The choice of protocol depends on the requirements of the application. If disclosure of individual ballots after the voting phase is acceptable, then mix-net or commit–reveal approaches such as those of Aditya et al. [5] or ElectAnon [7] may be suitable. If the task is to allocate a fixed number of points rather than to submit a complete ranking then the approach of Yang et al. [6] is more natural. If self-tallying without a separate trustee committee is required and disclosure of ballots after voting is acceptable then E-cclesia [11] is an appropriate approach. The protocol of Zhang et al. [4] is designed for stake-weighted collective decisions with yes/no/abstain choices or delegation, rather than for a complete preferential ranking of alternatives. The protocol proposed in this work is intended for applications that simultaneously require a complete ranking of alternatives, public verification of the correctness of an encrypted ballot, voting weights proportional to public stakes, confidentiality of individual ballots even after the final result has been computed, and formal UC security guarantees.
Taken together, the existing preferential-voting protocols either disclose anonymous individual rankings during tallying or do not formalize the combined privacy and verifiability guarantees in the UC framework. Conversely, the existing UC-secure voting protocols do not simultaneously address a complete encrypted ranking, public verification of its permutation structure, voting weights proportional to stakes, threshold opening of only the aggregate result, and the corresponding adversarial model. To the best of our knowledge, this combination of properties has not been considered in previous work. Our protocol closes this gap through the ideal functionality F Vote t , u , m , n , a publicly verifiable encrypted-permutation ballot, O ( m log m ) ballot-validity proof data, stake-weighted tallying, and threshold decryption of only the aggregate result.

2. Preliminaries

This section introduces the notation, cryptographic building blocks, and the Universal Composability framework used in the construction and security analysis of the proposed protocol.

2.1. Notation and Terminology

Table 1 summarizes the main abbreviations and notation used throughout the paper.
Table 1. Main abbreviations and notation.
The security level is parameterized by λ ∈ N . Given 1 λ , the algorithm Gen G produces a description param of the algebraic setting used by the protocol. In particular, param specifies a prime-order cyclic multiplicative group G , its order q, and a generator g, with  | q | = λ . Unless stated otherwise, all group operations were performed in G . The security analysis relied on the hardness of the Decisional Diffie–Hellman (DDH) problem for this group [15]. Informally, the DDH assumption states that, in an appropriate cyclic group, no efficient algorithm can distinguish a Diffie–Hellman tuple from a random tuple with non-negligible advantage. We use PPT as an abbreviation for probabilistic polynomial time.
We use the notation [ a , b ] to represent the set { a , a + 1 , … , b } , and write [ b ] as a shorthand for [ 1 , b ] . For a finite set S, the expression s ← S denotes uniform random sampling of s from S. A vector ( a 1 , … , a ℓ ) is denoted by a , where the dimension is specified explicitly whenever it is not clear from the context. A negligible function is written as negl ( · ) , while poly ( · ) denotes a function bounded by a polynomial.

2.2. Additively Homomorphic Encryption

A homomorphic encryption scheme allows specified operations to be performed on ciphertexts so that, after decryption, the result corresponds to applying the associated operations to the plaintexts.
We rely on the Lifted ElGamal scheme [16] as the encryption layer of the protocol. This scheme is a variant of ElGamal encryption in which messages are embedded in the exponent, allowing ciphertexts to be combined so that the underlying plaintexts are added. Let param ← Gen G ( 1 λ ) denote the group parameters used throughout the construction. The encryption scheme is defined as follows:
–
Gen E ( param ) : sample sk ← Z q * , then compute pk : = g sk , and return ( pk , sk ) .
–
Enc pk ( m , r ) : compute and return c : = ( c 1 , c 2 ) = ( g r , g m · pk r ) .
–
Mul ( c ( 1 ) , … , c ( ℓ ) ) : compute and return c : = ( ∏ i = 1 ℓ c 1 ( i ) , ∏ i = 1 ℓ c 2 ( i ) ) .
–
Exp ( c , n ) : compute and return c n : = ( c 1 n , c 2 n ) .
–
Dec sk ( c ) : compute and return Dlog ( c 2 · c 1 − sk ) , where Dlog ( x ) denotes the discrete logarithm of x in the chosen group.
Stake amounts are encoded as non-negative integers using an application-defined unit. Let S = ∑ i s ( i ) denote the total stake of the voters whose ballots are included in the tally, and let S max be a public upper bound on this value. Because each rank belongs to [ 1 , m ] , the final weighted score of every alternative is at most m S ≤ m S max . The group parameters are chosen so that m S max < q . Hence, although Lifted ElGamal decryption requires computing a discrete logarithm in a group of order q, the exponent to be recovered is known a priori to lie in the bounded interval [ 0 , m S max ]  .
  • Illustrative parameter estimate (Cardano). To illustrate the practical size of this interval for a real-world deployment, consider Cardano as an example and use ADA as the stake unit for this estimate. Recent Cardano epoch data report an active stake of approximately 21.42 × 10 9 ADA [17]. We therefore take S max = 22 × 10 9 ADA as a conservative upper bound. This gives M = m S max = 3.52 × 10 11 for m = 16 and M = 7.04 × 10 11 for m = 32 . In our implementation, bounded-DLP recovery used the baby-step giant-step algorithm with a pre-computed baby-step table. For these two bounds, the one-time pre-computation took 5.85 s and 8.80 s, respectively, while the mean worst-case recovery time for a single plaintext value was 1.47 s and 2.11 s. For  M = 7.04 × 10 11 , recovery of the complete 32-component tally vector took 9.63 s on average after pre-computation using eight Rayon worker threads; the peak resident memory of the benchmark process was approximately 148 MiB. These measurements show that decryption remains feasible for the considered plaintext ranges.
Whenever the algorithms { Enc pk ( · ) , Dec sk ( · ) , Mul ( · ) , Exp ( · ) } are applied to vector-valued inputs, the operations are understood to be performed in a component-wise manner. Specifically, for vectors m = ( m 1 , … , m ℓ ) and r = ( r 1 , … , r ℓ ) , we define:
Enc pk ( m , r ) : = Enc pk ( m 1 , r 1 ) , … , Enc pk ( m ℓ , r ℓ ) .
The Lifted ElGamal cryptosystem supports threshold encryption and achieves IND-CPA security under the DDH assumption [18]. Its additive homomorphic property is expressed as
Enc pk ( m 1 , r 1 ) · Enc pk ( m 2 , r 2 ) = Enc pk ( m 1 + m 2 , r 1 + r 2 ) .
The proposed protocol specifically requires additively homomorphic encryption, because tally aggregation performs two operations on encrypted data: addition of values and multiplication by known public coefficients. Unlike standard ElGamal, which is multiplicatively homomorphic with respect to plaintext group elements, a Lifted ElGamal ciphertext contains the group element g m , where m is the plaintext. As a result, ciphertext multiplication corresponds to addition of plaintexts. Moreover, the  Σ -protocols/NIZKs used in our protocol are constructed directly for Lifted ElGamal ciphertexts; this cryptosystem also supports joint decryption. Other additively homomorphic cryptosystems, such as Paillier, could also be used in a similar construction, but the validity-proof and joint-decryption mechanisms used in the present protocol would have to be replaced by mechanisms compatible with the selected cryptosystem.

2.3. Zero Knowledge Proofs/Arguments

In our construction, we use the non-interactive unit vector argument of knowledge NIZK U V R O from [4], obtained in the random oracle model [19]. For brevity, we omit the superscript R O when the context is clear. The formal definitions of the zero-knowledge proof/argument notions used in the protocol are provided in Supplementary Materials, Section S1.

2.4. Universal Composability

We use the Universal Composability (UC) framework [20] to state the security goal for the proposed protocol. In the UC setting, security is formulated by comparing two experiments. In the real experiment, the parties executed the protocol Π in the presence of an adversary A . In the ideal experiment, the same task was carried out by an ideal functionality F , while a simulator S emulated the adversarial behavior visible to the environment Z . A protocol is considered secure if every efficient real-world attack can be reproduced in the ideal world without allowing Z to tell which experiment it is observing.
The ideal functionality serves as a formal specification of the intended behavior of the protocol. It defines which inputs are accepted, which outputs are produced, which events are exposed to the adversary, and under which corruption conditions private information may be leaked. Thus, instead of reasoning directly about informal security properties, we prove that the real protocol execution is indistinguishable from an execution of this idealized specification.
Let EXEC Π , A , Z denote the output of the environment in the real execution of protocol Π with adversary A . Let EXEC F , S , Z denote the corresponding output in the ideal execution with functionality F and simulator S . In our model, protocol parties, the adversary, the simulator, and the environment are represented by interactive probabilistic polynomial-time machines. Each machine instance is indexed by a session identifier s i d and a party identifier p i d . We consider a synchronous communication setting, static corruptions, and access to a random oracle.
To prove UC security, we construct a PPT simulator S such that for every PPT adversary A and every PPT environment Z , the two executions are computationally indistinguishable:
EXEC Π , A , Z ≈ EXEC F , S , Z .

3. System and Threat Model

This section describes the participants in the voting system, their roles, the threshold assumption, and the adversarial model.

3.1. Participants, External Environment, and Threshold Assumption

The proposed voting protocol involves two types of protocol parties: a voting committee of u trustees, denoted by T = { T ( 1 ) , … , T ( u ) } , and a set of n voters V = { V ( 1 ) , … , V ( n ) } . In addition, we consider a set of m available alternatives A = { A ( 1 ) , … , A ( m ) } over which the election is conducted.
Each voter forms a complete ranking of the alternatives, encrypts the corresponding ballot, generates the proofs required to verify its validity, and publishes the encrypted ballot together with these proofs on the balloting board, denoted by BB. In the formal UC model, BB is represented by the ideal functionality F BLOCKCHAIN , which is used only through its public append-only bulletin-board interface; see Section 4.2. The trustees jointly generate the public encryption key; after the voting phase has ended, they homomorphically aggregate the valid encrypted ballots and participate in the threshold decryption of the final aggregate tally. The published ballots and their validity proofs are publicly verifiable.
Before voting begins, a public association is established for each voter V ( i ) between the voter’s public key pk V ( i ) and stake s ( i ) . When a ballot is published, BB records the public key of the party that submitted it, so each ballot is unambiguously associated with the corresponding stake. Until the voting phase ends, a voter may publish a new ballot. In this case, the previous ballot remains in the history of BB but ceases to be active. For each registered public key, B final contains only the most recent ballot published before the end of the voting phase that passes VerifyBallot . Registration of the public keys and assignment of the corresponding stakes belong to the application layer and are not part of the cryptographic voting protocol.
The voting weight is not specified by the voter in the ballot. The stake value s ( i ) of voter V ( i ) is a public parameter that is associated in advance with that voter’s registered public key. During tallying, the components of the encrypted ballot are raised to the power s ( i ) , which homomorphically multiplies the corresponding entries of the encrypted permutation matrix by s ( i ) ; consequently, when the scores are computed, rank j is counted with multiplier s ( i ) , that is, as  j s ( i ) . Therefore, a voter cannot change the weight of its vote by specifying a different value of s ( i ) . The correctness of the ballot itself is established by cryptographic mechanisms, including the zero-knowledge proofs applied to the encrypted ballot, whereas the correctness of the association between the voting weight and the corresponding public key is provided by the public registration association between the voter’s key and stake.
Voters may submit their ballots until the formally defined end of the voting phase. This point is determined by a public condition specified in the election parameters; for example, it may be a block number, a predetermined time, or another condition whose satisfaction can be readily verified by all participants in the election. The specific form of this condition belongs to the application layer and is not part of the cryptographic protocol.
In the formal model, satisfaction of this condition is represented by a message (CloseVoting, sid), which the environment Z , whose role in the definition of UC security is described in Section 2.3, sends to the trustees. Upon receiving this message, each trustee T ( i ) is required to publish the record (CloseVoting, sid, T ( i ) ) on BB. Once such records have been published by at least t distinct trustees, the Voting phase is considered completed and the protocol transitions to the Tally phase. For each registered voter public key, only the most recent ballot published before the appearance on BB of the t-th CloseVoting record submitted by a distinct trustee and passing VerifyBallot is aggregated.
The environment Z is neither a voting participant nor a trusted party of the protocol. It provides external inputs and activates the corresponding protocol parties. In particular, Z sends (Init, sid) to the trustees and (Cast, sid, v ( i ) , s ( i ) ) to the voters. After the protocol has transitioned to the Tally phase, the environment may activate the trustees by sending (Tally, sid) and may send (ReadTally, sid) to any party to obtain the published result. The environment does not form or verify encrypted ballots, hold secret-key shares, or participate in computing the voting result.
The public key used to encrypt the ballots is generated by the committee through the distributed key generation functionality F DKG t , u . Distributed Key Generation (DKG) is a procedure in which several trustees jointly establish a public key and secret-key shares without requiring any single trustee to learn the complete secret key. The corresponding secret key is not held by any individual trustee; instead, it is distributed among the u trustees according to a ( t , u ) -threshold scheme. Decryption requires the participation of at least t trustees, where
u / 2 < t ≤ u .
Let T honest and T corr denote the sets of honest and corrupted trustees, respectively. We assume that, following the successful completion of distributed key generation, at least t trustees remain honest and active:
| T honest | ≥ t .
Since
| T honest | + | T corr | = u and t > u / 2 ,
it follows that
| T corr | ≤ u − t < t .
Consequently, the corrupted trustees cannot decrypt individual ballots or the aggregate tally on their own. At the same time, the number of honest trustees is sufficient to decrypt the final tally without the participation of corrupted committee members.
The claim that the tally can be completed is conditional on the successful completion of distributed key generation. Honest trustees begin generating decryption shares only after CloseVoting records have been published on BB by at least t distinct trustees and the protocol has transitioned to the Tally phase. We also assume that messages sent by honest trustees during the tally phase eventually become available to all parties.

3.2. Adversarial Model

We make the following assumptions about the adversary and its capabilities:
–
the adversary observes all messages and data published on the public bulletin board;
–
the adversary is static and probabilistic polynomial-time;
–
the adversary may corrupt an arbitrary number of voters and at most u − t trustees;
–
the sets of corrupted parties are determined before the protocol execution begins and do not change during the execution;
–
the adversary fully controls the actions of corrupted parties and may coordinate their behavior.
Corrupted trustees may perform the following actions:
–
disclose their secret-key shares to the adversary;
–
deviate from the protocol, including refusing to generate and/or publish their decryption shares.
Corrupted voters may choose their own rankings arbitrarily, coordinate their votes, disclose their rankings, randomness, and other internal data to the adversary, abstain from voting, replace a previously submitted ballot before the voting phase ends, or attempt to submit malformed ballots. Only ballots that pass VerifyBallot are included in the tally. Thus, a corrupted voter may influence the result by submitting any valid ranking with its assigned voting weight, but cannot cause an invalid ballot to be included in the tally.
The privacy guarantee applies only to honest voters. Disclosure by a corrupted voter of its own ranking or the randomness used to generate its ballot is not considered a violation of ballot privacy. The model does not address vote buying, coercion, or a voter’s ability to prove to a third party how it voted. Accordingly, the protocol does not claim coercion resistance or receipt-freeness.
The adversary does not obtain direct access to the plaintext ballots of honest voters and cannot modify or delete records that have already been published on the bulletin board.

3.3. Security Properties and Scope of Fairness

Under our assumptions,
| T corr | ≤ u − t < t ,
and therefore the adversary does not possess enough secret-key shares to decrypt the ballots of honest voters or the aggregate tally before the tally phase begins. Hence, the proposed voting protocol provides a limited fairness property in the following sense: any intermediate aggregate tally—that is, a tally computed from an incomplete set of ballots—remains hidden until the Voting phase has ended and the protocol has transitioned to the Tally phase. This property prevents early information about an intermediate tally from influencing voters who have not yet cast their ballots.
After the Voting phase has ended and the protocol has transitioned to the Tally phase, however, an adversary controlling
c = | T corr |
trustees may combine its own shares with the first t − c shares produced by honest trustees and obtain the final tally before t honest decryption shares have been published and the tally has become publicly available. Therefore, the protocol does not provide strong fairness—that is, it does not guarantee that all parties obtain the aggregate tally simultaneously.
The absence of strong fairness means that, after the Voting phase has ended, some parties may obtain the final tally before it becomes publicly available, but only after voting has already closed. Therefore, this information cannot affect the submitted ballots, because ballots can no longer be changed after the end of the Voting phase. However, this property may be undesirable in applications in which even short-lived early access to the result can provide an economic or strategic advantage. Such applications require an additional simultaneous-release mechanism, which is outside the scope of this work.
The adversary also cannot prevent computation or publication of the aggregate tally by withholding the shares of corrupted trustees. Indeed, under our assumption,
| T honest | ≥ t ,
and therefore t honest trustees can generate all decryption shares required for the threshold decryption of the aggregate tally without the participation of corrupted trustees.
The privacy guarantee for honest voters means that the protocol does not reveal information about their rankings beyond what can be inferred from the final aggregate tally and other public data. It does not prevent inferences that logically follow from the published tally together with votes voluntarily disclosed by corrupted voters.

4. The Proposed Voting Protocol

4.1. The Voting Scheme

The sets of voters, trustees, and alternatives are defined in Section 3.1.
For the purpose of formal description, we further introduce the following notation:
–
s ( i ) – the stake assigned to the i-th voter, where i ∈ [ n ] ;
–
pk ∈ G – the public encryption key used for ballot encryption, generated by the functionality F DKG t , u ;
In our scheme for each voter V ( k ) , their vote v ( k ) is represented by a permutation σ ( k ) : [ m ] → [ m ] —that is, a bijective mapping that encodes the alternatives ranking. The value σ ( k ) ( j ) corresponds to the rank assigned to alternative A ( j ) : σ ( k ) ( j ) = m means that A ( j ) is the most preferred, while σ ( k ) ( j ) = 1 means that A ( j ) is the least preferred. Here, m denotes both the number of alternatives and, since we consider complete rankings, the number of available rank values. The rank domain is [ m ] = { 1 , … , m } , with larger values representing stronger preference. Thus, rank m is assigned to the most preferred alternative, rank m − 1 to the next one, and so forth, while rank 1 is assigned to the least preferred alternative. Since σ ( k ) is a permutation, every rank in [ m ] is assigned exactly once. Equivalently, the vote of V ( k ) is:
v ( k ) = ( v 1 ( k ) , … , v m ( k ) ) = ( σ ( k ) ( 1 ) , … , σ ( k ) ( m ) ) .
To represent v ( k ) we use the corresponding permutation matrix P ( k ) of size m × m with entries in { 0 , 1 } , where each row and each column contains exactly one “1”:
P ( k ) = p i j ( k ) i , j = 1 m , p i j ( k ) ∈ { 0 , 1 } .
In this representation, the i-th row corresponds to the alternative A ( i ) , and  p i j ( k ) = 1 indicates that the voter V ( k ) has assigned the rank j to the alternative A ( i ) .
For example, let m = 4 and suppose that a voter orders the alternatives as:
A ( 3 ) ≻ A ( 1 ) ≻ A ( 4 ) ≻ A ( 2 ) .
According to the rank convention above, the corresponding vote vector is:
v = ( 3 , 1 , 4 , 2 ) ,
meaning that A ( 1 ) receives rank 3, A ( 2 ) rank 1, A ( 3 ) rank 4, and  A ( 4 ) rank 2. The corresponding permutation matrix is:
P = 0 0 1 0 1 0 0 0 0 0 0 1 0 1 0 0 .
Each row contains exactly one nonzero entry because every alternative receives one rank, while each column contains exactly one nonzero entry because every rank is used once. In particular, the component-wise sum of the rows is:
( 1 , 1 , 1 , 1 ) .
The Borda count is a positional voting rule in which each rank is assigned a numerical score and the scores obtained by each alternative are summed over all ballots.
The same rank values are used as positional scores during tallying. Namely, we use the linear scoring rule: score ( j ) = j for j ∈ [ m ] . Hence, for a voter with stake s ( k ) , an alternative assigned rank j contributes j · s ( k ) to its aggregate score. The most preferred alternative therefore contributes m · s ( k ) , whereas the least preferred one contributes s ( k ) . This scoring convention differs from the standard Borda vector ( m − 1 , m − 2 , … , 0 ) only by an additive constant and therefore induces the same ordering of the alternatives.
The corresponding vote-encoding algorithm Encode , shown in Figure 1, converts the voter’s rank assignment into the binary permutation-matrix representation described above. The resulting matrix serves as the plaintext representation of the ballot.
Figure 1. The encoding algorithm Encode .
To preserve voter privacy, the permutation matrix is not published in plaintext. Instead, each of its rows is encrypted component-wise using Lifted ElGamal. Since the entries of the matrix are hidden, ballot validity must be established without revealing the underlying ranking. We achieve this using two complementary checks.
First, for every encrypted row w i , the voter provides a NIZK unit-vector proof NIZK U V . Successful verification proves, in zero knowledge, that the plaintext underlying this row is a vector in { 0 , 1 } m containing exactly one 1. Consequently, every alternative is assigned exactly one rank. This condition alone, however, does not prevent two different alternatives from receiving the same rank, because the unique 1 in two different rows could occur in the same column.
Second, we exploit the additive homomorphism of Lifted ElGamal to check the columns jointly. The encrypted rows are multiplied component-wise, producing an encryption of their component-wise plaintext sum. The voter provides the aggregate randomness r sum used in this encryption, so that the verifier can check that the resulting ciphertext vector equals Enc pk ( 1 , r sum ) , where 1 = ( 1 , … , 1 ) . Since every row has already been proven to be a unit vector, this all-ones condition implies that every column contains exactly one 1. Thus, every alternative receives exactly one rank and every rank is used exactly once, which is precisely the definition of a permutation matrix.
The complete ballot-encryption procedure is given in Figure 2, while encrypted-ballot verification is described in Figure 3.
Figure 2. Ballot encryption algorithm.
Figure 3. Ballot verification algorithm.
The full description of the voting protocol Π V o t e t , u , m , n is presented in Figure 4. The protocol operates in the { F BLOCKCHAIN , F DKG t , u } -hybrid setting. The corresponding auxiliary functionalities are defined and discussed in the next subsection.
Figure 4. The voting protocol Π V o t e t , u , m , n .

4.2. Security Modeling

We now formalize the security properties of the protocol described above within the UC framework. We first define the corresponding ideal voting functionality and then specify the auxiliary functionalities used in the real/hybrid execution.
Ideal world. In the ideal world execution, the election is carried out by the ideal functionality F Vote t , u , m , n . Trustees T and voters V submit their commands directly to this functionality, where ( t , u ) defines the trustee threshold. Throughout the protocol execution, all commands issued by T and V are processed by F Vote t , u , m , n . External inputs are provided by the environment Z to the corresponding voters and trustees; in the ideal execution, their dummy parties forward these commands to F Vote t , u , m , n . The functionality also notifies the adversary about selected protocol events and may be influenced by the simulator S to trigger specific actions. The full description of F Vote t , u , m , n is given in Figure 5. The functionality proceeds through three consecutive phases: Preparation, Voting, and Tally; the condition for the transition from Voting to Tally is specified below.
Figure 5. Ideal functionality F Vote t , u , m , n .
Preparation phase. During this phase, every trustee T ( i ) ∈ T registers with the ideal functionality F Vote t , u , m , n by submitting (Init, sid). The functionality proceeds to the voting phase only after all trustees have completed this initialization step.
Voting phase. During the voting phase, each voter V ( i ) ∈ V submits their choice v ( i ) to the ideal functionality by sending the message (Cast, sid, v ( i ) , s ( i ) ) to F Vote t , u , m , n . The individual voting choice v ( i ) remains hidden and is revealed only in the case where at least t trustees are corrupted.
Transition from Voting to Tally. In the formal UC model, satisfaction of the public condition for closing the voting phase is represented by (CloseVoting, sid) messages from the trustees. After receiving such messages from t distinct trustees, the functionality stops accepting Cast messages, treats the current ballot set ϕ as final, and transitions to the Tally phase.
Tally phase. After the functionality has transitioned to the Tally phase, the trustees T ( i ) ∈ T request the opening of the voting result by submitting (Tally, sid) to F Vote t , u , m , n . Once at least t such requests have been received, any party may obtain the final outcome by querying the functionality with (ReadTally, sid). The possibility that the adversary may obtain the tally before it becomes publicly available, and the resulting limitation on fairness, are discussed in Section 3.3. The vote-validity checking algorithm validateAlg and the tally computation algorithm TallyAlg are specified in Figure 6 and Figure 7, respectively.
Figure 6. The vote validity checking algorithm validateAlg .
Figure 7. The tally algorithm TallyAlg .
  • Real/hybrid-world. In the real/hybrid execution setting, the proposed voting protocol is supported by two auxiliary ideal functionalities: the bulletin board functionality F BLOCKCHAIN and the threshold key generation functionality F DKG t , u . Their roles are outlined below.
  • Blockchain-based bulletin-board ideal functionality. We use the ideal functionality F BLOCKCHAIN introduced in [21] and shown in Figure 8. In the original construction, this functionality models a blockchain-based public ledger. In the context of electronic voting, a blockchain can be viewed as one possible realization of a public append-only bulletin board, providing a common public view of published data together with append-only and auditability properties [22,23]. Our protocol does not rely on the full infrastructure of a particular blockchain platform; instead, it uses F BLOCKCHAIN only through the bulletin-board properties required for publishing election parameters, encrypted ballots, validity proofs, and final tally data.
    Figure 8. Ideal functionality F BLOCKCHAIN [ succ ] .
Because F BLOCKCHAIN records each submitted item together with the identity of the submitting party, a ballot submitted by voter V ( i ) is associated with the registered public key pk V ( i ) and hence with stake s ( i ) . Multiple ballot records under the same registered public key may remain in the append-only history. For tallying, however, only the most recent record under that key that precedes the end of the voting phase and passes VerifyBallot is included in B final .
The functionality is parameterized by a predicate succ, which determines whether a newly submitted record is consistent with the current ledger state and can therefore be appended.
For each voting session, the bulletin board preserves the order of published records and identifies the party that submitted each record. Therefore, the t-th CloseVoting record submitted by a distinct trustee uniquely determines the end of the Voting phase and fixes a common cutoff in the record sequence. For each registered voter public key, only its most recent ballot preceding this cutoff and passing VerifyBallot is included in the set aggregated to compute the voting result.
Ledger entries are addressed by an identifier i d . Besides the usual Read and Write commands, F BLOCKCHAIN provides a membership query “∈”, allowing a party to check whether a particular value has already been recorded.
  • Distributed key generation ideal functionality. The public encryption key used for ballot encryption is generated by the threshold key-generation functionality F DKG t , u  [24], shown in Figure 9. The functionality is invoked by the trustee set T : = { T 1 , … , T u } and outputs a public key pk for the Lifted ElGamal encryption scheme. The associated secret key sk is not given to any single trustee; instead, it is distributed among the trustees according to a ( t , u ) threshold access structure. As a result, decryption of the final encrypted tally requires cooperation of at least t trustees.
    Figure 9. Ideal functionality F DKG t , u .
For the purposes of the threshold-decryption correctness proofs used in this work, we extended the interface of F DKG t , u only with public access to the verification values v k i = g sk i corresponding to the generated secret-key shares. These values were used solely to verify trustees’ partial decryption contributions and did not change the underlying key-generation or share-distribution procedure of [24].
Definition 1
(UC-realization). Let EXEC Π , A , Z represent the output observed by the environment Z when it interacts with the parties running the real-world protocol Π in the presence of an adversary A . Similarly, let EXEC F , S , Z denote the output produced by Z when it interacts with the ideal functionality F , a simulator S modeling the ideal-world adversary, and a set of dummy parties. We say that the protocol Π UC-realizes the functionality F if, for every PPT adversary A , there exists a PPT simulator S such that, for all PPT environments Z , the following indistinguishability condition holds:
EXEC Π , A , Z ≈ EXEC F , S , Z .

4.3. Security

We now state the UC security guarantee achieved by the proposed protocol; the formal statement appears in Theorem 1.
Theorem 1.
Let t , u , m , n = poly ( λ ) with u / 2 < t ≤ u . Let A be a static PPT adversary that may corrupt an arbitrary number of voters and at most u − t trustees. The protocol Π Vote t , u , m , n presented in Figure 4 UC-realizes the ideal functionality F Vote t , u , m , n in the { F BLOCKCHAIN , F DKG t , u } -hybrid model and in the random-oracle model, under the DDH assumption.
Proof. 
The proof follows the standard UC simulation approach and proceeds through a sequence of hybrid experiments H 0 , H 1 , H 2 , H 3 ; the full proof is given in Supplementary Materials, Section S2. Hybrid H 0 is the real execution.
In hybrid H 1 , the correctness proofs attached to the honest trustees’ partial decryptions are replaced by simulated proofs. The zero-knowledge property of the partial-decryption correctness proof makes the transition from H 0 to H 1 computationally indistinguishable.
In hybrid H 2 , the honest trustees’ partial-decryption contributions are replaced by a consistent threshold-decryption transcript generated from the tally value τ supplied by the ideal functionality and conditioned on the shares held by the corrupted trustees. Under the DDH assumption, the resulting public transcript is computationally indistinguishable from an honestly generated threshold-decryption transcript. Hence, H 1 and H 2 are computationally indistinguishable.
In hybrid H 3 , the ballots of the honest voters are replaced by simulated ballots. In a real ballot, each column contains exactly one plaintext component equal to one, whose position is determined by the voter’s ranking, while all the other components are zero. In a simulated ballot, this unique one is placed in the first position of every column, and all the remaining components are set to zero. Thus, every plaintext column still sums to one. The disclosed aggregate encryption randomness has the same distribution in both cases, and the resulting public homomorphic relation is therefore unchanged. Under the DDH assumption, and consequently the IND-CPA security of Lifted ElGamal, the ciphertexts hide the position of the nonzero component within each column. Together with the simulation property of the unit-vector NIZK, this makes the transition from H 2 to H 3 computationally indistinguishable.
In H 3 , the threshold-decryption transcript is generated in the same manner as in H 2 , but for the aggregate ciphertext resulting from the simulated ballots. The resulting adversarial view coincides with the simulated ideal-world view. Therefore, by transitivity of computational indistinguishability, the real and ideal executions are computationally indistinguishable.
The NIZK proofs are obtained from the corresponding Σ -protocols by applying the Fiat–Shamir heuristic in the random-oracle model. In the UC security proof, the simulator can determine the random-oracle responses to selected queries so as to generate simulated NIZK proofs that are accepted by the verifier without knowledge of the corresponding witnesses. For the unit-vector NIZK, the public commitment key ck is used as the common reference string (CRS); it is chosen so that no party knows the discrete-logarithm relation between g and ck .    □

5. Performance

For the performance evaluation, we implemented the core encrypted-ballot processing algorithms in the Rust programming language. The  main benchmark series focuses on encrypted-ballot construction and complete ballot verification. To complement these per-ballot measurements, we also report simulation results for homomorphic aggregation, scaling with the number of voters, and the implemented committee-based tally-decryption path.
The implementation used the Ristretto255 group, which is based on curve25519-dalek version 4. The benchmark executable was compiled and run in release mode. All measurements were performed on a workstation equipped with an Intel Core i7-1165G7 processor clocked at 2.80 GHz, 32 GB of RAM, and running Ubuntu 20.04.4 LTS. For each m ∈ { 2 , 4 , 8 , 16 , 32 , 64 , 128 } , 1000 complete ballots were generated and verified sequentially. Each individual ballot-generation and verification operation was timed using Rust’s std::time::Instant, and Table 2 reports the arithmetic mean per ballot over these 1000 operations. No explicit application-level parallelization was used in the measured routines.
Table 2. Performance of encrypted-ballot construction and verification for different numbers of alternatives. Times are arithmetic means per ballot over 1000 sequential ballots; payload values include the cryptographic components specified in the text.
Ballot-generation time included construction and encryption of the m × m permutation matrix, generation of the m NIZK unit-vector proofs, and computation of the length-m aggregate-randomness vector. Complete ballot verification included verification of all m unit-vector proofs, component-wise homomorphic aggregation of the encrypted rows, and verification that the aggregate encrypted the all-ones vector under the disclosed aggregate randomness. Thus, the timings in Table 2 correspond to the complete ballot-generation and ballot-verification procedures implemented by the prototype.
The reported size corresponds to the cryptographic payload of a ballot, rather than to end-to-end network traffic. In the implementation, both a compressed Ristretto255 group element and a scalar occupied 32 bytes. Consequently, a Lifted ElGamal ciphertext, which consists of two group elements, occupies 64 bytes.
Let ℓ = ⌈ log 2 m ⌉ . The unit-vector proof operated on a vector whose length was padded to the next power of two and therefore consisted of ℓ proof levels. At each level, the proof contained an announcement composed of three group elements (96 bytes), one Lifted ElGamal ciphertext (64 bytes), and a response composed of three scalars (96 bytes). In addition, the proof contained one final scalar of 32 bytes. Hence, the size of a single unit-vector proof was
S UV ( m ) = ( 96 + 64 + 96 ) ℓ + 32 = 256 ⌈ log 2 m ⌉ + 32 bytes .
A complete encrypted ballot contained an m × m matrix of Lifted ElGamal ciphertexts, m unit-vector proofs—one for each encrypted row—and a length-m vector of aggregate encryption randomness. Its cryptographic payload was therefore
S ballot ( m ) = 64 m 2 ︸ encrypted permutation matrix + m 256 ⌈ log 2 m ⌉ + 32 ︸ unit - vector proofs + 32 m ︸ aggregate - randomness vector = 64 m 2 + 256 m ⌈ log 2 m ⌉ + 64 m bytes .
Thus, the encrypted-matrix data had size O ( m 2 ) , the ballot-validity proof data had size O ( m log m ) , and the aggregate-randomness data had size O ( m ) . The total cryptographic ballot payload therefore remained O ( m 2 ) .
This calculation included the cryptographic data required for ballot verification but excluded implementation- and transport-specific overheads, such as transaction and signature data, bulletin-board metadata, and container-serialization overhead. Sizes are reported in KiB, where 1 KiB = 1024 bytes.
The theoretical O ( m 2 ) ballot-generation complexity followed from the need to encrypt m 2 matrix entries, together with the lower-order contribution of m logarithmic-size unit-vector proofs. The measurements in Table 2 and Figure 10a are consistent with this quadratic scaling. Ballot verification likewise processed all m unit-vector proofs and performed component-wise operations over the m × m encrypted matrix; the measured verification times in Figure 10b are also consistent with O ( m 2 ) growth. Verification remained faster than generation throughout the tested range.
Figure 10. (a) Mean ballot-generation time. (b) Mean complete ballot-verification time.
Figure 11 shows the reported cryptographic ballot payload. Its growth was dominated by the m 2 Lifted ElGamal ciphertexts, whereas the aggregate unit-vector proof data grew as O ( m log m ) . For m = 32 , the reported payload was 106 KiB; at m = 64 and m = 128 , it increased to 356 KiB and 1256 KiB, respectively. These values describe the cryptographic ballot components defined above and should not be interpreted as complete network or bulletin-board traffic.
Figure 11. Cryptographic ballot payload as a function of the number of alternatives. Values are reported in KiB and exclude application-layer and serialization overheads.
Let n denote the number of valid ballots included in the tally. The homomorphic tally computation had time complexity O ( n m 2 ) , because m 2 ciphertexts were processed for each ballot. In the formal threshold protocol, decryption of the m aggregate ciphertexts from t valid decryption contributions requires O ( t m ) share-processing operations, followed by m bounded discrete-logarithm recoveries. The current prototype simulation used all u committee-member shares, so its measured committee-decryption cost scaled with u rather than with the minimum threshold t.
For m = 32 , additional simulation runs gave homomorphic-aggregation times of 4.46 ms, 43.38 ms, and 444.57 ms for n = 10 , 100, and 1000 voters, respectively. The corresponding total sequential ballot-validation times were 0.362 s, 3.552 s, and 39.565 s, while the validation time per ballot remained approximately 35–40 ms. Thus, at fixed m, both the total validation work and homomorphic aggregation scaled approximately linearly with n.
The corresponding scaling measurements are summarized in Table 3.
Table 3. Additional scaling measurements for m = 32 . Each row corresponds to one simulation run.
The additional committee-based decryption measurements used n = 10 and plaintext bound M = 10 , so that bounded-DLP recovery did not dominate the timing. The measured wall-clock time includes generation of partial decryptions by all simulated committee members, verification of DLEQ correctness proofs, combination of the validated shares, and final plaintext recovery. The results are shown in Table 4. Each aggregation/decryption configuration in these additional simulation tables was measured in one simulation run; the large-bound DLP benchmark reported in Section 2.2 used repeated measurements and is reported separately.
Table 4. Committee-based decryption measurements for n = 10 and plaintext bound M = 10 .
These measurements characterize the implemented committee-based decryption path, not a complete deployed t-of-u threshold system, because the current simulation required shares from all u committee members. They also do not include full DKG, bulletin-board/network latency, or other application-layer overheads.
For an indicative comparison, Table 5 reports performance values published for other protocols. This is not a normalized direct benchmark comparison: the protocols use different cryptographic mechanisms, ballot models, software platforms, and hardware, and they provide different privacy properties. The values should therefore be treated only as practical reference points and not as evidence that one protocol is “faster” than another.
Table 5. Indicative performance figures reported for related protocols and the present implementation.
The practical applicability of the protocol is governed by two different scale parameters. The cost of generating, verifying, and transmitting an individual ballot grows quadratically with the number of alternatives m, because each vote is represented by an m × m permutation matrix. At fixed m = 32 , the additional simulation runs for n = 10 , 100, and 1000 show approximately linear growth of total ballot-validation work and homomorphic aggregation with the number of voters. These measurements characterize local cryptographic processing in the prototype; they do not include bulletin-board/network latency, distributed DKG, or a deployed threshold-decryption workflow and therefore do not establish scalability to nationwide elections with very large electorates. The present results are most directly informative for applications with a moderate number of alternatives and moderate voting scale, such as ranking projects, grant applications, committee members, or proposals in decentralized governance systems.
The main limitation of the protocol is the quadratic dependence of ballot size and ballot-processing time on m. Accordingly, the proposed construction is intended primarily for voting scenarios with a moderate number of alternatives.
Overall, the combined measurements support the theoretical complexity analysis: per-ballot construction and verification grow approximately quadratically with m, while homomorphic aggregation and total ballot-validation work grow approximately linearly with n for fixed m. The reported simulation results also characterize the implemented committee-based decryption path. They do not, however, constitute an end-to-end benchmark of a deployed voting system, because full DKG, bulletin-board/network latency, application-layer processing, and a deployed t-of-u threshold workflow remain outside the measured scope.

6. Conclusions

This work presents a UC-secure protocol for privacy-preserving preferential voting with verifiable encrypted ballots. Complete rankings are represented as encrypted permutation matrices. Ballot validity is established by applying the NIZK unit-vector proof of Zhang et al. [4] to each row and by verifying the column condition through a joint homomorphic check. This reduces the aggregate size of the ballot-validity proofs to O ( m log m ) , although the total ballot size remains O ( m 2 ) because the matrix contains m 2 ciphertexts. The protocol further supports stake-weighted tallying and threshold decryption, so that individual rankings remain encrypted and only the aggregate result is revealed. These guarantees are formalized through F Vote t , u , m , n and proved in the universal composability framework under the stated adversarial and threshold assumptions.
The experimental evaluation included the main per-ballot construction and complete ballot-verification benchmarks together with additional simulation measurements for homomorphic aggregation, scaling with the number of voters, and the implemented committee-based decryption path. The measured generation and verification times and the reported cryptographic ballot payload were consistent with the theoretical O ( m 2 ) scaling induced by the m × m permutation-matrix representation, while the aggregate ballot-validity proof data had size O ( m log m ) . For 32 alternatives, the mean generation time was 87 ms, the mean verification time was 36 ms, and the reported cryptographic ballot payload was 106 KiB. At fixed m = 32 , the additional simulation runs for n = 10 , 100, and 1000 were consistent with approximately linear scaling of total validation work and homomorphic aggregation in the number of voters. These measurements indicate practical cryptographic processing costs for moderate problem sizes, while the increasing computational and payload costs limit scalability for larger alternative sets. The additional simulation measurements characterize homomorphic aggregation and the implemented committee-based decryption path; however, they do not constitute an end-to-end protocol benchmark and do not include full DKG, bulletin-board/network latency, or a deployed t-of-u threshold workflow.
Future work includes reducing the size of the encrypted ballot and the associated computational and communication costs, extending the protocol to other preferential-voting rules, and studying its use in governance mechanisms for decentralized electricity markets and energy communities. In the latter setting, the protocol may support confidential collective ranking of suppliers, energy projects, demand-response programs, or market-rule proposals; the design of privacy-preserving auction clearing remains a separate problem.

Supplementary Materials

The following supporting information can be downloaded at https://www.mdpi.com/article/10.3390/a19100874/s1, Section S1: Zero-Knowledge Proofs/Arguments; Section S2: Security Proof. The supplementary materials cite additional references related to zero-knowledge proofs, computational witness-extended emulation, the Fiat–Shamir transformation, the random oracle model, and the unit-vector NIZK argument of knowledge [4,19,25,26,27,28].

Author Contributions

Conceptualization, L.K. and V.A.; Methodology, L.K. and V.A.; Software, A.N. and O.B.; Validation, O.B.; Formal analysis, L.K.; Investigation, O.B. and V.A.; Resources, A.N.; Data curation, A.N.; Writing—original draft, L.K., A.N., O.B. and V.A.; Writing—review and editing, L.K., A.N., O.B. and V.A.; Visualization, A.N.; Supervision, L.K. and V.A. All authors have read and agreed to the published version of the manuscript.

Funding

This research was conducted as part of the project “Development of Distributed Energy in the Context of the Ukrainian Electricity Market Using Digitalization Technologies and Systems”, implemented under the state budget program “Support for Priority Scientific Research and Scientific-Technical (Experimental) Developments of National Importance” (CPCEL 6541230) at the National Academy of Sciences of Ukraine.

Institutional Review Board Statement

Not applicable.

Data Availability Statement

The benchmark data generated during the performance evaluation are available from the corresponding author upon reasonable request.

Acknowledgments

During the preparation and revision of this manuscript, the authors used ChatGPT (OpenAI, GPT-5.6 Sol) as an editorial and consistency-checking aid to improve English-language grammar, style, organization, and clarity, and to review the consistency of terminology and mathematical notation. The tool was not used to generate experimental data or to autonomously establish scientific results. All AI-assisted suggestions, including those concerning the presentation of mathematical arguments, were critically reviewed and independently verified by the authors, who take full responsibility for the content of the publication.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Passarelli, G. Preferential Voting: Theoretical Approach and Empirical Consequences. In Preferential Voting Systems; Palgrave Macmillan: Cham, Switzerland, 2020; pp. 1–18. [Google Scholar] [CrossRef] [Scilit]
  2. Harfst, P.; Bol, D.; Laslier, J.-F. Designing Preference Voting. Elect. Stud. 2021, 69, 102262. [Google Scholar] [CrossRef] [Scilit]
  3. Canales, D.A. A Model of k-Winners. Games 2025, 16, 6. [Google Scholar] [CrossRef] [Scilit]
  4. Zhang, B.; Oliynykov, R.; Balogun, H. A Treasury System for Cryptocurrencies: Enabling Better Collaborative Intelligence. In Proceedings of the Network and Distributed System Security (NDSS) Symposium 2019; Internet Society: San Diego, CA, USA, 2019. [Google Scholar] [CrossRef] [Scilit]
  5. Aditya, R.; Boyd, C.; Dawson, E.; Viswanathan, K. Secure e-Voting for Preferential Elections. In EGOV 2003; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2003; Volume 2739, pp. 246–249. [Google Scholar] [CrossRef] [Scilit]
  6. Yang, X.; Yi, X.; Nepal, S.; Kelarev, A.; Han, F. A Secure Verifiable Ranked Choice Online Voting System Based on Homomorphic Encryption. IEEE Access 2018, 6, 20506–20519. [Google Scholar] [CrossRef] [Scilit]
  7. Onur, C.; Yurdakul, A. ElectAnon: A Blockchain-Based, Anonymous, Robust, and Scalable Ranked-Choice Voting Protocol. Distrib. Ledger Technol. Res. Pract. 2023, 2, 19. [Google Scholar] [CrossRef] [Scilit]
  8. Xia, Y.; Li, M.; Jiang, Q.; Sun, W.; Xue, Y.; Xue, K. AranVoting: Ensuring Anonymity and Fairness in Blockchain-Based Ranked-Choice Voting. In Proceedings of the 2025 IEEE 31st International Conference on Parallel and Distributed Systems (ICPADS), Hefei, China, 14–18 December 2025; pp. 1–8. [Google Scholar] [CrossRef] [Scilit]
  9. Kovalchuk, L.; Rodinko, M.; Oliynykov, R.; Nastenko, A.; Kaidalov, D.; Nelson, K. Enhancing Decentralization in Blockchain Decision-Making Through Quadratic Voting and Its Generalization. arXiv 2025, arXiv:2504.12859. Available online: https://arxiv.org/abs/2504.12859 (accessed on 8 October 2026).
  10. Kovalchuk, L.; Zhang, B.; Nastenko, A.; Yin, Z.; Oliynykov, R.; Rodinko, M. Universally Composable On-Chain Quadratic Voting for Liquid Democracy. IEEE Trans. Dependable Secur. Comput. 2026, 23, 9259–9271. [Google Scholar] [CrossRef] [Scilit]
  11. Ackermann, L.; Arapinis, M.; Georgiou, P.; Lamprou, N.; Mareková, L.; Zacharias, T. E-cclesia: Universally Composable Self-Tallying Elections over Anonymous Broadcast. IACR Commun. Cryptol. 2025, 2, 8. [Google Scholar] [CrossRef] [Scilit]
  12. Mitrea, D.; Cioara, T.; Anghel, I. Privacy-Preserving Computation for Peer-to-Peer Energy Trading on a Public Blockchain. Sensors 2023, 23, 4640. [Google Scholar] [CrossRef] [Scilit]
  13. Wang, B.; Xu, L.; Wang, J. A Privacy-Preserving Trading Strategy for Blockchain-Based P2P Electricity Transactions. Appl. Energy 2023, 335, 120664. [Google Scholar] [CrossRef] [Scilit]
  14. Zhang, C.; Yang, Y.; Wang, Y.; Qiu, J.; Zhao, J. Auction-Based Peer-to-Peer Energy Trading Considering Echelon Utilization of Retired Electric Vehicle Second-Life Batteries. Appl. Energy 2024, 358, 122592. [Google Scholar] [CrossRef] [Scilit]
  15. Boneh, D. The Decision Diffie–Hellman Problem. In Algorithmic Number Theory; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 1998; Volume 1423. [Google Scholar] [CrossRef] [Scilit]
  16. ElGamal, T. A Public-Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms. IEEE Trans. Inf. Theory 1985, 31, 469–472. [Google Scholar] [CrossRef] [Scilit]
  17. AdaStat. Cardano Epochs. Epoch 652 Reports Active Stake of Approximately 21.42 Billion ADA. Available online: https://adastat.net/epochs (accessed on 23 September 2026).
  18. Tsiounis, Y.; Yung, M. On the Security of ElGamal Based Encryption. In Public Key Cryptography (PKC ’98); Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 1998; Volume 1431, pp. 117–134. [Google Scholar] [CrossRef] [Scilit]
  19. Bellare, M.; Rogaway, P. Random Oracles Are Practical: A Paradigm for Designing Efficient Protocols. In Proceedings of the 1st ACM Conference on Computer and Communications Security (CCS ’93); ACM: Fairfax, VA, USA, 1993; pp. 62–73. [Google Scholar] [CrossRef] [Scilit]
  20. Canetti, R. Universally Composable Security: A New Paradigm for Cryptographic Protocols. Cryptology ePrint Archive. Report 2000/067. 2000. Available online: https://eprint.iacr.org/2000/067 (accessed on 8 October 2026).
  21. Cheng, R.; Zhang, F.; Kos, J.; He, W.; Hynes, N.; Johnson, N.; Juels, A.; Miller, A.; Song, D. Ekiden: A Platform for Confidentiality-Preserving, Trustworthy, and Performant Smart Contracts. In Proceedings of the 2019 IEEE European Symposium on Security and Privacy, Stockholm, Sweden, 17–19 June 2019. [Google Scholar] [CrossRef] [Scilit]
  22. Choudhuri, A.R.; Green, M.; Jain, A.; Kaptchuk, G.; Miers, I. Fairness in an Unfair World: Fair Multiparty Computation from Public Bulletin Boards. In Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security (CCS ’17); ACM: Dallas, TX, USA, 2017; pp. 719–728. [Google Scholar] [CrossRef] [Scilit]
  23. Suwito, M.; Tama, B.; Santoso, B.; Dutta, S.; Tan, H.; Yoshifumi, U.; Sakurai, K. A Systematic Study of Bulletin Board and Its Application. In Proceedings of the 2022 ACM Asia Conference on Computer and Communications Security (ASIA CCS ’22); ACM: Nagasaki, Japan, 2022; pp. 1213–1215. [Google Scholar] [CrossRef] [Scilit]
  24. Wikström, D. Universally Composable DKG with Linear Number of Exponentiations. In Security in Communication Networks; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2005; Volume 3352, pp. 263–277. [Google Scholar] [CrossRef] [Scilit]
  25. Goldwasser, S.; Micali, S.; Rackoff, C. The Knowledge Complexity of Interactive Proof Systems. SIAM J. Comput. 1989, 18, 186–208. [Google Scholar] [CrossRef] [Scilit]
  26. Bünz, B.; Bootle, J.; Boneh, D.; Poelstra, A.; Wuille, P.; Maxwell, G. Bulletproofs: Short Proofs for Confidential Transactions and More. In Proceedings of the 2018 IEEE Symposium on Security and Privacy; IEEE: San Francisco, CA, USA, 2018; pp. 315–334. [Google Scholar] [CrossRef] [Scilit]
  27. Bayer, S.; Groth, J. Efficient Zero-Knowledge Argument for Correctness of a Shuffle. In Proceedings of EUROCRYPT 2012; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2012; Volume 7237, pp. 263–280. [Google Scholar] [CrossRef] [Scilit]
  28. Fiat, A.; Shamir, A. How to Prove Yourself: Practical Solutions to Identification and Signature Problems. In Proceedings of CRYPTO 1986; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 1987; Volume 263, pp. 186–194. [Google Scholar] [CrossRef] [Scilit]
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Article Metrics

Citations

Article Access Statistics

Multiple requests from the same IP address are counted as one view.