Blockchain Based E-Voting System With Homomorphic
Blockchain Based E-Voting System With Homomorphic
by
1. The thesis submitted is my/our own original work while completing degree at
Brac University.
3. The thesis does not contain material which has been accepted, or submitted,
for any other degree or diploma at a university or other institution.
Tasnim Bushra
19301060
i
Approval
The thesis/project titled “Blockchain Based E-Voting System With Homomorphic
Encryption and Threshold Signature” submitted by
Of Spring, 2023 has been accepted as satisfactory in partial fulfillment of the re-
quirement for the degree of B.Sc. in Computer Science on May 22, 2023.
Examining Committee:
Supervisor:
(Member)
Program Coordinator:
(Member)
Head of Department:
(Chair)
ii
Abstract
Security issues have been at large as mankind is becoming more comfortable with
technologies. The rapid growth of technology has not given us enough time to
understand technologies in whole. Thus this revolution in technological industries
has opened the door for more chances of information breach, malicious attack and
technical vulnerability. A smart voting system is very important for running smart
cities. But the conventional voting system has problems on its own, like vote ma-
nipulation, forging outcomes, or personal threats, etc. But incorporating different
technologies to move away from normal voting systems to e-voting systems makes
us weak to vulnerabilities mentioned above. In this paper, we are proposing an
ethereum based electoral voting system with homomorphic encryption and thresh-
old signature. Firstly, we deployed our system on the Ethereum blockchain network
which gives us an open view to contracts. Secondly, homomorphically encrypted
votes from the voters lets us encrypt the votes and work on the encrypted data.
So, the votes are never disclosed while counting. Finally, threshold signature is
used to ensure multi layers of security by engaging multiple signers to build a single
signature which will be used to retrieve the desired result maintaining all protocols.
iii
Acknowledgement
Firstly, all praise to the Great Allah for whom our thesis have been completed
without any major interruption.
Secondly, to our advisor Muhammad Iqbal Hossain, PhD sir for his kind support
and advice in our work. He helped us whenever we needed help.
Thirdly, to Muhammad Nur Yanhaona, PhD for his invaluable guidance throughout
the completion of this thesis.
And finally to our parents without their throughout sup-port it may not be possible.
With their kind support and prayer we are now on the verge of our graduation.
iv
Table of Contents
Declaration i
Approval ii
Abstract iii
Acknowledgment iv
Table of Contents v
Nomenclature ix
1 Introduction 1
1.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Research Problem Statement . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Research Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 Objectives of the Study . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.5 Analytical Framework of the study . . . . . . . . . . . . . . . . . . . 4
2 Background Study 6
2.1 Blockchain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.1 Characteristics of Blockchain . . . . . . . . . . . . . . . . . . 6
2.1.2 Types of blockchain . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.3 Blockchain Architecture . . . . . . . . . . . . . . . . . . . . . 10
2.2 Homomorphic Encryption . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.1 Types of Homomorphic Encryption . . . . . . . . . . . . . . . 11
2.3 Threshold Signature . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3 Literature Review 19
4 Methodology 26
4.1 Voter Registration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.2 Voting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.3 Party Registration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.4 Contract Deploy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.5 Vote Agregation Homomorphically . . . . . . . . . . . . . . . . . . . 29
v
4.5.1 Encryption . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.5.2 Cyphered Vote Aggregation . . . . . . . . . . . . . . . . . . . 29
4.6 Threshold Signature and Homomorphic Decryption to Get Result . . 29
4.6.1 Decryption . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Bibliography 40
vi
List of Figures
vii
List of Tables
viii
Nomenclature
The next list describes several symbols & abbreviation that will be later used within
the body of the document
λ Lambda
µ Mu
φ Phi
pK Public Key
P oS Proof of Stake
P oW Proof of Work
ix
Chapter 1
Introduction
1.1 Overview
In the modern era that is gradually forging ahead toward the zenith of technological
advancement and creating smart cities, one of the most cardinal aspects hindering
such progress is the need for an unprejudiced and transparent voting system. The
voting system allows each and every adult citizen of a sovereign country to partake in
the process of electing their preferred representative. Such a fundamental approach
must be strengthened, decentralized, and impartial. Voting ballots are supposed to
be such that only the voters have the authority to mark them in private booths
without anyone knowing who they are voting for. However, the conventional voting
system is centralized and does not provide the security that is required to warrant a
proper and fair election. Given the technological progress that countries across the
globe have achieved, corrupting the centralized traditional voting process by adopt-
ing illegal means such as- casting fake votes, manipulating the voters to vote multiple
times , parties of the electoral candidates threatening and offering money to the vot-
ing centers, controlling the polling booths and ballots etc, have become much easier.
To address such issues with the existing election process, the electronic voting sys-
tem was first introduced by David Shaum in the early 1980s, which employed public
key cryptography to protect the anonymity of the voters [21]. The blind signature
theorem was used to ensure that the voters and the ballots were not associated [21].
The first country to support the electronic voting system was Estonia for its national
elections [25]. But it had several issues with security and verifiability as it lacked
a proper approach to solving the problems. Again in 2011, Norway employed an
e- voting system for its council elections, which was much like that of the Estonian
voting system [21]. However, one of the vital problems with their system was that
the votes were at risk of going public and the identities of the voters being exposed
due to cyberattacks. As a repercussion, the urgency for a much more guaranteed,
decentralized system came into the picture. In order to eradicate these problems,
Satoshi Nakamoto, in the year 2008, came up with the exquisite idea of a blockchain
based e-voting system [35]. Blockchain, since its inception, has been well received by
the modern era, because of its decentralized notion. Its distributed structure offers
high security and flexibility due to having a decentralized nature. It can provide the
legitimacy and transparency that are much needed in a fair election process. Some
of the fundamental properties of blockchain, such as - decentralized system, higher
security, verifiability, and availability, distributed ledgers, strict transparency, etc.,
1
meet the criteria to avoid illegal approaches during the election process. Especially
in developing countries like Bangladesh, where faulty elections and corruption have
been on the run for years, the use of this system can bring about revolutionary
changes in the political as well as economic sectors by corroborating legal and trans-
parent elections and money transactions [40]. Blockchain technology is no longer an
implausible concept, as many countries have already adopted this system into their
voting processes. Sierra Leone was the first country to employ a blockchain based
electronic voting system in 2019. Countries like Russia and the United States have
also adopted the use of blockchain to some extent in their election processes. The
first application of the blockchain was Bitcoin, which supports cryptographic trans-
actions [21]. Nevertheless, it was regarded as onerous and slow because of having a
strict authentication procedure. The electronic voting system has been made much
more secure and affordable by applying the Ethereum blockchain providing smart
contracts which has yielded greater authenticity and transparency. It helps process
the information provided by the voters [30]. The Ethereum blockchain is one of
the most popular systems due to it being consistent and ability to provide smart
contracts [30]. This blockchain would help preserve the vote and ballot records.
But it is not completely anonymous, as the miners can access the votes and bal-
lots. Anonymity, security, and verifiability are very important in a secure electronic
voting system. Hence, anonymity and security can be achieved by Paillier’s ho-
momorphic encryption. Paillier in 1999 proposed Paillier’s cryptosystem, which is
additive homomorphic encryption [23]. It has gained popularity due to maintaining
the discretion of the voters’ information. On the other hand, threshold signatures
and trustee shares are used to deploy and decrypt the votes based on the maximum
number of threshold signatures and shares of the election commission members. We
have adopted this system in our research as it can greatly contribute to establishing
a fair, impartial, and transparent election process.
2
rather strenuous, as there are particular security and privacy shortcomings in the
electronic voting system that still allow fraud and poll rigging. We have to ensure
that the individual information of the voters is secure and inaccessible to others in
order to establish an online voting process. However, the gradual increase in inter-
net security and communication security issues has been recently addressed and is
especially focused on. Encryption alone cannot facilitate anonymity in online vot-
ing systems. Because it is still possible for an intruder to trace back to the voters’
confidential information through the votes that they have cast. Hence, more em-
phasis is being put on constructing a more reliable and secure online voting system.
The blockchain approach can solve all these issues with its decentralized system,
as the centralized system is way too faulty with the risks of illegal involvement.
Although at first its use was limited to transactions in cryptocurrency, blockchain
is now gaining popularity at an astounding pace as it can fulfill the requirements
for security and transparency, as well as ensure the anonymity of the voters, elevate
ballot security, and enhance the authenticity of data.
The primary strategy of this research concerns the use of an electronic voting sys-
tem using blockchain to enable voters to shift to online voting, which would preserve
their anonymity and enhance security by replacing the conventional voting system.
The blockchain-based security method maintains two distinct blockchains, where
one is used for conserving the voters while the other is used to save confidential
information about the voters to improve security. Such use of separate blockchains
allows the voters to vote autonomously, ensuring the safety of their personal infor-
mation through the authorization of a PIN confirmation prior to tallying the votes.
Another blockchain is constructed to trace the tallies of the votes by assigning votes
as transactions, which would help the voters tally their own votes themselves and
confirm that no votes were swapped, nullified, or added. Thus, when the results
are published, everyone can settle on the ultimate count. In short, this system can
guarantee fair elections free of fraud and rigging by manifesting a legitimate purpose
where individuals can vote remotely and have authority over their own votes.
• What is blockchain?
• Why is the e-voting system preferred over the conventional voting system?
• Which approach can be used to solve the existing issues in the current voting
system?
3
• How to implement the blockchain based voting system?
• Is it possible to fully ensure a secure online voting system using the proposed
system?
4
together with trustee shares, to publish and decrypt the vote results based on the
majority number of threshold signatures and shares from the members of the election
commission and Ethereum smart contracts to maintain transparency. This research
has used homomorphic encryption together with threshold signatures and trustee
shares in order to establish an optimized online voting system. Using homomor-
phic encryption, votes can be combined without imparting the real votes. In this
case, Ethereum smart contracts provide the transparency, while threshold signa-
tures along with homomorphic encryption are used to decrypt the votes on the basis
of a fixed number of trustee shares. That is, only if a certain number of trustees,
depending on the threshold, provide their signatures would the result of votes be
decrypted and deployed. This system does not allow vote replacement or allow the
same voter to vote multiple times, thus preventing fraudulent votes. Again, this
system ensures the legitimacy of the voters from the updated election commission
database. Hence, phony voters will not be able to cast votes illegally. This system
can achieve the ideal benchmark of carrying out a fair election by providing high
security to the voters and their information without any third party involvement.
5
Chapter 2
Background Study
2.1 Blockchain
Blockchain is a revolutionary technology and in recent days it has gained much pop-
ularity. Basically, blockchain is completely decentralized and it creates a platform
to maintain a shared database of transactions without any central authority. This
technology is getting popular day by day as it provides transparency, security, and
immutability to digital transactions and data.
Anonymity
Users can communicate with the blockchain using a randomly created address that
conceals their true identities. Be aware that blockchain cannot ensure complete
Privacy preservation due to an inherent restriction [28].
Auditability
Using the Unspent Transaction Output (UTXO) architecture, the Bitcoin blockchain
retains information on user balances: Every transaction must refer to some earlier
unpaid transactions. The status of those referred to unspent transactions changes
from unspent to spent once the current transaction is added to the blockchain.
Consequently, transactions could be easily tracked and validated [28].
6
2.1.2 Types of blockchain
Public Blockchain
Public blockchain is one of the most common types of blockchain and it is open and
decentralized. In this type of blockchain anyone interested can access the network
to do transactions. Public blockchain utilizes proof of work or proof of stake models
being used in public blockchain and the validation person earns the transaction
incentives. Bitcoin and ethereum are examples of public blockchain [43].
• Security
Connecting with other users and nodes within the same public network is
possible using the public blockchain, enabling safe, extensive, and increased
involvement. Due to this feature, it is challenging for attackers to access
the systems, and every node will perform verifications and transactions by
standards. Some experts claim that because intelligent cryptogenic encrypting
techniques are applied here, it is significantly safer than the private blockchain
[43].
• Transparent
The openness of the public blockchain is also present, and data is transparent
to all nodes in this system. One blockchain record is often accessible to all
authorized nodes. As a result, there are no fraudulent transactions or infor-
mational secrets here, and all the nodes are open and transparent [43].
7
Disadvantages of Public Blockchain
• Lower Transaction rate
Due to the vast network and numerous nodes in the public blockchain system,
the transaction rate per second is also relatively low. Here, each node must
verify the transaction and do time-consuming proof-of-work. Seven transac-
tions occur in public systems each second, and the Ethereum network here has
a roughly 15 TPS rate [43].
• Scalability
• Sustainability
Private Blockchain
Private blockchain networks, in contrast to public ones, are permissioned, meaning
only those the network administrator has invited are allowed to join [35]. Access
is restricted for both participants and validators without any invitation to join.
Companies who wish to secure their data without giving up autonomy or running
the danger of exposing it to the public internet utilize this type of blockchain network
[32].
• Scalability
8
Figure 2.2: Private Blockchain
A private blockchain is faster than a public blockchain and offers more scalabil-
ity. Here, adding nodes to already-existing ones is simple and quick. Private
blockchains are hence more scalable and adaptable as a result. And here,
adding or removing nodes has no impact on the functioning of the current
systems [43].
As a type of open ledger, public blockchains are concerned with the security
and legitimacy of each user, but private blockchains have fewer users, and so
need to establish trust.
• Reduced Security
A node can more easily hack the entire private blockchain system in this situ-
ation because the private blockchain is vulnerable when a third party acquires
access to the central administration system [43].
Consortium Blockchain
The blockchain network is permissioned and semi-decentralized, similar to the pri-
vate blockchain network consortium, except multiple businesses may each run a node
on such a network rather than a single entity managing it [43].
9
2.1.3 Blockchain Architecture
Distributed Network
A blockchain network is made up of numerous nodes (computers) that are dispersed
throughout it. These nodes participate in the consensus procedure and keep a copy
of the blockchain ledger [47].
Blockchain Ledger
A chain of blocks holding transactions or other data is kept in the ledger, which is
a decentralized database. A chain of blocks is created because each block carries a
cryptographic hash of the one before it [47].
Consensus
Blockchains now include consensus techniques for transaction verification as a fault-
tolerant approach. To maintain agreement among the network nodes, consensus is
used. As the network grows, more nodes are added, making it more challenging
to reach a consensus. Users must participate in a public blockchain to verify and
authenticate the transactions. Blockchain involves adopting a secure method to
maintain the integrity of the transactions, having participants agree on a consensus,
as it is a dynamic, automated system. Different consensus techniques have been put
forth, each with a unique set of underlying ideas and uses [44].
Smart Contracts
Self-executing contracts with established rules inscribed on the blockchain are known
as smart contracts. Without the use of intermediaries, they automatically execute
and enforce agreements. Ethereum is the most widely used blockchain for smart
contracts [17].
Peer-to-Peer Network
Peer-to-peer (P2P) communication protocols are used in blockchain networks to
connect nodes, communicate information, and spread transactions throughout the
system. Examples include the Gossip protocol for Bitcoin and the Whisper protocol
for Ethereum [47].
• POS
PoS is a consensus algorithm where the next block’s creator is selected based on
the stake or ownership of a cryptocurrency. The likelihood that a participant
will be chosen to validate and add new blocks to the blockchain is higher for
10
those with a sizable amount of the coin. PoS is more energy-efficient than
PoW since it requires less powerful computing resources. Several well-known
PoS-based cryptocurrencies include Tezos, Cardano, and Ethereum (which is
switching to PoS) [17].
• PoW
11
to finite sets, addition and multiplication are functionally full sets. It’s interesting
to note that XOR (addition) and AND (multiplication) gates alone can describe
any Boolean circuit. While homomorphic encryption can be programmed to use
specific keys for these operations (asymmetric), it can also be used with symmet-
ric key encryption and decryption. Rothblum (2011) presents a general approach
that shows how symmetric and asymmetric homomorphic encryption methods can
be transformed into one another [12]. A homomorphic encryption system is essen-
tially composed of four fundamental operations namely KeyGeneration, Encryption,
Decryption, and Evaluation. The asymmetric homomorphic encryption scheme gen-
erates a secret and public key pair through the KeyGeneration operation while in
the symmetric system, it produces a single key. KeyGeneration, Encryption, and
Decryption operations perform similar functions as their counterparts in traditional
encryption methods. However, the HE-specific operation, Evaluation, differs in that
it receives ciphertexts as input and produces a corresponding ciphertext for a func-
tioned plaintext. Evaluation performs the function f() on the encrypted data (c1,
c2) without inspecting the messages (m1, m2). Eval takes in ciphertexts (c1, c2)
and returns evaluated ciphertexts. This process ensures that the function f() is ex-
ecuted over the ciphertexts without revealing the plaintext message. Consequently,
the system ensures the confidentiality and integrity of the message while perform-
ing computation. The configuration of the ciphertexts should be retained after an
evaluation method in order to enable an accurate decryption, which is the most
important aspect of homomorphic encryption. Additionally, in order to permit an
endless number of functions, the dimensions of the encrypted message must remain
constant. In contrast, a larger ciphertext will use more resources and restrict the
number of operations. Partially homomorphic encryption schemes are restricted to
supporting the evaluation function for only addition or multiplication, whereas fully
homomorphic encryption schemes can support the evaluation of any function for
an infinite number of times over ciphertexts. This is true of all the homomorphic
encryption techniques that are currently available and mentioned in the literature
[24].
12
1. Paillier Encryption Scheme
13
quality makes RSA encryption suitable for a range of uses, including key
exchange protocols, secure communication, and digital signatures. Large
composite numbers are challenging to factor form the basis of RSA en-
cryption security. The RSA encryption method becomes more secure
when higher prime factors are used in modulus N. By shielding commu-
nications from interception and unwanted access, RSA encryption offers
a dependable and secure mode of communication. The RSA encryption
system continues to be secure since higher prime factors are used in the
modulus N [1].
14
and secure computation outsourcing, these recent developments have only
opened the door for one field of practical applications of FHE [13].
DSA has the same steps as RSA. But the encryption and decryption calculations are
different. In DSA the message is hashed incorporating the public and private keys,
then the total signature with the keys and hashed message is taken to the receiver
where validity is ensured with complex computation with the public key. DSA is a
better and more complex form of RSA, but with a quicker decryption process [4].
15
Figure 2.3: RSA Digital Signature
16
Figure 2.4: DSA Digital Signature
In this scheme n number of people share a secret and only k or more (k¡s)
number of shares is required to get back the secret. Each participant holds a
fragment of the main message, but the total message can be found out without
the collaboration of all the shareholders [34].
Here the signers are given a public and private key pair after generating them.
The private key will never be known to other signers. The key is generated
only in collaboration of all the signers, but the whole of the private key is not
known to none [9].
17
Figure 2.5: Samir’s Secret Sharing Scheme
• Cloud protection: Another technology that has got a boom in the last few
years is Cloud Computing. With more businesses using cloud computing, the
integrity of the information needs to be maintained more than ever. These
sensitive data can now be protected through the use of threshold signature
[18].
• Internet Of things: Many times components that fall under the internet
of things do have sophisticated mechanisms to protect their information from
vulnerabilities. Most of the time the builder does not heed any importance to
the safety of the information transferred by the device over the internet. Any
information surfacing on the internet is very vulnerable. Threshold signature
has emerged as a solution here [42].
18
Chapter 3
Literature Review
In this article, Thuy et al [33] thoroughly examine the prerequisites before presenting
Votereum, an E-voting system that leverages blockchain technology. The suggested
system is fortified by the Ethereum platform, which comprises a singular server
that oversees the entire system, and another that handles all blockchain-related re-
quests. Additionally, the implementation has been deployed to the Rinkeby testing
network utilizing Angular UI, NodeJS servers with RabbitMQ to evaluate the feasi-
bility, along with a discussion on some security concerns. The primary functions of
the Votereum system encompass generating fresh ballots, registering voters, casting
votes, and retrieving the current vote count. Overall, the system allows users to
access the voting system through the user interface, interacts with the Ethereum
network through the Online Ballot Regulator (OBR), and ensures data credibility
and security via blockchain technology.
In this study, Ahn et al [46] introduce a system for electronic voting on the Ethereum
platform. This system effectively addresses the issue of fraudulent voting through the
enhancement of safety and reliability in the electronic voting process. The system’s
implementation is based on Ethereum blockchain technology, employing Express.js
for webpage development and Web3.js for front-end integration. The system secures
voter accounts through AES encryption and stores them in a database. Voting is
conducted through smart contracts and includes functions for casting, confirming,
and counting votes. Nevertheless, challenges persist in ensuring direct participation
and preventing proxy voting in remote scenarios.
In this paper, Zhang et al [48] propose a protocol for electronic voting (e-voting)
on the Ethereum platform called Ques-Chain. The protocol ensures authentication
without compromising confidentiality and anonymity without exposure to scams.
The essay highlights three essential contributions. Firstly, it proposes a message
authentication and transmission mechanism that enables permission checking while
preserving anonymity in various scenarios. Secondly, it decouples the blind sign-
ing and checking process into three steps, which maintain anonymity and message
confidentiality while not sacrificing authentication. Thirdly the protocol has been
developed utilizing dependable computing technology on the Ethereum platform,
thereby ensuring the credibility of all parties involved.
19
for implementing e-voting applications. The study specifically focuses on imple-
menting and testing a sample e-voting application as a smart contract on the
Ethereum network using Ethereum wallets and the Solidity language. To address
the issue of a transparent and reliable environment, the author suggests utilizing
peer-to-peer technology. The results of the contracts can be calculated by all peers
since Ethereum does not require a centralized organization to deliver proof-of-work
(PoW).
In this scholarly article, Khoury et al [27] present a novel method to address trust
issues in voting systems using Blockchain technology. The system ensures data in-
tegrity, transparency, and privacy while enforcing a singular vote per mobile phone
number. The authors verify their proposed voting scheme, which utilizes Solidity,
NodeJS, Web3js, and an HTML5 web app compiled with Apache Cordova. The
Ropsten Testnet simulates the Blockchain network, and Twilio is used as the SMS
gateway API. The system architecture facilitates the creation and management of
voting events, authentication of voters, and real-time visualization of voting results.
User registration requires a unique PIN, and voting confirms registration and ad-
justs the vote count accordingly.
In this article[41], the authors explain their objective to design a digital voting
architecture, including a smart contract, to provide authentication, transparency,
anonymity, and accuracy. The architecture works by creating a chain of hashes,
with each hash function created from each voter’s information. Any changes in
the hash would be detectable. The miner is selected by the smart contract, con-
sidering various factors including energy usage and data transmission. In order to
manage enormous data created during voting, the system records the data system-
atically using three different storage systems: one to store voters’ information, one
for blockchain storage, and a separate copy of the Election Commission’s database.
Finally, their system’s counting mechanism reduces time consumption, as the pro-
cess counts votes in each block. After the voting process terminates, the last block
reveals the total votes.
In this study [26], the author proposes a blockchain-based e-voting system utiliz-
ing Crypto-voting. The system is designed as a multichannel hybrid system, and
the author aims to employ a permissioned blockchain to ensure access control and
preserve anonymity. The model consists of two interconnected chains: the first side
chain governs all voting operations, while the second side chain manages the final
result. To facilitate the voting process and outcome, a smart contract is employed.
The author asserts that this model would particularly benefit remote users, such as
voters living abroad, as they would be able to cast their votes using mobile devices
or personal computers.
In this paper, Yi et al [35] emphasize the several methods that can be utilized
to exploit blockchain technology in P2P networks to strengthen the security of
e-voting. Firstly, a synchronized voting record model is recommended, which is
founded on distributed ledger technology (DLT) and aims to diminish the likelihood
of vote falsification. Secondly, for authentication and non-repudiation of credentials,
a cryptographic algorithm has been developed by utilizing Elliptic Curve Cryptogra-
20
phy (ECC). Additionally, a withdrawal model is introduced, which empowers voters
to modify their vote until a predetermined deadline. For significant protocols of e-
voting systems, they proposed a blockchain-based e-voting scheme in P2P network
by deploying the above designs. To verify and substantiate the proposed plan, a
blockchain-based electronic voting system, designed for multiple candidates, is im-
plemented on Linux platforms within P2P networks.
In this study [39], the author proposes a combined model. This model combines
two consensus protocols, Proof of Stake(PoS) and Proof of credibility(PoC). In this
model, two blockchains can work in parallel. Thus a private chain functions as a
side chain and stores hashes of the public chain inside of its own block. Sharding
is introduced for effective data management during the process. Here nodes are
assigned at random using Verifiable Random Functions (VRF) and Verifiable Delay
Functions (VDF). To ensure a reliable public bulletin board and a secure comput-
ing environment, the model intends to use a smart contract. Finally, a dedicated
server enables node authentication and includes user credentials to publish ballots
to public blockchain.
In this research [19], the author proposes a model by pointing out that the ex-
isting voting schemes based on homomorphic encryption need an overseer which
makes it vulnerable to single point of failure. The proposed model of this research
thus intends to use a multiplicative homomorphic approach. This approach would
provide special privileges to voters and these privileges would help to protect vot-
ers’ confidentiality, anonymity, and reliability on the whole system. The suggested
method relies on both public and private clouds. It utilizes the advantages of public
cloud to authenticate, compute, and multiply encrypted messages before showing
the results.Finally, the private cloud would be used by election administration to
store candidate and voter information and to calculate the final results after de-
crypting the data.
In this study [20], the author proposes a model based on the Paillier homomor-
phic encryption scheme. This scheme has an additive homomorphic property and
is a probabilistic asymmetric encryption method. The suggested model uses public
21
and private keys as its main components. A unique integer produced from two prime
numbers is contained in the public key. A special formula is used to transform it into
a hard-to-read form to encrypt the vote. To decrypt it, only the private key would
be needed. The private key also provides functionalities like performing calculations
on encrypted messages. To sum up, the Paillier cryptosystem enables performing
calculations on encrypted messages in e-voting systems without revealing the ac-
tual content of the messages until the final decryption step. The proposed system
includes a graphical user interface (GUI) and will be implemented using the Java
programming language, with MySQL utilized as the database.
22
Authors Platform Applied Technique
23
Used Proof of Work algorithm
Yavuj et al Ethereum
Peer to Peer Technology
24
The system has two main components:
the private key and the public key
The public key contains a special num-
ber derived from two prime numbers.
To encrypt a vote, a formula
is used to transform it into a en-
crypted form
The private key is needed to decrypt
Anggriane et Not men-
the message and convert it back to its
al tioned
original form
The proposed system includes a graph-
ical user interface (GUI) and will be
implemented using the
Java programming language, with
MySQL utilized as the database
25
Chapter 4
Methodology
1. Voter Registration
2. Voting
3. Party Registration
4. Contract Deploy
26
Figure 4.1: Voter Registration
4.2 Voting
On the voting day, the user will be able to vote online and login in with required
information. The login information will be verified from the already updated Elec-
tion Commission database, and the voters now can see all the candidates to vote
from. The voters will choose from the candidates list and a pop up will show if the
voter is sure to vote for the specified candidate. If yes, then the vote will directly
be taken to the smart contract with the party ID of the selected party.
27
array using the pardyId as index. A separate array will keep the other information
related to the candidate. All this will be done by the election commissioner after he
calls the method responsible for registering the parties.
Now we take an array of length equal to the number of trustees. For each trustee
corresponding to their public key we produce private keys, such that private equals
to an integer. This number will now be pushed into the array for private keys for
the trustees. Now with the given public key and the newly computed private key,
28
a share will be produced for each of the trustees. For simplicity of calculation we
produced a share which is equal to the product of 5 and the private key added to
the public key. This share calculation can be done in a more complex manner. The
trustee share now will be kept in the list of trustee shares according to a specific
index reserved for specific trustees. While we calculate each share, we also aggregate
them for future reference.
For encryption we have to maintain the following calculation: We take two co-prime
numbers p and q, We set;
p = 42;
q = 43; (p and q are two co-prime numbers so that gcd(pq, (p-1)(q-1))=1)
n = p ∗ q;
g = n + 1; (g can be randomized; but simpler to take n+1 if p and q are of equal
length)
λ = lcm(p − 1, q − 1);
µ = (L(g λ mod n2 ))−1 mod n; (here, L(x) = (x-1)/n)
Public key, pk=(n,g)
Private key, sk=(λ, µ) [22]
4.5.1 Encryption
Now for encryption, if m is the message
Then cypher text, c = g m ∗ rn mod n2 ; where r is a random number (0<r<n)
29
threshold. Then if the party id is valid the shares of the trustees are aggregated.
The sum is matched with the aggregated share from the previously counted share
list. If they match then the vote count of the particular party is pulled out of the
array.
4.6.1 Decryption
m = L(cλ mod n2 )µ mod n [22]
30
Chapter 5
5.2 Vote
Here to vote the vote function is to be called by the voter. After all the conditions
are met the voter can vote for their desired party. Here when the voter selects the
candidate, in this case for a party with partyId 1, the vote will be homomorphically
encrypted, and will be aggregated with the previous vote count. As the aggregation
is done on encrypted data, the sum is also a cipher text, which holds the actual
result. If we see the party information for partyId 1, then we will see, in encrypted
vote count the value becomes 911858, which is the cipher text for vote count 1, as
after the first vote the vote count became 1.
31
we want to see the trustee share of the first trustee, we can just call the first instance
from the trustee share list. Like this all the shares from each trustee can be retrieved
from the list.
For the aggregated share, we only take the share of the trustee members who will
take part to create the threshold signature to retrieve the result. The function takes
a list as input, containing the shares of the participating trustees (who are taking
part in building the threshold signature). The aggregation of the shares gives a
uint256 value. If it matches the threshold signature previously counted then the
result is retrieved and deciphered.
32
Figure 5.2: Cost To Deploy Contract
Here we can see the cost related to different functions. There are other functions but
the core functions and cost related to them are described in the graph. The most is
spent in the Party registration method. Least gas cost is for the Get Result method.
It is also noticeable that the Get Result function do not have any transaction cost
or gas cost. This is because there is no transaction happening in the function.
33
5.6 Genesis Block Creation
This is the information of the first block created on deployment of the smart contract
34
Chapter 6
In this paper, we have attempted to replace the conventional centralized voting sys-
tem by introducing a blockchain based e-voting system where, by incorporating ho-
momorphic encryption with threshold signature and trustee share a fair election can
be processed. Because of its decentralization concept, it has achieved much recogni-
tion by the developed countries. Many developing nations like Bangladesh are also
adopting this into their security systems in order to maintain high confidentiality,
pliability and authenticity. The proposed system offers a complete modification of
the existing faulty voting system by demonstrating an upgraded blockchain based
electronic voting system which if implemented in the correct fashion would bring
about outstanding outcomes in the voting system as it would enhance the most
important features such as- security, confidentiality, transparency, viability, verifia-
bility, and cost of a voting system with the exceptional attributes of homomorphic
encryption integrated with threshold signature and trustee share. Although there
are some constraints such as restricted accessibility, this system has tried to engage
the utmost use of these methods to bring out the maximum results in order to guar-
antee a fair election. In the future, by modifying this system using more advanced
algorithms that are yet to be discovered, it can also be used at international levels.
Our future work involves optimizing algorithms, improving energy efficiency, scala-
bility, and addressing anomalies in blockchain systems. We aim to make the system
more accessible and secure by focusing on user-friendly interfaces, strict security
measures, and continuous advancements. Besides, we will introduce N to N Verify
Ability. This is the ways for voters to know their vote was counted in right way.
Also, we are planning to remove the receiptfreeness of this system. If we remove
this, every voter will get a receipt after their voting process. To conclude, gaining
the desired level of security and fairness in the electoral process is not a far-fetched
idea anymore as the use of decentralized blockchain is increasing profoundly leading
to a safer, more transparent world.
While the proposed study aims to revolutionize the voting system, it’s important to
acknowledge and address the limitations that can affect its effectiveness. There are
few limitations that our model is unable to control-
• Malicious use by individuals: The proposed system may not achieve its goal of
transparency and fairness if individuals with malicious intent manipulate the
voting process. For example, teams participating in the voting system could
potentially visit voters’ houses and forcefully cast votes in favor of their team.
35
• Coerciveness: The proposed system may not achieve its goal of transparency
and fairness if individuals with malicious intent manipulate the voting process.
For example, teams participating in the voting system could potentially visit
voters’ houses and forcefully cast votes in favor of their team.
Since blockchain technology is still on the rise, there might be some anomalies in
the systems implemented using it. Because these systems require a lot of different
complicated algorithms, optimizing their time and space complexity requires a lot
of work, which is inefficient. Different methodologies of blockchain such as the
Ethereum smart contract, Threshold signature, Ring signature etc., demand high
energy input thus resulting in scalability issues and sometimes generating unyielding
data and reducing performance. Such issues with the existing algorithms are making
the familiarization of these systems much more difficult as blockchain is a whole
new concept. Our proposed system attempts to make the voting process a lot
easier, secure and viable by using the concept of homomorphic encryption along
with threshold signature and trustee share. However, due to the lack of advanced
algorithms and more feasible methodologies, some limitations might still persist for
instance, limited accessibility because of poor internet connectivity and inability
to replace votes as this system does not allow voters to vote multiple times. As
the world has yet to discover more about this technology, these limitations can be
solved in future with much more advanced algorithms and by improving the existing
algorithms thus establishing a completely faultless and safe online voting system in
future.
36
Bibliography
[1] R. L. Rivest, A. Shamir, and L. Adleman, “A method for obtaining digital sig-
natures and public-key cryptosystems,” Communications of the ACM, vol. 21,
no. 2, pp. 120–126, 1978. [Online]. Available: https://doi.org/10.1145/359340.
359342.
[2] R. L. Rivest, L. Adleman, and M. L. Dertouzos, “On data banks and privacy
homomorphisms,” Foundations of Secure Computation, vol. 4, no. 11, pp. 169–
180, 1978.
[3] T. Elgamal, “A public key cryptosystem and a signature scheme based on
discrete logarithms,” IEEE Transactions on Information Theory, vol. 31, no. 4,
pp. 469–472, 1985. [Online]. Available: https : / / doi . org / 10 . 1109 / tit . 1985 .
1057074.
[4] NIST, “The digital signature standard,” Communications of the ACM, vol. 35,
no. 7, pp. 36–40, 1992. doi: 10.1145/129902.129904. [Online]. Available: https:
//dl.acm.org/doi/pdf/10.1145/129902.129904.
[5] Y. Desmedt, “Threshold cryptosystems,” in Lecture Notes in Computer Sci-
ence, 1993, pp. 1–14. [Online]. Available: https://www.iacr.org/cryptodb/
data/paper.php?pubkey=167.
[6] D. S. Malik, J. N. Mordeson, and M. K. Sen, Fundamentals of abstract algebra.
1997. [Online]. Available: http://ci.nii.ac.jp/ncid/BA30881770.
[7] C. Wang, Generalization of threshold signature and authenticated encryption
for group communications, 2000. [Online]. Available: https://search.ieice.org/
bin/summary.php?id=e83-a 6 1228.
[8] Y. Cao and C. Fu, “An efficient implementation of rsa digital signature algo-
rithm,” in 2008 International Conference on Intelligent Computation Technol-
ogy and Automation (ICICTA), 2008. doi: 10.1109/icicta.2008.398. [Online].
Available: https://ieeexplore.ieee.org/abstract/document/4659731.
[9] Distributed key generation for the internet, 2009. [Online]. Available: https:
//ieeexplore.ieee.org/abstract/document/5158416.
[10] C. Gentry, A fully homomorphic encryption scheme, 2009. [Online]. Available:
https://evervault.com/papers/gentry.pdf.
[11] A. Kate and I. Goldberg, Distributed key generation for the internet, 2009.
[Online]. Available: https://ieeexplore.ieee.org/abstract/document/5158416.
[12] R. Rothblum, “Homomorphic encryption: From private-key to public-key,”
pp. 219–234, 2011. [Online]. Available: https://doi.org/10.1007/978-3-642-
19571-6 14.
37
[13] A. López-Alt, E. Tromer, and V. Vaikuntanathan, “On-the-fly multiparty com-
putation on the cloud via multikey fully homomorphic encryption,” in Pro-
ceedings of the 44th Symposium on Theory of Computing - STOC ’12, 2012.
[Online]. Available: https://doi.org/10.1145/2213977.2214086.
[14] K. Labs, Financial cyber threats in 2013. part 2: Malware, 2013. [Online].
Available: http://securelist.com/analysis/kaspersky-security-bulletin/59414/
financial-cyber-threats-in-2013-part-2-malware/.
[15] R. McMillan, Apple finally reveals how long siri keeps your data, Apr. 2013.
[Online]. Available: https://www.wired.com/2013/04/siri-two-years/.
[16] L. Morris, Analysis of partially and fully homomorphic encryption, 2013. [On-
line]. Available: http : / / gauss . ececs . uc . edu / Courses / c5156 / pdf / homo -
outline.pdf.
[17] V. Buterin, “Ethereum: A next-generation smart contract and decentralized
application platform,” 2014. [Online]. Available: https://ethereum.org/ethereum.
pdf.
[18] Confidentiality in the cloud, 2015. [Online]. Available: https://ieeexplore.ieee.
org/abstract/document/7031826.
[19] A. Azougaghe, M. Hedabou, and M. Belkasmi, An electronic voting system
based on homomorphic encryption and prime numbers, 2016. [Online]. Avail-
able: https://ieeexplore.ieee.org/abstract/document/7492759/.
[20] S. M. Anggriane, S. M. Nasution, and F. Azmi, Advanced e-voting system using
paillier homomorphic encryption, 2017. [Online]. Available: https://ieeexplore.
ieee.org/document/7905741/.
[21] A. B. H. Ayed, “A conceptual secure blockchain based electronic voting sys-
tem,” International Journal of Network Security and Applications, vol. 9, no. 3,
pp. 01–09, 2017. doi: 10.5121/ijnsa.2017.9301.
[22] R. Harerimana, S. Tan, and W. Yau, A java implementation of paillier ho-
momorphic encryption scheme, 2017. [Online]. Available: https://doi.org/10.
1109/icoict.2017.8074646.
[23] J. Hsiao, R. Tso, C. Chen, and M. Wu, “Decentralized e-voting systems
based on the blockchain technology,” 2017. [Online]. Available: https://www.
researchgate . net / publication / 321947971 Decentralized E - Voting Systems
Based on the Blockchain Technology.
[24] A. Acar, H. Aksu, A. S. Uluagac, and M. Conti, “A survey on homomorphic
encryption schemes,” ACM Computing Surveys, vol. 51, no. 4, pp. 1–35, 2018.
[Online]. Available: https://doi.org/10.1145/3214303.
[25] C. Adiputra, R. Hjort, and H. Sato, “A proposal of blockchain-based electronic
voting system,” in 2018 International Conference on Information Networking
(ICOIN), IEEE, 2018, pp. 614–619. [Online]. Available: https://ieeexplore.
ieee.org/document/8611593.
[26] F. Fusco and et al., Crypto-voting, a blockchain based e-voting system, 2018.
[Online]. Available: https://www.scitepress.org/Link.aspx?doi=10.5220%
2F0006962102230227.
38
[27] D. Khoury, E. F. Kfoury, A. Kassem, and H. Harb, “Decentralized voting
platform based on ethereum blockchain,” in 2018 IEEE International Mul-
tidisciplinary Conference on Engineering Technology (IMCET), 2018. doi:
10.1109/imcet.2018.8603050.
[28] P. G. Naidu and P. R. Mishra, “Blockchain technology architecture and key
characteristics,” International Journal of Advance Research, Ideas and Inno-
vations in Technology, vol. 4, no. 3, pp. 188–193, 2018. [Online]. Available:
https : / / ijariie . com / AdminUploadPdf / BLOCKCHAIN TECHNOLOGY
ARCHITECTURE AND KEY CHARACTERISTICS ijariie9037.pdf.
[29] M. Yadav and Pooja, “Digital signature,” International Journal of Scien-
tific Research in Computer Science, Engineering and Information Technology,
2018. [Online]. Available: https://tinyurl.com/Digital-Signature-Yadav.
[30] E. Yavuz, A. K. Koc, U. C. Cabuk, and G. Dalkilic, “Towards secure e-voting
using ethereum blockchain,” in 2018 6th International Symposium on Digital
Forensic and Security (ISDFS), 2018. doi: 10.1109/isdfs.2018.8355340.
[31] H. G. Liddell and R. A. Scott, An Intermediate Greek-English Lexicon: Founded
Upon the Seventh Edition of Liddell and Scott’s Greek-English Lexicon. 2019.
[Online]. Available: http://ci.nii.ac.jp/ncid/BA00282642.
[32] M. S. U. Miah, M. Rahman, M. S. Hossain, and A. A. Rupai, “Introduction
to blockchain,” 2019. [Online]. Available: https : / / www . researchgate . net /
publication/343601688 Introduction to Blockchain.
[33] L. V.-C. .-. Thuy, K. Cao-Minh, C. Dang-Le-Bao, and T. A. Nguyen, “Votereum:
An ethereum-based e-voting system,” in 2019 IEEE-RIVF International Con-
ference on Computing and Communication Technologies (RIVF), 2019. doi:
10.1109/rivf.2019.8713661.
[34] R. Tso, Z.-Y. Liu, and J.-H. Hsiao, “Distributed e-voting and e-bidding sys-
tems based on smart contract,” Electronics, vol. 8, no. 4, p. 422, 2019. [Online].
Available: https://www.mdpi.com/2079-9292/8/4/422.
[35] H. Yi, “Securing e-voting based on blockchain in p2p network,” EURASIP
Journal on Wireless Communications and Networking, vol. 2019, no. 1, 2019.
doi: 10.1186/s13638-019-1473-6.
[36] S. Ergenzer, H. Kinklin, and F. Rezabek, A survey on threshold signature
schemes, 2020. [Online]. Available: https://www.net.in.tum.de/fileadmin/
TUM/NET/NET-2020-11-1/NET-2020-11-1 10.pdf.
[37] V. Holotescu and D. Andone, “Challenges and emerging solutions for pub-
lic blockchains,” Broad Research in Artificial Intelligence and Neuroscience,
vol. 11, no. 1, pp. 58–83, 2020. [Online]. Available: https://www.researchgate.
net/publication/339985291 Challenges and Emerging Solutions for Public Blockchains.
[38] K. M. Khan, J. Arshad, and M. M. Khan, “Investigating performance con-
straints for blockchain-based secure e-voting system,” Future Generation Com-
puter Systems, vol. 105, pp. 13–26, 2020. doi: 10.1016/j.future.2019.11.005.
[39] R. Kumar, T. Yang, and J. Onginjo, “Secure large-scale e-voting system based
on ...,” Wiley Online Library, 2020. doi: 10.4218/etrij.2019-0362.
39
[40] D. Pawar et al., “Implementation of secure voting system using blockchain,”
International Journal of Engineering Research & Technology, vol. 9, no. 06,
pp. 141–146, 2020. [Online]. Available: https : / / www . ijert . org / research /
implementation-of-secure-voting-system-using-blockchain-IJERTV9IS060974.
pdf.
[41] S. Tasmia Alvi, M. N. Uddin, and L. Islam, Digital voting: A blockchain-based
e-voting system using biohash and smart contract, 2020. [Online]. Available:
https://ieeexplore.ieee.org/abstract/document/9214250.
[42] A review of distributed access control for blockchain systems towards securing
the internet of things, 2021. [Online]. Available: https://ieeexplore.ieee.org/
abstract/document/9310182.
[43] P. K. Aithal, P. S. Saavedra, S. Aithal, and S. Ghoash, “Blockchain tech-
nology and its types-a short review,” 2021. [Online]. Available: https : / /
www . researchgate . net / publication / 359051731 Blockchain Technology and
its Types-A Short Review.
[44] B. Lashkari and P. Musilek, “A comprehensive review of blockchain consensus
mechanisms,” IEEE Access, vol. 9, pp. 43 620–43 652, 2021. [Online]. Available:
https : / / www . researchgate . net / publication / 350031088 A Comprehensive
Review of Blockchain Consensus Mechanisms.
[45] P. Paillier, “Public-key cryptosystems based on composite degree residuosity
classes,” in Advances in Cryptology — EUROCRYPT ’99, 2021, pp. 223–238.
[Online]. Available: https://doi.org/10.1007/3-540-48910-x 16.
[46] B. Ahn, “Implementation and early adoption of an ethereum-based electronic
voting system for the prevention of fraudulent voting,” Sustainability, vol. 14,
no. 5, p. 2917, 2022. doi: 10.3390/su14052917.
[47] S. Nakamoto, “A peer-to-peer electronic cash system, bitcoin,” [Online]. Avail-
able: https://bitcoin.org/bitcoin.pdf.
[48] Q. Zhang, B. Xu, H. Jing, and Z. Zheng, Ques-chain: An ethereum based e-
voting system, n.d. [Online]. Available: https://arxiv.org/pdf/1905.05041.pdf.
40