Next Article in Journal
A Study on Machine Learning-Enhanced Roadside Unit-Based Detection of Abnormal Driving in Autonomous Vehicles
Next Article in Special Issue
Multisource Sparse Inversion Localization with Long-Distance Mobile Sensors
Previous Article in Journal
A Time Series-Based Approach to Elastic Kubernetes Scaling
Previous Article in Special Issue
A Privacy-Preserving Testing Framework for Copyright Protection of Deep Learning Models
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Efficient Electronic Voting System Based on Homomorphic Encryption

1
The State Key Laboratory of Integrated Service Networks, Xidian University, Xi’an 710071, China
2
The Science and Technology on Communication Security Laboratory, Chengdu 610041, China
*
Author to whom correspondence should be addressed.
Electronics 2024, 13(2), 286; https://doi.org/10.3390/electronics13020286
Submission received: 13 December 2023 / Revised: 4 January 2024 / Accepted: 5 January 2024 / Published: 8 January 2024
(This article belongs to the Special Issue Data Privacy and Cybersecurity in Mobile Crowdsensing)

Abstract

:
In the last decade, E-voting has received great attention due to its advantages in efficiency and accuracy. Fan et al. presented a novel E-voting system named HSE-Voting by utilizing homomorphic signcryption. The HSE-Voting system was claimed to gain a provable security goal under the standard proof. In this paper, we illustrate that their scheme may suffer from some potential security issues. On the one hand, the voting information could be recovered by the authentication center (AC). On the other hand, any malicious voter could disrupt the voting system undetected by locally modifying his ballot. In order to increase the resilience of the voting system to risks, an improvement of the HSE-Voting system is developed. Our improved system fixes the above security weaknesses but increases the computation cost on the AC side by a small amount. In addition, the proposed scheme satisfies voter anonymity, ballot privacy, and verifiability of election results.

1. Introduction

E-voting refers to voting that allows voters to cast their votes through the internet. Compared with traditional elections, E-voting not only saves a lot of ballot printing, transportation, and manual counting costs but also improves voting efficiency and convenience. For example, the 2020 US presidential election coincides with the national public health security problem. If the traditional voting method is adopted, it will inevitably cause a large number of people to gather, while electronic voting can solve this problem well. Many countries, including India and Brazil, have used electronic voting technology in many different electoral fields [1].
In 2020, Fan et al. [2] proposed a homomorphic signcryption scheme to construct an E-voting system named HSE-Voting in order to improve the efficiency of E-voting. Due to the integrated design of signcryption, its efficiency has been greatly optimized compared with Yang et al.’s system [3] on the agency side. Furthermore, it gives a comparative security analysis. However, there are some security issues in Fan et al.’s system, such as voter privacy being leaked, and the E-voting system may not properly being completed.
In this paper, we propose two cryptanalytic attacks on Fan et al.’s system [2]. In the first attack algorithm, we show that an honest-but-curious authentication center (AC) can recover the voter’s voting information from the corresponding ballot. In the second attack algorithm, we reveal that malicious voters can disrupt the election process by sending special incorrect ballots. Moreover, in order to enhance the security of the HSE-Voting system, we propose an improved HSE-Voting system by combining the signature and the proof of partial-knowledge protocol (PPK). While avoiding the above security risks, our system also reduces the computation cost on the agency-side compared to the existing work.

1.1. Related Work

Electronic voting [4,5,6] has been one of the key areas of focus for researchers. Over the past decade, many E-voting schemes have been proposed [7,8,9,10]. Most efficient E-voting protocols can be categorized by their approaches into the following types: blind signature [11,12,13], mix-nets [14], and homomorphic encryption [3,11,12,14,15,16,17]. In this subsection, we focus on the homomorphic encryption-based E-voting system.
Homomorphic encryption has been utilized in E-voting systems. The benefit of its homomorphic property is that ballots can be tallied without accessing the content of any ballot [18]. The ElGamal scheme [19] is one of the most widely used homomorphic encryption schemes in electronic voting. For instance, Refs. [3,11,12,14,15,16] exploit ElGamal to encrypt the ballots, thereby constructing an E-voting system with some existing cryptography tools, such as the proof of zero-knowledge [20] and the proof of partial knowledge [21].
In [14], Adida proposed a web-based E-voting system named Helios, which achieved open-audit voting using ElGamal encryption. Helios has strong security. Assuming that there are enough auditors, even if all the authorities collaborate to corrupt the system, there is a high probability of being exposed. Nevertheless, the security of Helios is closely related to the shuffling mechanism. It follows that if the Helios server is corrupted, then the submitted votes may be shuffled incorrectly, or the encrypted votes may be decrypted incorrectly. Furthermore, the performance results reported in [14] demonstrate that there is a large time overhead in the actual application. In an election with only two options in each vote and 500 voters, the Helios program takes more than 8 h.
In [12], the Helios system made several dramatic improvements to form the Helios 2.0 program, which was applied to support a real-world election. Specifically, Helios 2.0 updated the open audit mechanism. However, the key generation and decryption codes of Helios 2.0 are required to be completed by several trusted election committees. In fact, it is difficult to guarantee that the trustees are trusted in real environments. In addition, Helios 2.0 does not optimize its efficiency.
In [3], Yang et al. proposed a ranked choice E-voting system based on homomorphic encryption. Compared with the similar previous work, this system greatly improves the computation efficiency on the voter side. However, in this system, signature and encryption exist independently; the computation cost of the election agency increases rapidly as the number of voters grows. In addition, it also lacks the standardized proof of security.
Yuan et al. proposed an E-Voting scheme [7] based on Paillier homomorphic encryption and decentralization. The scheme utilizes signatures and double-encrypted technologies to secure the ballot information during transmission. In addition, the decentralization character avoids the risks associated with the corruption of a single institution and increases the openness and transparency of the system.
Qu et al. proposed an electronic voting protocol [8] based on the homomorphic signcryption. This protocol utilizes blockchain to make the election procedure public. Benefiting from the decentralized nature of blockchain, their protocol eliminates the requirement for trusted institutions.
In addition, Sheela et al. [9] and Saproo et al. [10] developed E-voting software based on homomorphic encryption, which further promotes the application of E-voting technology in practice.
E-voting represents a complex practical application scenario that necessitates the comprehensive consideration of multiple factors. Beyond safeguarding the privacy of voters’ ballot information as a fundamental requirement, it is imperative to ensure eligibility, accuracy, non-repeatability, reliability, verifiability and so on. Consequently, existing schemes enrich the functionality of the voting system to align with practical demands. On the other hand, there is a need to strike a balance between functionality and efficiency to ensure the practicality of the voting system.

1.2. Organization

Section 2 and Section 3 describe cryptographic tools and Fan et al.’s HSE-Voting system, respectively. Section 4 presents the cryptanalytic algorithm, and Section 5 proposes our improved HSE-Voting system. Section 6 provides the characteristic analysis of our system. The performance analysis is shown in Section 7. Section 8 concludes this paper.

2. Preliminaries

In this section, we introduce the notations and the basics of cryptography used in this paper. In the content described, the Diffie–Hellman problem is the intractability problem on which the security of the improvement scheme is based. We use the ElGamal scheme to protect ballot privacy and use its additive homomorphism to count ballot information. The proof of partial knowledge and proof of zero-knowledge (PZK) are adopted to provide the verifiability of election results. These concepts are important in enhancing the security of the HSE-Voting system.

2.1. Diffie–Hellman Problem

The Diffie–Hellman problem is a difficult problem of cryptography proposed by Whitfield Diffie and Martin Hellman in [22].
Definition 1 
(Computational Diffie–Hellman Assumption, CDH). Considering G is a cyclic group of order q, g is a generator of G and two elements a , b Z q . Given g a and g b , it is computationally intractable to compute the value g a b .
Definition 2 
(Decisional Diffie–Hellman Assumption, DDH). Considering G is a cyclic group of order q, g is a generator of G , three elements a , b , c Z q . The DDH tuple D = g , g a , g b , g a b and random tuple R = g , g a , g b , g c are computationally indistinguishable.

2.2. Elgamal Cryptography

ElGamal cryptography [19] is a well-known homomorphic encryption scheme. We select a safe-prime p of the form p = 2 q + 1 , where q is also a prime. In the remainder of this paper, we consider G is a cyclic group of quadratic residues modulo p. The ElGamal scheme consists of the following three algorithms.
KeyGen: Let g be a generator of G . Randomly choose x Z q , then compute y = g x . Output the key pair ( S K , P K ) as follows.
( S K , P K ) = ( x , y ) .
Enc: Given a message m Z q , randomly choose element r Z q , and encrypt m as follows.
Enc ( m ) = c = ( c 0 , c 1 ) = ( g r , g m y r ) .
Dec: Given the ciphertext c, decrypt the ciphertext as follows.
Dec ( c ) = c 1 / c 0 x = g m ,
where m can be revealed by computing a discrete algorithm.
Homomorphism: We show that the multiplication of Enc ( m 1 ) and Enc ( m 2 ) is a ciphertext corresponding to m 1 + m 2 . Note that
Enc m 1 · Enc m 2 = g r 1 , g m 1 y r 1 · g r 2 , g m 2 y r 2 = g r 1 + r 2 , g m 1 + m 2 y r 1 + r 2 = Enc m 1 + m 2 .

2.3. Proof of Partial Knowledge

In an ElGamal cryptography system, there is a cyclic group of quadratic residues G of order q with a generator g, the public key y = g x , and the secret key is x. Randomly select two plaintexts m 1 , m 2 Z q , compute Enc m 1 = c 0 , c 1 = g r , g m 1 y r . Then, we describe the process of proof of partial knowledge based on the ElGamal scheme [21], in which the prover P can prove to the verifier V that the provided ciphertext is one of Enc ( m 1 ) and Enc ( m 2 ) , but the verifier V cannot determine which plaintext corresponds to the ciphertext.
Firstly, the prover P generates the PPK parameters P P K as Algorithm 1.
Algorithm 1 Generating the PPK verification parameters
Input: 
   c 0 , c 1 , m 1 , m 2 , y
Output: 
   P P K = ( c 0 , c 1 , T 0 , T 1 , T 2 , v 1 , v 2 , s 1 , s 2 )
1:
Prover P:
2:
 Generate e , v 2 Z q .
3:
 Compute s 2 = r · v 2 + e mod q .
4:
 Compute T 0 = g e .
5:
 Compute T 1 = y e .
6:
 Compute T 2 = g m 2 v 2 y s 2 / c 1 v 2 .
7:
 Compute v = hash T 0 | | T 1 | | T 2 | | c 0 | | c 1 .
8:
 Compute v 1 = v 2 v .
9:
 Compute s 1 = r · v 1 + e mod q .
10:
P P K = ( c 0 , c 1 , T 0 , T 1 , T 2 , v 1 , v 2 , s 1 , s 2 )
11:
return  P P K
Then, the prover P sends P P K to the verifier V. After that, the verifier V verifies the correctness of the PPK parameters as Algorithm 2.
If Algorithm 2 outputs true, verifier V believes that the ciphertext is either Enc ( m 1 ) or Enc ( m 2 ) , but the exact value of the plaintext cannot be determined. If the m 2 is chosen to be encrypted, let step 6 in Algorithm 1 be T 2 = g m 1 v 2 y s 2 / c 1 v 2 , and set m 1 = m 2 , m 2 = m 1 for Algorithm 2. More details can be seen in [21].
Algorithm 2 Verifying the PPK parameters
Input: 
   P P K , m 1 , m 2
Output: 
   true or false
1:
Verifier V:
2:
 Verify v 1 v 2 = hash T 0 T 1 T 2 c 0 c 1 .
3:
 Verify g s 1 = T 0 · c 0 v 1 .
4:
 Verify g s 2 = T 0 · c 0 v 2 .
5:
 Verify y s 1 = T 1 · c 1 / g m 1 v 1 .
6:
 Verify y s 2 = T 2 · c 1 / g m 2 v 2 .
7:
If all equations hold, return true; otherwise, return false.

2.4. Proof of Zero-Knowledge

This subsection introduces the preliminary knowledge related to proof of zero-knowledge [20]. As in the previous subsection, this part is still based on the ElGamal cryptography system definition. The process of PZK [20] is described as follows in which the prover P can prove to the verifier V that the return value t and the prover’s public key h = g x have the same exponentiation, i.e., x. However, the verifier V cannot obtain any information about the prover’s secret key s k = x .
Firstly, the verifier V generates and discloses a random parameter a Z q . Then, the prover P generates the PZK parameters as Algorithm 3.
Algorithm 3 Generating the verification parameters
Input: 
   a, h, x
Output: 
   P Z K = ( t , s , v , T 0 , T 1 )
1:
Prover P:
2:
 Generate e Z q .
3:
 Compute t = a x .
4:
 Compute T 0 = g e .
5:
 Compute T 1 = a e .
6:
 Compute v = hash t | | a | | T 0 | | T 1 .
7:
 Compute s = x · v + e mod q .
8:
P Z K = ( t , s , v , T 0 , T 1 )
9:
return  P Z K
After that, the prover P sends PZK parameters P Z K to the verifier V. Then, the verifier V verifies the correctness of the PZK protocol with the parameters.
If Algorithm 4 outputs true, the verifier V trusts the statement of the prover P.
Algorithm 4 Verifying the PZK parameters
Input: 
   a, P Z K
Output: 
   true or false
1:
Verifier V:
2:
 Verify v = hash t | | a | | T 0 | | T 1 .
3:
 Verify g s = T 0 · h v .
4:
 Verify a s = T 1 · t v .
5:
If all equations hold, return true; otherwise, return false.

3. HSE-Voting System Overview

In this section, we briefly introduce the entities and election processes included in the HSE-Voting system [2].

3.1. Entities in the HSE-Voting System

Here, we list all entities involved in the HSE-Voting system.
  • Voters: People who are authorized to vote.
  • Authentication Center: AC takes responsibility for verifying the identification of voters, tallying and other related work in an election. Especially, AC is honest-but-curious.
  • Bulletin Board (B Board): An insert-only bulletin board, which displays all information about the election.
  • Auditors: Auditors are responsible for supervising the voting process and verifying the election result. Furthermore, the auditors are credible.

3.2. Initialization and Registration

In the initialization phase, AC applies the safe parameter λ to generate the parameters p a r a m s = ( G , g , q ) and a key pair ( S K , P K ) , where S K = x 0 , x 1 , x 2 Z q 3 , P K = y 0 , y 1 , y 2 = g x 0 , g x 1 , g x 2 , then publishes p a r a m s and P K on the B Board.
In order to register with the HSE-Voting system, every voter has to provide valid identification. Once a voter’s identity has been verified, AC sends a random I D number to them through a secure channel. In the subsequent election process, the HSE-Voting system requires voters to identify themselves using an I D number. Obviously, AC can easily determine the voter identity corresponding to the allocated I D number.

3.3. Ballot Generation

The voter V i generates plaintext votes b i , j { 0 , 1 } for each candidate, where i 1 , , N v , j 1 , , N c (1 means support the candidate, 0 means do not support the candidate). The voter V i computes the signcryption of plaintext vote b i , j , the corresponding PPK parameters P P K i and their public key p k i as Algorithm 5, and sends c i , P P K i , I D i as well as p k i to AC.
Algorithm 5 Computing Signcrypt and PPK
Input: 
    b i , 1 , , b i , N c , P K , p a r a m s ,
Output: 
V i ’s signcryption ballots: c i = c i , 1 , , c i , N c
 
              Corresponding PPK: P P K i = P P K i , 1 , , P P K i , N c
1:
Set s k i = w i Z q , p k i = g w i .
2:
while  j = 1 , , N c do
3:
    Signcrypt:
4:
    Set r i , j Z q .
5:
    Compute: c i , j = c i , j , 0 , c i , j , 1 , c i , j , 2
 
= g r i , j , g b i , j y 0 r i , y 1 w i y 1 b i , j y 2 r i
6:
    PPK:
7:
    Set t i , j , a 1 i , j , d 1 i , j Z q .
8:
    Set b i , j { 0 , 1 } and b i , j b i , j .
9:
    Compute P 0 i , j = g t i , j .
10:
   Compute P 1 i , j = y 0 t i , j .
11:
   Compute P 2 i , j = g b i , j · a 1 i , j · y 0 d 1 i , j / c i , j , 1 a 1 i , j .
12:
   Set P i , j = P 0 i , j , P 1 i , j , P 2 i , j .
13:
   Compute a i , j = hash c i , j , 0 | | c i , j , 1 | | P 0 i , j | | P 1 i , j | | P 2 i , j .
14:
   Compute a 0 i , j = a 1 i , j a i , j .
15:
   Compute d 0 i , j = r i , j · a 0 i , j + t i , j .
16:
   Set P P K i , j = c i , j , P i , j , a 0 i , j , a 1 i , j , d 0 i , j , d 1 i , j .
17:
end while
18:
Set P P K i = P P K i , 1 , , P P K i , N c .
19:
Set c i = c i , 1 , , c i , N c .
20:
return  c i and P P K i

3.4. Vote Tallying

AC performs the verifications as follows.
  • Verifying the legitimacy of each I D i .
  • Verifying the eligibility of each ballot c i through P P K i .
AC tallies all eligibility ballots (i.e., f l a g i = 1 ) as follows.
C j = C j , 0 , C j , 1 , C j , 2 = i = 1 N v c i , j , 0 , i = 1 N v c i , j , 1 , i = 1 N v c i , j , 2 .
Then, AC decrypts the tallied ballot and computes the voters’ joint public key as follows.
b j = log g C j , 1 C j , 0 x 0 , p k = i = 1 N v p k i .
After that, AC verifies whether the following equation holds.
C j , 2 = p k x 1 y 1 b j C j , 0 x 2 .
If the above equation holds, AC publishes the election results B = ( b 1 , , b N c ) , where b j is the total number of votes received by the j-candidate.

3.5. Vote Audit

The auditor firstly asks the AC for secret key x 0 and then verifies
  • g x 0 = y 0 ,
  • C j , 1 = C j , 0 x 0 · g b j , j { 1 , , N c } .
If both equations hold, the auditor believes that the election result is fair, impartial, and credible.

4. Cryptanalysis of the HSE-Voting System

In this section, we describe our attack algorithms about recovering electoral preference from the ballot and sabotaging the election with the wrong signcryption in detail.

4.1. Recovering Electoral Preference from the Ballot

Theorem 1. 
In the HSE-Voting system, the AC can recover every voter’s electoral preference from his ballot.
Proof. 
As shown in the Section 3.1, the AC generates ( P K , S K ) , and the voters send their ballots to the AC. Through the components of the ballots, the AC can resume the electoral preference in two ways. The first method is as follows.
  • The AC computes C T i , j = p k i x 1 c i , j , 0 x 2 = y 1 ω i y 2 r i , j .
  • With the voter’s ballot c i , j = c i , j , 0 , c i , j , 1 , c i , j , 2 , the AC computes C T i , j = c i , j , 2 / C T i , j = y 1 b i , j .
  • If C T i , j = 1 , the plaintext vote is 0; otherwise, the plaintext vote is 1.
In the second method, since all ballots are posted on the B Board, the adversary can obtain the signcryption and corresponding PPK of the voter V i . According to the generation method of P P K i , j , the parameters a 1 i , j and d 1 i , j are two random elements in Z q . Therefore, the probability of the following equation is 1 q .
g d 1 i , j = P 0 i , j · c i , j , 0 a 1 i , j .
According to the verification equations in Algorithm 6, there is
g d 0 i , j = P 0 i , j · c i , j , 0 a 0 i , j .
As a consequence, the adversary can easily distinguish between d 0 i , j and d 1 i , j . Obviously, the vote b i , j satisfies the following equation.
y 0 d 0 i , j = P 1 i , j · ( c i , j , 1 / g b i , j ) a 0 i , j .
Because of b i , j { 0 , 1 } , we can retrieve the voting preference easily.
As voters register with the AC, the AC can confirm the real identity of the voter by I D i . In summary, the AC can recover every voter’s electoral preference from his ballot. The reason for this security risk is that the AC has all the private keys S K = ( x 0 , x 1 , x 2 ) . One potential solution is to encrypt the ballot using a collaborative public key approach, thereby circumventing the issue where the AC could decrypt a single ballot.   □
Algorithm 6 Verifying PPK
Input: 
    c 1 , , c N v , P P K 1 , , P P K N v , P K , p a r a m s
Output: 
f l a g i = 0 or 1
1:
 Set f l a g i = 1 .
2:
 while  j = 1 , , N c do
3:
    if  a 0 i , j a 1 i , j hash c i , j , 0 | | c i , j , 1 | | P 0 i , j | | P 1 i , j | | P 2 i , j  then
4:
      Set f l a g i = f l a g i × 0 .
5:
    end if
6:
    if  g d 0 i , j P 0 i , j · c i , j , 0 a 0 i , j  then
7:
      Set f l a g i = f l a g i × 0 .
8:
    end if
9:
    if  y 0 d 0 i , j P 1 i , j · ( c i , j , 1 / g m 0 ) a 0 i , j  then
10:
     Set f l a g i = f l a g i × 0 .
11:
   end if
12:
   if  y 0 d 1 i , j P 2 i , j · ( c i , j , 1 / g m 1 ) a 1 i , j  then
13:
     Set f l a g i = f l a g i × 0 .
14:
   end if
15:
end while
16:
return  f l a g i

4.2. Sabotaging the Election with the Wrong Signcryption

Theorem 2. 
Malicious voters can disrupt the election process by sending the wrong signcryption.
Proof. 
In the phase of ballot generation, the adversary can choose a random element R Z q and generate a partially incorrect signcryption for ballot b i , j .
c i , j = ( c i , j , 0 , c i , j , 1 , c i , j , 2 ) = g r i , g b i , j y 0 r i , R .
After that, the adversary generates a P P K i , j corresponding to c i , j and sends the signcryption c i , j , the PPK parameters P P K i , j , the identity number I D i , and p k i to the AC. According to the validation rules in the phase of vote tallying, the adversary’s identity number I D i is legitimate, and the verification of P P K i does not involve R. Therefore, the erroneous ballot can pass the verification.
Therefore, the tallied ballot is
C j = C j , 0 , C j , 1 , C j , 2 = t = 1 N v c t , j , 0 , t = 1 N v c t , j , 1 , R · t = 1 i 1 c t , j , 2 · t = i + 1 N v c t , j , 2 .
The AC computes the voters’ joint public key and the election result as follows.
p k = i = 1 N v p k i , b j = log g C j , 1 C j , 0 x 0 .
At this point, it is clear that the following inequality holds.
C j , 2 p k x 1 y 1 b j C j , 0 x 2 .
In this case, even if the election process is restarted, the adversary can still cause the election process to fail in the same way. This means that the adversary can achieve the purpose of disrupting the election process through the above steps. This occurred because the voting system was unable to precisely identify the questionable ballots, necessitating a re-initiation of the election. Furthermore, the verification procedure omits the involvement of the third component from the ciphertext. To address this limitation, it would be advisable to enhance the system’s verifiability.   □

5. Improved HSE-Voting System

This section describes the details of our improved HSE-Voting system, which applies the same entities as in [2] but makes some minor changes to their specific functions. While retaining the advantages of the HSE-Voting system, we solve the security problem described in Section 4.

5.1. Entities of Our System

In our system, we modify the functions of entities AC and auditor as follows and leave the definitions of the other unchanged entities.
  • Authentication Center: As a voting institution, the AC is still responsible for verifying the identification of voters, tallying, and other related work. However, voters no longer only use the AC’s public key to encrypt their ballots. Similarly, we assume that the AC is honest-but-curious.
  • Auditor: As a voting institution, the auditor is added with a new function to generate a part of the election public key. In our system, the auditor is no longer credible.

5.2. Initialization of Election

At the beginning of an election, the AC generates the election public parameters p a r a m s and its public key P K a . Then, the AC posts the p a r a m s and P K a on the B Board. Then, the auditor creates its own key pair ( P K r , S K r ) and uploads its public key on the B Board.
  • The AC generates public p a r a m s ( G , g , q ) .
  • The AC uses p a r a m s to generate its key pair ( P K a , S K a ) , where S K a = x 0 , x 1 Z q , P K a = y 0 , y 1 = g x 0 , g x 1 .
  • The auditor generates its own key pair, where S K r = x 2 Z q , P K r = y 2 = g x 2 .
  • The AC and auditor calculate the joint public key P K = y = y 0 x 2 = y 2 x 0 = g x 0 x 2 and make it public.

5.3. Registration of Voters

In the registration phase, each voter V i should generate an ElGamal key pair ( p k v i , s k v i ) = ( g w i , w i ) . Then, every voter provides the AC with his real valid identification (e.g., identification card) and public key p k v i . Once a voter’s identity has been verified, its corresponding voter public key will be added to the registration list, which will be posted on the B Board.

5.4. Generate Ballot

The voter V i generates the binary plaintext votes b i = ( b i , 1 , , b i , N c ) (where b i , j = 0 or 1) for all candidates. Then, V i computes his own encrypted vote as Algorithm 7.   
Algorithm 7 Generating an encrypted vote
Input: 
   b i , 1 , , b i , N c , P K , p a r a m s
Output: 
   c i = c i , 1 , c i , 2 , , c i , N c
1:
while  j = 1 , , N c do
2:
   Set r i , j Z q .
3:
   Compute c i , j = c i , j , 0 , c i , j , 1 = g r i , j , g b i , j y r i , j .
4:
end while
5:
Set c i = c i , 1 , c i , 2 , , c i , N c .
6:
return  c i
After obtaining the encrypted vote c i , V i generates the PPK parameters P P K i corresponding to the c i using his secret key s k v i , the random parameters r 1 , r N c , the AC’s public key P K a , and the auditor’s public key P K r . The details are described in Algorithm 8.
Algorithm 8 Generating a PPK of an encrypted vote
Input: 
   b i , 1 , , b i , N c , r i , 1 , , r i , N c , c i , P K a , P K r , P K , s k v i , p a r a m s
Output: 
   P P K i = P P K i , 1 , P P K i , 2 , , P P K i , N c
1:
 Set s i g i = y 1 ω i
2:
 while  j = 1 , , N c do
3:
    Set a i , j { 0 , 1 } and a i , j b i , j .
4:
    Set e i , j , u i , j , 2 Z q .
5:
    Compute l i , j , 2 = r i , j · u i , j , 2 + e i , j mod q .
6:
    Compute T i , j , 0 = g e i , j .
7:
    Compute L i , j , 1 = y e i , j .
8:
    Compute L i , j , 2 = g a i , j u i , j , 2 y l i , j , 2 / ( c i , j , 1 ) u i , j , 2 .
9:
    if  b i , j = 0  then
10:
     Set ( T i , j , 1 , T i , j , 2 ) = ( L i , j , 1 , L i , j , 2 ) .
11:
   else
12:
     Set ( T i , j , 1 , T i , j , 2 ) = ( L i , j , 2 , L i , j , 1 ) .
13:
   end if
14:
   Compute u i , j = hash T i , j , 0 | | T i , j , 1 | | T i , j , 2 | | c i , j , 0 | | c i , j , 1 .
15:
   Compute u i , j , 1 = u i , j , 2 u i , j .
16:
   Compute l i , j , 1 = r i , j · u i , j , 1 + e i , j mod q .
17:
   if  b i , j = 0  then
18:
     Set ( s i , j , 1 , s i , j , 2 ) = ( l i , j , 1 , l i , j , 2 ) .
19:
     Set ( v i , j , 1 , v i , j , 2 ) = ( u i , j , 1 , u i , j , 2 ) .
20:
   else
21:
     Set ( s i , j , 1 , s i , j , 2 ) = ( l i , j , 2 , l i , j , 1 ) .
22:
     Set ( v i , j , 1 , v i , j , 2 ) = ( u i , j , 2 , u i , j , 1 ) .
23:
   end if
24:
   Compute V i , j , 1 = v i , j , 1 s i g i .
25:
   Compute V i , j , 2 = v i , j , 2 s i g i .
26:
   Set P P K i , j = T i , j , 0 , T i , j , 1 , T i , j , 2 , V i , j , 1 , V i , j , 2 , s i , j , 1 , s i , j , 2 .
27:
end while
28:
Set P P K i = P P K i , 1 , P P K i , 2 , , P P K i , N c .
29:
return  P P K i
The voter V i posts c i , P P K i , and p k v i on the B Board as their ballot.

5.5. Verifications of Each Submission

As shown in the previous subsection, the contents of all ballots are posted on the B Board, including the encrypted votes, the PPK parameters, and the public key of voters. However, in order to avoid tallying any illegal ballots to the final result, the verification of each submission is an essential and crucial part of the election process. It contains the following three verification steps.
  • Verifying whether the sender is authorized: in order to prevent unauthorized people from illegally voting, each voter is required to send a ballot with their public key p k v i . The p k v i of each authorized voter is added to the registration list once they successfully register, and the AC posts a registration list on the B Board. Thus, anyone can verify whether a subsequent submission is sent by an authorized voter or not. For example, if p k v i belongs to the registration list, the sender is an authorized person. Otherwise, the submission will be discarded.
  • Verifying whether the public key has not been accepted: in order to prevent unauthorized people from using authorized voters’ information posted on the B Board and prevent authorized voters from repeating voting, the AC is required to check whether it has accepted another submission that contains the same public key. If not, this submission is legal. Otherwise, the submission will be discarded.
  • Verifying the eligibility of the encrypted ballot: our system stipulates that each vote of a valid submitted encrypted ballot must be either Enc ( 1 ) or Enc ( 0 ) . The proof of each voter’s submission is based on the well-known PPK protocol [21]. Specific details are described in Algorithm 9.
Algorithm 9 Verifying the eligibility of encrypted ballot c i
Input: 
   c i , P P K i , P K a , S K a , P K r , p k v i , p a r a m s
Output: 
   F l a g v i =1 (means true) or 0 (means false).
1:
 Set F l a g v i = 1 , m 0 = 0 , m 1 = 1 , s i g i = p k v i x 1 .
2:
 Compute v i , j , 1 = V i , j , 1 p k v i x 1 .
3:
 Compute v i , j , 2 = V i , j , 1 p k v i x 1 .
4:
 while  j = 1 , , N c do
5:
    if  v i , j , 1 v i , j , 2 hash T i , j , 0 | | T i , j , 1 | | T i , j , 2 | | c i , j , 0 | | c i , j , 1  then
6:
      Set f l a g v i , 1 = f l a g v i × 0 .
7:
    end if
8:
    if  g s i , j , 1 T i , j , 0 · C i , j , 0 v i , j , 1  then
9:
      Set f l a g v i , 1 = f l a g v i × 0 .
10:
   end if
11:
   if  g s i , j , 2 T i , j , 0 · C i , j , 0 v i , j , 2  then
12:
     Set f l a g v i , 1 = f l a g v i × 0 .
13:
   end if
14:
   if  y s i , j , 1 T i , j , 1 · ( C i , j , 1 / g m 0 ) v i , j , 1  then
15:
     Set f l a g v i , 1 = f l a g v i × 0 .
16:
   end if
17:
   if  y s i , j , 2 T i , j , 2 · ( C i , j , 1 / g m 1 ) v i , j , 2  then
18:
     Set f l a g v i , 1 = f l a g v i × 0 .
19:
   end if
20:
end while
21:
return  F l a g v i
If F l a g v i = 1 , the ballot meets the eligibility criteria. Otherwise, the submission is discarded. The submissions that pass all the verification processes will be posted on the B Board. Then, the AC accepts these ballots as valid ballots.

5.6. Tallying All Valid Ballots and Decryption

After the voting process, the AC counts all valid ballots c 1 , , c N v , which is described in Algorithm 10.
Algorithm 10 Tallying all valid ballots
Input: 
   c 1 , , c N v , p a r a m s
Output: 
   T C = T C 1 , T C 2 , , T C N c
1:
while  j = 1 , , N c do
2:
   Compute T C j , 0 = i = 1 N v c i , j , 0 .
3:
   Compute T C j , 1 = i = 1 N v c i , j , 1 .
4:
   Set T C j = T C j , 0 , T C j , 1
5:
end while
6:
Set T C = T C 1 , T C 2 , , T C N c .
7:
return  T C
Then, the AC announces the valid ballot-ciphertext T C and the secret key x 1 on the B Board. After that, every entity can verify the legitimacy of each ballot.
Afterward, the auditor generates the intermediate parameter k e y and its corresponding PZK parameters P Z K as Algorithm 11.
Algorithm 11 Generating intermediate parameter and PZK
Input: 
   T C , s k r , p a r a m s
Output: 
   Intermediate parameter: k e y = ( k e y 1 , , k e y N c )
 
  PZK of k e y : P Z K = P Z K 1 , , P Z K N c
1:
 while  j = 1 , , N c do
2:
    Compute k e y j = T C j , 0 x 2 .
3:
    Set e z j Z q .
4:
    Compute T Z j , 0 = g e z j .
5:
    Compute T Z j , 1 = T C j , 0 e z j .
6:
    Compute v z j = hash T Z j , 0 | | T Z j , 1 | | T C j , 0 .
7:
    Compute s z j = x 2 · v z j + e z j mod q .
8:
    Set P Z K j = T Z j , 0 , T Z j , 1 , v z j , s z j .
9:
 end while
10:
Set k e y = k e y 1 , , k e y N c .
11:
Set P Z K = P Z K 1 , , P Z K N c .
12:
return  k e y and P Z K
AC verifies the correctness of intermediate parameter k e y through the PZK parameters P Z K as Algorithm 12.  
Algorithm 12 Verifying the P Z K of T C
Input: 
   k e y , T C , P K r , P Z K , p a r a m s
Output: 
   F l a g Z = 1 (means true) or 0 (means false)
1:
 Set F l a g Z = 1 .
2:
 while  j = 1 , , N c do
3:
    if  v z j hash T Z j , 0 | | T Z j , 1 | | T C j , 1  then
4:
      Set F l a g Z = F l a g Z j × 0 .
5:
    end if
6:
    if  g s z j T Z j , 0 · y 2 v z j  then
7:
      Set F l a g Z = F l a g Z j × 0 .
8:
    end if
9:
    if  T C j , 0 s z j T Z j , 1 · k e y j v z j  then
10:
     Set F l a g Z = F l a g Z j × 0 .
11:
   end if
12:
end while
13:
return  F l a g Z
After that, AC decrypts the valid ballot-ciphertext T C using its secret key S K a and intermediate parameter k e y as Algorithm 13. Finally, the AC publishes the election results on the B Board.  
Algorithm 13 Decrypting the valid ballot-ciphertext
Input: 
   T C , S K a , k e y , p a r a m s
Output: 
   Final result: B = B 1 , B 2 , , B N c
1:
while  j = 1 , , N c do
2:
   Compute b j = log g ( T C j , 1 / k e y j x 0 ) .
3:
end while
4:
Set B = B 1 , B 2 , , B N c  
5:
return B

5.7. Results Auditing

During the results auditing phase, the auditor (or any voter) verifies the correctness of the final result as follows.
  • The AC computes and publishes T C j , 0 x 0 and its corresponding PZK parameters.
  • The auditor verifies the PZK parameters (the details are omitted here since the procedure is similar to Algorithm 12) and verifies the following equation.
    T C j , 1 = ( T C j , 0 x 0 ) x 2 · g b j .
If the verifications pass, the election result is believed to be credible. The auditor accepts the result and posts it on the B Board.

6. Characteristic Analysis

This section is devoted to giving a detailed security analysis of our improved HSE-Voting system, including the privacy of voters, the correctness of the final election result, and the voting verifiability.

6.1. Privacy of Voters

It is very necessary to protect the voters’ voting preferences. We argue for voter privacy from the following two points: (i) any probabilistic polynomial time adversary cannot distinguish whether a ballot is encrypted by 0 or 1 based on the information on the B Board; (ii) when using the PPK protocol, voters’ voting preferences of ballots will not be revealed during ballot verification.
Theorem 3. 
If the ElGamal cryptosystem is semantically secure, any probabilistic polynomial time adversary cannot obtain the voters’ voting preferences from the B Board.
Proof. 
Every cast ballot has been encrypted using the ElGamal cryptosystem (cf. Section 2.2) before submitting. ElGamal has homomorphic properties and semantic security. Thus, in our system, there is no probabilistic polynomial time adversary that can distinguish whether a ballot-ciphertext is Enc ( 0 ) or Enc ( 1 ) from the information published on the B Board. As mentioned above, the voting preferences of ballots remain secure. □
Theorem 4. 
When using the PPK protocol and PZK protocol, the voting preferences and the information of the auditor’s secret key will not be revealed during verification.
Proof. 
The PPK parameters P P K i , j are generated by using the PPK protocol, which consists of T i , j , 0 , T i , j , 1 , T i , j , 2 , V i , j , 1 , V i , j , 2 , s i , j , 1 , and s i , j , 2 , where v i , j , 2 and s i , j , 1 are random integers, T i , j , 0 , T i , j , 1 , T i , j , 2 , v i , j , 1 are computed by using random numbers v i , j , 2 , s i , j , 2 , e i , j , and V i , j , 1 , V i , j , 2 are computes by s i g i , j , v i , j , 1 , as well as v i , j , 2 . The parameter s i g i , j is the Diffie–Hellman signature between the AC and the voter V i . The PPK protocol is given in [21], which shows the details of proof that PPK will not reveal the original message. By using the PPK protocol, the verifier can verify all the elements without decryption. The verifier could only know whether an element is encrypted by 0 or 1, but cannot determine the exact value of plaintext.
The PZK parameters P Z K j are computed by the PZK protocol, which consists of T Z j , 0 , T Z j , 1 , v z j , and s z j , where v z j is a random number, T Z j , 0 , T Z j , 1 are computed by random number e i , j , and s z j is computed by random numbers e i , j as well as v z j . The PZK protocol is given in [20], which shows the PZK protocol has zero-knowledge and will not reveal any additional information.
Based on the security of the PPK and PZK protocols, the relevant parameters are not considered to readily reveal private information about voters’ electoral preferences. □

6.2. Correctness of the Election Result

In this subsection, we analyze the correctness of the election results from two aspects: the correctness of ballot delivery and the correctness of ballot integration and decryption.
Theorem 5. 
Only authorized voters can vote, and no one can vote repeatedly.
Proof. 
Suppose an unauthorized adversary attempts to use the i-th voter’s public key p k v i to participate in the election. For the PPK parameter V i , j , 1 = v i , j , 1 y 1 ω i in P P K i , j , due to Definition 1, the difficulty of the CDH problem shows the probability of the adversary successfully forging y 1 ω i = g ω i · x 1 when they only know g, g ω i and g x 1 is negligible. Therefore, the probability of the adversary successfully forging a valid PPK parameter V i , j , 1 that satisfies V i , j , 1 = v i , j , 1 y 1 ω i is negligible. In addition, our system ensures that each voter can vote only once by verifying whether their public key is included in other accepted ballots. □
Theorem 6. 
The election process during ballot tallying and valid ballot-ciphertext decrypting is correct.
Proof. 
In Section 2.2, we introduced the additive homomorphism of the ElGamal scheme. Therefore, the AC can count all the ballots on the B Board according to the correct steps.
T C j , 0 = i = 1 N v C i , j , 0 = i = 1 N v g r i , j = g i = 1 N v r i , j ,
T C j , 1 = i = 1 N v C i , j , 1 = i = 1 N v g b i , j y r i , j = g i = 1 N v b i , j g x 0 x 2 i = 1 N v r i , j .
Then, the AC uploads all accepted ballots to the B Board. At this time, everyone can check if their ballot is lost. In the end, the AC and auditors jointly decrypt valid ballot-ciphertext to obtain the election result.
Auditors compute
k e y j = T C j , 0 x 2 = g x 2 i = 1 N v r i , j .
Then, the AC computes
log g ( T C j , 1 / k e y j x 0 ) = log g ( g i = 1 N v b i , j y i = 1 N v r i , j / ( g x 2 i = 1 N v r i , j ) x 0 ) = log g ( g i = 1 N v b i , j ) = i = 1 N v b i , j = b j .
Since b i , j { 0 , 1 } , b j = i = 1 N v b i , j N v is small in practice. It is feasible to compute the discrete logarithm log g ( g b j ) . Therefore, the election process of ballot tallying and valid ballot-ciphertext decryption is correct. □
Theorem 7. 
The AC can check P P K and P Z K in order to ensure the legality of the contents.
Proof. 
According to the properties of PPK outlined in Section 2.3, the AC can utilize the voter’s public key p k v i to ascertain whether the plaintext corresponding to an encrypted ballot represents 0 or 1, thereby confirming the legitimacy and validity of this ballot. Similarly, in accordance with the PZK properties delineated in Section 2.4, the AC can confirm that the auditor has provided the correct decryption information k e y , thus ensuring the accurate decryption of the election results. □

6.3. Voting Verifiability

In this section, we divide the verifiability requirements into two parts: universal verifiability and individual verifiability.
Universal verifiability: the B Board in our E-voting system is public, so everyone can check the accepted ballots and the election result on the B Board. In addition, since all accepted ballots are disclosed, voters can check the correctness of their ballots and prevent their ballots from being forged or tampered with.
Individual verifiability: the auditor (as well as each voter) can verify the final result of the election. The legality of verification is proved in Theorem 8.
Theorem 8. 
The auditor (or each voter) can correctly verify the final election result.
Proof. 
The auditor first verifies the P Z K to prove that the correctness of T C j , 0 x 0 . Then, he checks the correctness of the final election result by verifying the equation. The correctness of the verification equation is as follows.
( T C j , 0 x 0 ) x 2 · g i = 1 N v b i , j = g x 0 x 2 i = 1 N v r i , j · g i = 1 N v b i , j = T C j , 1 .

6.4. Comparison of Characteristics with Related Work

In order to provide a clearer indication of the contribution of the proposed scheme, we compared the characteristics of the proposed scheme with related work, and the results are shown in Table 1. In Yuan et al.’s scheme [7], the RSA signature scheme is employed to guarantee the integrity of ballots. However, there is no consideration of validating the legality of the ballot, i.e., the ciphertext is E n c ( 0 ) or E n c ( 1 ) . In Qu et al.’s scheme [8], the smart contract with the decryption key is able to decrypt the ciphertext of each ballot and verify its legality. Therefore, this scheme lacks the public verifiability. In Fan et al.’s HSE-Voting system [2], only the trusted auditor can verify the election results.

7. Performance Analysis

This section presents the performance analysis of our improved HSE-Voting system. We use c o s t t to denote the computation time of one exponentiation. Meanwhile, we separately analyze the computation cost on the voter side and the AC side. Due to the small computation cost and little use of the auditor side, no detailed analysis is performed here. Furthermore, the comparison of our improved HSE-Voting system with the HSE-Voting system [2] and Yang et al.’s system [3] is given below.

7.1. Performance of the Voter Side

On the voter side, every voter should generate their ballot and submit it to AC. According to Section 5.4, the total computation cost for a voter can be present as the sum of the time of computing the encrypted vote c i and the corresponding P P K s, which can be expressed as follows.
2 × c o s t t × N c + 5 × c o s t t × N c + c o s t t .
See Table 2 for a detailed comparison.

7.2. Performance of the AC Side

The performance of the AC side can be summarized in three parts: verifying the P P K s of ballots, checking the P Z K s of intermediate parameters, and decrypting the valid ballot-ciphertext. The total computation time of the AC side is as follows; see Table 2 for a detailed comparison.
8 × c o s t t × N c × N v + c o s t t × N v + 4 × c o s t t × N c + c o s t t × N c .

7.3. Experimental Simulation

In this subsection, all tests were performed on a laptop with the following specifications: 2.4 GHz quad-core Intel Core i7 with 16 GB of 1600 MHz DDR3L onboard memory. We used a high-performance implementation from libgmp via the gmpy2 Python module (https://gmpy2.readthedocs.io/en/latest/ (accessed on 4 January 2024)).
As depicted in Figure 1 and based on our experimental findings, it appears that our scheme may exhibit some efficiency benefits over the HSE-Voting system [2] in ballot casting, while the computational overhead seems to align closely with that of Yang et al.’s scheme [3].
As shown in Figure 2, the computational overhead for the AC side in our enhanced scheme is slightly higher than that of the HSE-Voting system [2]. This increase can be attributed to the integration of additional computational components aimed at bolstering security. In addition, the computational overhead of our AC side is slightly smaller than Yang et al.’s scheme [3], which is one of the design goals of the HSE system.
Combining the comparison results of characteristics and efficiency, the contribution of our scheme is to support the public verification of the ballot legality as well as the validity of election results, and the overall efficiency is slightly higher than Yang et al.’s scheme [3].

8. Conclusions

In this paper, we indicated two potential security threats to the HSE-Voting system and proposed a security-enhanced system based on Fan et al.’s scheme. Firstly, we pointed out that the content of each voter’s ballot could be obtained by the AC. Then, we discovered that malicious voters could create illegitimate ballots to disrupt the election process without being detected. Further, we proposed an improved scheme to avoid the above security risks. In addition, we showed a detailed analysis and demonstration of the characteristics of the improved HSE-Voting system. Comparison results of theoretical analyses and experimental tests suggest that our proposed scheme might offer some insights or benefits when compared to related schemes.

Author Contributions

Conceptualization, Y.Z. and N.Y.; methodology, Y.Z., Z.Z. and N.Y.; validation, C.Z. and W.Z.; writing—original draft preparation, Y.Z. and N.Y.; supervision, W.Z. and B.W. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the National Key R&D Program of China No. 2023YFB3106100, the National Natural Science Foundation of China under Grant 62202363, 62272362, U19B2021,62102299, and the Youth Innovation Team of Shaanxi Universities, Science and Technology on Communication Security Laboratory Foundation (61421030202012103), the Henan Key Laboratory of Network Cryptography Technology under No. LNCT2022-A05.

Data Availability Statement

The data can be shared up on request.

Conflicts of Interest

The authors declare no conflicts of interest.

Notations

Notations used in the rest of this paper:
Z The integer ring
Z q Z q = { 0 , 1 , 2 , , q 1 }
Uniform and random select
hash ( · ) Hash function
XOR
P P K The parameters of proof of partial knowledge
P Z K The parameters of proof of zero-knowledge
N v The number of voters
V i i-th Voter, where i 1 , 2 , , N v
N c The number of candidates
C a n j j-th candidate, where j 1 , 2 , , N c
b i , j The ballot belonging to V i for C a n j
b i The ballot belonging to V i
s i g i The Diffie–Hellman signature
P K The public key
S K The secret key
p k v i      The public key of V i
s k v i The secret key of V i
c i , j A ballot-ciphertext of b i , j
c i A ballot-ciphertext of b i
T C j A valid ballot-ciphertext of b j
k e y Intermediate parameter for T C
BThe final result of election

References

  1. Scott, P. US Election 2016: Voter turnout fell to 58 per cent this year, estimates show. Telegraph 2016, 14. Available online: https://www.telegraph.co.uk/news/2016/11/14/us-election-2016-voter-turnout-fell-to-58-per-cent-this-year-est/ (accessed on 4 January 2024).
  2. Fan, X.; Wu, T.; Zheng, Q.; Chen, Y.; Alam, M.; Xiao, X. HSE-Voting: A secure high-efficiency electronic voting scheme based on homomorphic signcryption. Future Gener. Comput. Syst. 2020, 111, 754–762. [Google Scholar] [CrossRef]
  3. 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]
  4. Saracevic, M.; Selimi, A. Convex polygon triangulation based on planted trivalent binary tree and ballot problem. Turk. J. Electr. Eng. Comput. Sci. 2019, 27, 346–361. [Google Scholar] [CrossRef]
  5. Fujioka, A.; Okamoto, T.; Ohta, K. A Practical Secret Voting Scheme for Large Scale Elections. In Advances in Cryptology—AUSCRYPT’92; Springer: Berlin/Heidelberg, Germany, 1992; Volume 718, pp. 244–251. [Google Scholar]
  6. Shahzad, B.; Crowcroft, J. Trustworthy Electronic Voting Using Adjusted Blockchain Technology. IEEE Access 2019, 7, 24477–24488. [Google Scholar] [CrossRef]
  7. Yuan, K.; Sang, P.; Zhang, S.; Chen, X.; Yang, W.; Jia, C. An electronic voting scheme based on homomorphic encryption and decentralization. PeerJ Comput. Sci. 2023, 9, e1649. [Google Scholar] [CrossRef] [PubMed]
  8. Qu, W.; Wu, L.; Wang, W.; Liu, Z.; Wang, H. A electronic voting protocol based on blockchain and homomorphic signcryption. Concurr. Comput. Pract. Exp. 2022, 34, e5817. [Google Scholar] [CrossRef]
  9. Sheela, A.S.; Franklin, R.G. E-Voting System Using Homomorphic Encryption Technique. J. Phys. Conf. Ser. 2021, 1770, 012011. [Google Scholar] [CrossRef]
  10. Saproo, S.; Warke, V.; Pote, S.; Dhumal, R. Online voting system using homomorphic encryption. In Proceedings of the ITM Web of Conferences, Navi Mumbai, India, 27–28 June 2020; EDP Sciences: Les Ulis, France, 2020; Volume 32, p. 03023. [Google Scholar]
  11. Kiayias, A.; Zacharias, T.; Zhang, B. An Efficient E2E Verifiable E-voting System without Setup Assumptions. IEEE Secur. Priv. 2017, 15, 14–23. [Google Scholar] [CrossRef]
  12. de Marneffe, O.; Pereira, O.; Quisquater, J. Electing a University President Using Open-Audit Voting: Analysis of Real-World Use of Helios. In Proceedings of the 2009 Electronic Voting Technology Workshop/Workshop on Trustworthy Elections, EVT/WOTE’09, Montreal, QC, Canada, 10–11 August 2009; Jefferson, D., Hall, J.L., Moran, T., Eds.; USENIX Association: Berkeley, CA, USA, 2009. [Google Scholar]
  13. Kumar, M.; Katti, C.P.; Saxena, P.C. A Secure Anonymous E-Voting System Using Identity-Based Blind Signature Scheme. In Proceedings of the Information Systems Security—13th International Conference, ICISS 2017, Mumbai, India, 16–20 December 2017; Lecture Notes in Computer Science. Springer: Cham, Switzerland, 2017; Volume 10717, pp. 29–49. [Google Scholar] [CrossRef]
  14. Adida, B. Helios: Web-based Open-Audit Voting. In Proceedings of the 17th USENIX Security Symposium, San Jose, CA, USA, 28 July–1 August 2008; van Oorschot, P.C., Ed.; USENIX Association: Berkeley, CA, USA, 2008; pp. 335–348. [Google Scholar]
  15. Mateu, V.; Miret, J.M.; Sebé, F. A hybrid approach to vector-based homomorphic tallying remote voting. Int. J. Inf. Sec. 2016, 15, 211–221. [Google Scholar] [CrossRef]
  16. Huszti, A. A homomorphic encryption-based secure electronic voting scheme. Publ. Math. Debr. 2011, 79, 479–496. [Google Scholar] [CrossRef]
  17. Hirt, M.; Sako, K. Efficient Receipt-Free Voting Based on Homomorphic Encryption. In Proceedings of the Advances in Cryptology—EUROCRYPT 2000, Bruges, Belgium, 14–18 May 2000; Springer: Berlin/Heidelberg, Germany, 2000; Volume 1807, pp. 539–556. [Google Scholar]
  18. Yi, X.; Paulet, R.; Bertino, E. Homomorphic Encryption and Applications; Springer Briefs in Computer Science; Springer: Cham, Switzerland, 2014. [Google Scholar] [CrossRef]
  19. ElGamal, T. A Public Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms. In Advances in Cryptology, Proceedings of the CRYPTO’84, Santa Barbara, CA, USA, 19–22 August 1984; Lecture Notes in Computer Science; Blakley, G.R., Chaum, D., Eds.; Springer: Berlin/Heidelberg, Germany, 1984; Volume 196, pp. 10–18. [Google Scholar] [CrossRef]
  20. Chaum, D.; Pedersen, T.P. Wallet Databases with Observers. In Advances in Cryptology, Proceedings of the CRYPTO’92, 12th Annual International Cryptology Conference, Santa Barbara, CA, USA, 16–20 August 1992; Lecture Notes in Computer Science; Brickell, E.F., Ed.; Springer: Berlin/Heidelberg, Germany, 1992; Volume 740, pp. 89–105. [Google Scholar] [CrossRef]
  21. Cramer, R.; Damgård, I.; Schoenmakers, B. Proofs of Partial Knowledge and Simplified Design of Witness Hiding Protocols. In Advances in Cryptology, Proceedings of the CRYPTO’94, 14th Annual International Cryptology Conference, Santa Barbara, CA, USA, 21–25 August 1994; Lecture Notes in Computer Science; Desmedt, Y., Ed.; Springer: Berlin/Heidelberg, Germany, 1994; Volume 839, pp. 174–187. [Google Scholar] [CrossRef]
  22. Diffie, W.; Hellman, M.E. New directions in cryptography. IEEE Trans. Inf. Theory 1976, 22, 644–654. [Google Scholar] [CrossRef]
Figure 1. Estimate total time comparison for a voter of the three systems.
Figure 1. Estimate total time comparison for a voter of the three systems.
Electronics 13 00286 g001
Figure 2. Estimate total time comparison for AC of 5 candidates.
Figure 2. Estimate total time comparison for AC of 5 candidates.
Electronics 13 00286 g002
Table 1. Characteristic comparison.
Table 1. Characteristic comparison.
SystemEligibilityUniquenessSingle Ballot PrivacyPublic Verification of Ballot LegalityPublic Verification of Electoral Correctness
Yuan et al.’s system [7]×
Qu et al.’s system [8]×××
Yang et al.’s system [3]
HSE-Voting system [2]××
Our system
The symbol ✓ represents that the characteristic is supported by the system and the symbol × indicates that it is not supported.
Table 2. Performance comparison.
Table 2. Performance comparison.
SystemComputational Cost of VoterComputational Cost of AC
Yang et al.’s system [3] 7 × c o s t t × N c + 3 × c o s t t 8 × c o s t t × N c × N v + 6 × c o s t t × N v + c o s t t × N c
HSE-Voting system [2] 9 × c o s t t × N c 6 × c o s t t × N c × N v + 4 × c o s t t
Our system 7 × c o s t t × N c + c o s t t 8 × c o s t t × N c × N v + 5 × c o s t t × N c + N v × c o s t t
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.

Share and Cite

MDPI and ACS Style

Zhan, Y.; Zhao, W.; Zhu, C.; Zhao, Z.; Yang, N.; Wang, B. Efficient Electronic Voting System Based on Homomorphic Encryption. Electronics 2024, 13, 286. https://doi.org/10.3390/electronics13020286

AMA Style

Zhan Y, Zhao W, Zhu C, Zhao Z, Yang N, Wang B. Efficient Electronic Voting System Based on Homomorphic Encryption. Electronics. 2024; 13(2):286. https://doi.org/10.3390/electronics13020286

Chicago/Turabian Style

Zhan, Yu, Wei Zhao, Chaoxi Zhu, Zhen Zhao, Ning Yang, and Baocang Wang. 2024. "Efficient Electronic Voting System Based on Homomorphic Encryption" Electronics 13, no. 2: 286. https://doi.org/10.3390/electronics13020286

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop