Professional Documents
Culture Documents
Remote E Voting Using Blockchain Divya Rathore 31903204
Remote E Voting Using Blockchain Divya Rathore 31903204
A Dissertation
Master of Technology
Submitted by
Divya Rathore
June, 2021
Department of Computer Engineering
National Institute of Technology Kurukshetra
Haryana, India-136119
Candidate’s Declaration
I hereby declare that the work presented in the dissertation entitled ”Secure Re-
mote E-Voting Using Blockchain” in partial fulfillment of the requirements for the award
of the Degree of Master of Technology and submitted in the Department of Computer
Engineering of the National Institute of Technology Kurukshetra is an authentic record of
my own work carried out during a period from June 2020 to June 2021 under the super-
vision of Dr. Virender Ranga, Department of Computer Engineering, National Institute
of Technology Kurukshetra.
The matter presented in this dissertation has not been submitted by me for the
award of any other degree of this or any other Institute/University.
(Divya Rathore)
(Reg. no. 31903204)
This is to certify that the above statement made by the candidate is true to the
best of our knowledge and belief.
i
Department of Computer Engineering
National Institute of Technology Kurukshetra
Haryana, India-136119
Acknowledgements
The completion of this dissertation work would not be completed without the
assistance and support of so many people and organization who’s names may not be
enumerated. However, I would really like to mention few of them. First of all, I would
thank god for accomplishment of my duties. Foremost, I would like to express my sincere
gratitude to my Supervisor Dr. Virender Ranga, Assistant Professor in Department of
Computer Engineering for his continuous encouragement, endurance, support, and passion
for new technology. His leadership and insightful comments help me for the research in this
field and writing of this dissertation. He spent his precious time to guide me through my
research work and dissertation. My heartfelt thankfulness go to Prof. Mayank Dave, Head
of Computer Engineering Department and Dr. Priyanka Ahlawat, M. Tech dissertation
Evaluation Committee for their help in this work. My appreciation goes to my friend
Sagar Jana for giving new ideas, helping me and improving through my research problem
along with the moral and continuous upliftment in the tough time of pandemic. Most
importantly, I would like to thank my parents for their continuous love and support.
Lastly, I am thankful and grateful to the Almighty for helping me in this project.
Date: 31903204
ii
Abstract
iii
Table of Contents
Candidate’s Declaration i
Acknowledgements ii
Abstract iii
Table of Contents v
List of Figures vi
1 INTRODUCTION 1
1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Objective and Contribution . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Outline of Dissertation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 LITERATURE REVIEW 5
2.1 Background Study . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.1 Elliptic Curve Cryptography . . . . . . . . . . . . . . . . . . . . . . 5
2.1.2 Digital Signatures . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.3 Blockchain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Ethereum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3 REMOTE E-VOTING 16
3.1 Proposed Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.1.1 E-Voting System Architecture . . . . . . . . . . . . . . . . . . . . . 18
3.2 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
iv
4.1.4 Vote Decryption by EO . . . . . . . . . . . . . . . . . . . . . . . . 24
4.2 Performance and Security Analysis . . . . . . . . . . . . . . . . . . . . . . 25
4.2.1 Performance Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.2.2 Security Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Authenticity & Anonymity . . . . . . . . . . . . . . . . . . . . . . . 27
Vote Forging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Uniqueness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Reliability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Bibliography 33
List of Publications 36
v
List of Figures
vi
List of Tables
vii
List of Abbreviations
viii
Chapter 1
INTRODUCTION
E-Voting or Electronic Voting is a voting technique that has been taken into effect with
the help of electronic means which helps to ease both the participants and the procedure
of counting. In the past years voting all over the world has gone through multiple phases
starting from ‘Balloting System’ then to ‘Marking System’ and eventually to EVMs. In
the current era the efforts are constantly made by various researchers to move toward a
revolution of E-Voting (1) by providing a strict security (2) over the votes and voters by
inheriting the fundamentals of voting along with the provision to incorporate the rules and
regulations imposed by the regulatory authority. In the process of remote voting achieving
security over the entire system is of utmost concern and requires major attention. Thus
this leads to its concern with same importance as other well-known critical systems like air
traffic control systems, nuclear control systems etc. But although with continuous efforts,
unfortunately there has been a history of failures as a result of which there are many
people who has challenged the democratic behaviour of the county which arises basically
due to blind trust and centralisation procedure being followed. Because of this disturbing
frequency of malfunctions like votes and voters security, attack sustainability, forging,
manipulation by various sets of users in such a critical systems, it necessarily demands for
handling the falls of the existing system. Thus the dissertation aims to provide a proof of
concept and a full secure dApp under a decentralised environment instead of traditional
client-server architecture as in Fig 1.1 for implementing a remote internet-based voting
system providing the physical absence of any invigilating authority thereby providing the
provision for voters to cast the vote from home location. The blockchain-based system
1
along with the implemented cryptosystem has been designed to provide reliability, secu-
rity, anonymity, tamper-proofing, non-coercibility of the votes and the voters. The system
is also resistant to the prediction of winning party until the results are announced thereby
building the citizen trust as it adds transparency and security to the voting system. The
designed system presented in this dissertation has the capability of either to be deployed
as a standalone system or it can also be merged with other existing system to improve
the security of the working model.
1.1 Motivation
The decentralised nature of the system where the authority over the database gets shifted
from a single party to multiple participating users will tend to provide an environment
where the forging of the data stored onto the system can be eliminated thereby providing
a proofreading system to all. In this type of system each and every interaction with the
database is recorded onto the network and thus any false attempt can be traced back
to the identity responsible for it. This type of decentralised system also has the ability
to rollback to a consistent state with the help of forking mechanism where the blocks
in chain can be invalidated by the organising party thereby providing the capability to
remove any false attempts made by the users in the open-system.
2
1.2 Objective and Contribution
With the increase in the awareness of voting among the people and their incapability to
cast their vote from remote location, there has been an major growth in the academics
for the requirement of remote, secure voting procedure where the voters can elect the
representative without proving their choice thus making the system coercive-resistant. In
order to achieve this type of nature, there has been a key requirement of managing the
votes in such a way that they are free from solitary dominance and tamper proof.
In order to achieve this system, with the development of decentralized systems,
there has been a call for moving the centralized voting authoritative system to a decen-
tralized system where any tamper or alteration cannot be done easily or if done then
can be traced back to its origination without loss and thereby following a peer consen-
sus proof for any transaction done on the contract. Thus, the aim of this dissertation
is to design a remote voting system with capability to remove the blind trust over the
system like that in the case of centralized trusted authority by developing a blockchain-
based secure, tamper-proof, non-coercible and reliable voting system through elliptic curve
cryptography without compromising the identity of the authenticated eligible voter to the
organising entity. The design of the system also maintains the secrecy of the prediction of
the winning candidate until the vote counting phase starts. Thus this system contributes
to develop a preserve the secrecy with the help of advanced cryptographic techniques with
the help of decentralization of the authority.
• Chapter 2 discusses the literature review which shows background study and related
work in this area.
• Chapter 3 focuses on the designing and system architecture of the designed sustain-
able system including the phases followed in the model and the flow of the whole
process.
3
• Chapter 4 discusses about the security parameters achieved in the designed system
with the application of cryptographic techniques and the blockchain technology.
• Chapter 5 concentrates on the performance analysis of the designed system and the
variation on the cost incurred on participating parties depending on various factors.
1.4 Summary
In this chapter a brief introduction about the need of remote e-voting is discussed. It also
mentioned the effects and advantages that can be taken from the distributed ledger in
order to achieve a secure environment of voting. Motivation, objective and contributions
are also presented in this chapter. In next chapter, a comprehensive literature review is
presented.
4
Chapter 2
LITERATURE REVIEW
The need for communication over the insecure channel for casting votes requires the calls
for cryptography in our model. This technique allows the users to caste their votes over
the system by creating a secure channel as in Fig 2.1. Cryptography, in its history has
breakthrough advancement from symmetric key exchange as in Fig 2.2 to asymmetric key
exchange as in Fig 2.3. The differences among these two basically lies in the way the keys
are used to decrypt the encrypted information such that the symmetric exchange uses
a common key for encryption-decryption purpose whereas the asymmetric key exchange
doesn’t depend on sharing the key itself instead the exchange depends on smart mathe-
matics behind it. But at the end, it has to be assured by the parties that the keys has to
be changed regularly to reduce the vulnerability by creating the session keys.
Symmetric key cryptography has seen a long way until the standard DES of 64-
bit block cipher was compromised and the cryptographers were not able to resolve it due
to its anonymous and random key scheduling standards. Also the other advanced DES
techniques like triple DES were not efficient in terms of time complexity thus it called for
another standardization with non-randomized key scheduling algorithm which gave rise
to AES and is used as a widespread technique in symmetric key cryptographic technique.
AES-128 among multiple variants of AES i.e. AES-128 bit key with 10 rounds, AES-192
5
Figure 2.1: Secure vs Insecure Channel
bit key with 12 rounds and AES-256 bit key with 14 rounds has been standardized due
to the difficulty analysis and time complexity.
The cyptographic world was given a new direction by Diffie Hellman to the key
exchange protocols with the help of asymmetric key cryptographic or PKC which allows
the two parties to agree on a common key without even exchanging the true key used. The
keys formed under these techniques are basically follows the fundamenetals of abstract
algebra and abide by the rules of a cyclic group of prime order due to the limited memory
of our computer systems which thus provides multiple mapping of a number. This ths
6
gives rise to the discrete log problem which is hard to solve and provides strong foundation
for elliptic curves.
Discrete Log Problem states that if we consider a prime number p then Zp∗ =
Zp –{0} is a cyclic group with g as a primitive element of the group, then with the above
given condition if we compute
then given the values of g, and p computing a is hard. This type of cryptosystem is called
as El-Gammal cryptosystem and gives rise to elliptic curve cryptography which imposes
the difficulty of determining the value of a over the elliptic curve taken under a prime
order p over Zp . The elliptic curve E can be defined as
where Φ is defined as a point at infinity. The curve taken under the operation ‘+’ i.e.
(E,+) forms the abelian group and thus produces a non-singular elliptic curve over Zp .
With the advancement of data sharing techniques over the channel, a strong need was con-
sidered in order to determine the authenticity of messages among various clients sharing
the data such which can be mimiced with the physical world as an handwritten signatures
7
by the individual to bind the authenticity of the document. So a technique of digital sig-
nature was designed which allows the signing party to have the control over its individual
identity with the help of unique key and a shareable key called the public key which
can be broadcasted to other parties to determine the authenticity of the digitally signed
document. The heart of the digital signatures revolves around the PKC where a pairs
of keys called the public and the private keys is there with every individual and before
transmitting the document, it has to signed with the help of private key and the text
encrypted with the private key can only be decrypted with the public key provided by
the individual, providing a one to one correspondence among the keys to ensure message
authenticity.
In the context of only signing the document multiple problems may arise like
confidentiality of the message is at a stake as even if the network is closed and only trusted
parties are allowed to participate but even in that case also there is a need of certain level
of privacy among the participating entities. So this confidentiality and message authenti-
cation can be achieved with the help of hashing along with symmetric key cryptography
as being low computation intensive compared to public key infrastructure. Fig 2.4 illus-
trates a way to achieve to both message authenticity and confidentiality with a mixture
of public key cryptography and symmetric key encryption.
To achieve symmetric key encryption in order to have low computational cost
Diffie Hellman key exchange protocol can be used to share the secret key over an insecure
channel. The common key generated is also based on fundamental rule of abstract algebra
and is calculated under cyclic group of prime order p over the set of integers say Zp∗ with
g as the generator or primitive element of the group. The process of key exchange among
two parties X and Y can be done as follows:
• Generator or primitive element of the cyclic group is public to both the parties, so
both tend to calculate g δ modp and share with each other over the insecure channel.
Now δ being privately known to themselves does not let the attacker to know about
8
Figure 2.4: Message Authenticity and Confidentiality
• After sharing the calculated value under the prime order curve, the parties have
to calculate the keys as (g δ )δ (x/y)modp which acts as a common key among the
parties.
Although the scheme presented above is secure under passive attacks but it fails
to fulfill the desired requirement under the active attacks which in turn demands for secure
scheme which is achieved by creating a secure channel among the parties participating
in the communication process and tend to generate a session among them by exchanging
multiple nounces which occurs in rounds and then agreeing on a common key as illustrated
9
in Fig 2.5.
10
2.1.3 Blockchain
With the development of Bitcoin (3) in the year 2008, the world has moved to the new
era of technology where the control from the centralized or decentralized servers can be
distributed over the whole network where all the peers in the network maintain their in-
dividual local copies which are updated periodically and thus having the updated system
knowledge. Blockchain (4) (5) (6) is a highly reliable distributed record-keeping and in-
formation sharing technology which enable multiple authoritative or participating domain
who do not trust each other to cooperate and collaborate in a rational decision making
process by providing a strong consistency support among the peers. As blockchain being
an open system to unstrusted parties so the track over the transactions performed over the
system is done by digitally signing the document and connecting them through crypto-
graphically secured hash functions like SHA256 in the form of blocks that are chained with
the previous blocks (if present) or with the genesis block, the first block of a Blockchain
as in Fig 2.6. Multiple transactions are grouped together to form a block and thereby
forms a chain of block by calculating the hash of the desired difficulty imposed by the
network on the client instead of creating a chain of transaction as it would be a less te-
dious process to validate the block containing multiple transaction instead of validating
the chain of transactions.
11
Every block in the blockchain is divided into two parts namely a header and a
body in which the header has multiple attributes like timestamp which provides the time
at which the block has been added to the blockchain, hash of the previous block which
creates a chain of the blocks by linking every new block to the previous block already
accepted by majority of the peers in the network, a nonce value which is used to solve
the difficulty of generating the desired hash as imposed by the network on the miner and
lastly the merkle root which is generated by grouping all the transactions in the form of
a tree and creating a single hash value for all as in Fig 2.7. The merkle root along with
the timestamp of the block, hash of the previous block and nonce are used to generate
the desired hash of imposed difficult which can be altered with time. This involvement of
previous block header to a new header creates a chain of blocks in which the transaction
involved inside a particular block are interlinked with the help of one way hashing function.
Thus creating an immutable data structure and any attempt to change the already made
transaction will result in avalanche effect in the hashing thereby invalidating all the blocks
that are attached to it resulting in the invalidation of the transactions.
Blockchain can be designed as per the requirement and thus can be categroized
as public or private ledger. Both the network of blockchain differs in various aspect of
ease of use, commitment protocols, consensus mechanism etc. In the case of private
network, since the parties participating in the network are known apriori, so to mak ethe
system much faster than open network traditional consensus mechanism can be used for
eg., in the case of handling crash or network failures, the system can implement either
paxos algorithm or raft consensus mechanism and for handling byzantine type of failures
it can implement other fault tolerance algorithms like practical byzantine fault tolerance
which have lower convergence time. But since in the case of open network, the parties
are unknown to each and as reaching a consensus in impossible under the condition of
unknown identity so challenge-response consensus type protocol are used in open system
like PoW, PoS, PoB, PoET etc.
12
Figure 2.7: Merkle Tree
Ethereum
In the era of Blockchain 2.0, a Turing complete, Ethereum Blockchain technology allows
the development of DApps with the help of smart contracts. It allows the application
to be built and run with a Blockchain data structure without any downtime, fraud and
interference from third parties. Ethereum has its wallet and cryptocurrency called ether
with wei as the smallest unit. The architecture of the ethereum Blockchain is in alignment
with the traditional bitcoin (3) architecture as in Fig 2.6. It provides the scripts to be
installed in the network in the form of smart contracts which describes the sequence of
steps or procedure to be followed. The Ethereum network works with TCP based con-
nection through the transport layer of the system can use either PoW which allow mining
by solving a computationally challenging puzzle or PoS which allow mining or validation
of a block on the Blockchain depending upon initial coin count. Table 2.1 illustrates the
theh technical details used in the blockchain platofrom as a standard procedure[19].
13
Infrastructure Layer Ethereum
Application Layer Ether Wallet (Currency as
ether)
Network Layer TCP based peer to peer net-
work
Contract Layer Solidity/ Script (Smart con-
tracts)
Consensus Layer Proof of Work/ Proof of
Stake
Data Layer Merkle tree
E-voting has emerged a long way (7) (8) starting from mix-net (9) following blind signatures(10)
to homomorphic encryption (11) to design a reliable system fulfilling the requirements of
the voting system (12).
The mix net protocol was designed by Chaumn (10) is considered as the explorer
of moving the traditional paper voting system towards an electronic medium. Many
systems and models (13), (12), (12), (14) were proposed based on mix-net (9) in the
subsequent years and considered as a prominent technology in the voting system. The
re-encryption mix-net model consists of a set of servers or mixes which can accept a
large set of mixes or encrypted messages. Their responsibility is to re-encrypt the set
of messages, shuffles them and then re-transmits it to the other end thereby breaking
one to one correspondence of the ciphertext with the generator of the ciphertext. This
method despite having a secure vote casting requires high computing devices for complex
calculations when mapped to a large scale and is prone to single node failure if the
mixers/servers are compromised (15).
The blind signature protocol proposed by Fujioka et al., (10) asserts the inclusion
of ballots by maintaining the electorate secrecy. The voter before casting a vote has to
get their vote validated by the authority while preserving the secrecy of their choice. This
approach deals with signing the digitally encrypted message blindly which produces prints
14
on the original text and after receiving the signed message, the voter can cast the vote.
At the decryption end, the validity and authenticity of the vote can be justified whether
the vote is already signed or not. There has been huge progress (16), (17), (18) in this
field but this technique falls with the disadvantage that the procedure requires a secure
channel for the signing process.
Homomorphic Encryption According to this model, introduced by Cramer et al.,
(11) each voter has to sign and encrypt the vote before casting. The ciphertexts are then
aggregated to form the final result without decryption. (11) implements the E-Voting
model based on homomorphic encryption using partial knowledge proofs by decreasing
the time required in the homomorphic encryption through zero-knowledge proof. But
this system has falls back with its inherent property of applying mathematical analysis
on encrypted data which tends to be highly computation intensive and thus requires high
memory devices which is not a certain thing considering the case of general public.
2.3 Summary
In this chapter a background study of elliptic curve cryptography along with digital signa-
tures, hashing and secure key exchange scheme is shown. It also includes the related work
that discusses about the proposed solutions shown in various literature study to solve a
highly sensitive issue of security in e-voting.
In next chapter, we will discuss the architecture of the proposed model to achieve
a remote voting technique by creating a secure environment with the help of El-Gammal
Cryptography under Elliptic curve and other techniques.
15
Chapter 3
REMOTE E-VOTING
The process of e-voting over remote location undergoes multiple stages and has to be dealt
in a way that none of the phases should intersect with each other challenging the security
of the designed system. We have proposed an approach to segregate the various stages
of voting environment which do not interact with each until the previous phase ends for
the designated user or if required then for all participating entities. Fig 3.1 illustrated
the phases involved in the proposed system which individually fulfills the designated
responsibilities so that the participating individual can move to next stage. The system
does not allow the involved entities to move to higher stages until the requirement at
previous stage is fulfilled which is ensured with the help of contracts.
In this model, voter can be granted the capability of voting from any location
16
along with the traditional choice of making a reservation at polling booth. This technique
can be incorporated with any existing system or can be implemented as a standalone
system with a differentiated set of phases as in Fig 3.1 that have unique responsibilities.
The entire e-voting system has been categorised under three individual modules
as stated below but with a catch that the authentication phase and voting phase can be
executed in parallel for multiple or different set of users and the counting phase starts
after the voting phase finishes. With this type of model, the estimation of the winner will
be postponed until the counting phase starts along with reducing the total time taken to
conclude the election.
• Authentication phase : This is the initial phase in which the participating en-
tity has to authenticate themselves with the help of some identity and thereby is
issued with a random self-explanatory digitally signed unique token which is used
as an anonymous identity in the entire procedure of voting with a particular life-
time attached to it after which the token gets invalidated and the voter has to
re-authenticate for a new session with the voting system. The token generated by
the authentication server is authenticated whenever a request is received through
the outbound APIs for the DgS by eliminating the need of sharing the token inside
the v-net and making the DgS unaware of the mapping done by the authentication
server thus assuring an N*N mapping among the tokens generated and the users
participating in the voting process.
• Voting phase :The voting phase deals with the set-up and key generation procedure
at the voter end which thereby generates a pair of keys in which one key is used
to first encrypt the vote and the second key along with the EO public key set is
used to generate a re-encryption key. The generated ciphertext is converted into
a new ciphertext such that if the same choice is re-encrypted by multiple voters
it will generate a different ciphertext. The re-encrypted vote is then provided to
DgS for the confirmation of the validity of the token which is then submitted to the
permissioned Blockchain until the counting phase start. After having an authToken
from the AS, the voter is allowed to make anonymous communication with the DgS
17
request for EO public keys as in Fig 3.2. Voter after receiving the public keys of
EO generates an RKey which is used to re-encrypt the vote encrypted under the
voters key. The process of re-encryption allows the voter to convert its vote into
some random ciphertext which will be different even if the underlying text is the
same thereby making the vote resistant from known-plaintext only attack, known-
ciphertext only attack etc.
• Counting phase : the counting phase is unlocked to the EO through the smart
contract. The EO has the capability to decrypt the encrypted vote stored over the
permission blockchain with its secret key such that every vote access and decryption
leads to the increment in the count of the selected identity by the voter. After
completing the decrypting process the winner is announced over the billboard by
making the vote count available to the public.
The proposed system architecture is presented in Fig 3.2. In this system, the secrecy
and the level of security of the vote can be adjusted by the voter as it has the choice of
the desired level of security in the encryption procedure after authenticated by the auth
server. In this design model, the EO has to initially provide the DgS with its public key
parameters which need to use by the voters in the further process of re-encryption. The
voter has the responsibility to select any random set of keys under the elliptic curve and
encrypts the choice made with the help of one of the key generated. With the help of
other key which is generated with the previous key, a re-encrytion key is generated when
mathematically computed with the public key of organisor. This re-encryption key is then
used to re-calculate the ciphertext generated previously to create a randomly generated
new ciphertext. This re-encryption of vote introduces the randomness among the similarl
selected choices and thereby post-pond the estimation of winning party until the votes
are counted explicitly.
The entire model of voting can be ellaborated with the help of highly sensitive
multiple servers like authentication server, delegation server (DgS) which plays a crucial
18
Figure 3.2: Proposed System Architecture
role. Mentioned below are the steps followed by the parties to enable the voting and allow
the voters to caste the vote through the APIs:
• Organisor submits its public key to the delegation server which acts as an interme-
diary among the organisors and the voters.
• After submitting the public key, the smart contract deployed on the blockchain
network initiates the voting procedure.
• With this initiation , the voters are allowed any time to cast their vote by making a
service requests through HTTPS and submitting their NUID to the authentication
server.
• The authentication server verify the voter through various criteria like eligibil-
ity, duration etc associated with the identity and thereby generates a valid token
(¡header,id,digital Signature¿) for further communication. The process is followed
such that whenever the voter submits the identity and one time code is generated
19
User State Description
0 The user has not initiated
the session.
1 Authenticated but has not
voted.(This state is valid
until the expiry of token if
the voting has not initiated)
-1 User has voted
against the user and upon verification of the identity a short lived digitally signed
token is generated. The generated token is used to maintain the session in which
the user can cast its vote anonymously to the delegation server. The authentication
server maintains certain entries at its as mentioned in Table 1, to distinguish among
the voters which may fall under various categories depending upon their state in
the entire voting procedure.
• When the voter receives the short lived digitally signed token from the authentica-
tion server, it tends to generate a pair of keys, which are then used in the process
of encryption and re-encryption of the selected choice. At the voter end, the choice
is first encrypted with one of its generated key and the other key along with the
organisor key is used to generate a re-encryption key. This re-encryption key is then
used to convert the previously generated ciphertext to a new random ciphertext
which is different from other set of voters even if they have a common choice. Thus
resulting in eliminating the risk of known-ciphertext attack and known-plaintexts
attack.
• The re-ciphertext is then provided to the delegation server along with the anonymous
identity token provided by the authentication server to make delegation server aware
about the validity of the voter and thus instructing the smart contract to publish
the vote on the blockchain.
• After the vote has been published on the blockchain, it remains in a locked state
20
and any attempt of tamper with the votes will leave the imprints of fradulent party
on the blockchain.
• The votes would be unlocked for decryption by the smart contract only after the
voting phase ends and can be decrypted with the private key of election organisors.
3.2 Summary
This chapter discusses about the broad idea of developing aremote e-voting system along
with the system architecture that can withstand under open environment to provide the
security along with anonymity in the system with valid authentication by analysing the
state-of-the-art technology to achieve the desired target.
In next chapter we will present the implementational details and the insight of
the proposed architecture.
21
Chapter 4
E-VOTING
Here we provide the process of vote casting by the voter using ethereum as the under-
lying blockchain network in which the cost is imposed on the voter is in the from of
cryptocurrency namely ether which can also be converted into real values money with the
conversion factors as per rule.
4.1.1 Authentication
In the designed system we have taken sms based authentication on the mobile number as
mentioned by the individual during the generation of NUID. The voter when submits its
NUID to the authentication server, the details of the requestor are fetched and an OTP
is generated along with a anonymous token which is gets the validation of usage when the
correct OTP is submitted by the individual. Fig 4.1 shows the implementation procedure
to generate a digitally signed token by the authentication server.
After providing the user with a valid token, the user tends to generate the set of keys
along with re-encyrption key. The set of keys belonging to a particular user are generated
using elliptic curve under the prime order p. For creating the mentioned points i.e, the
22
Figure 4.1: Authentication and Anonymous Token Generation
keys on the curve we have used BLS123 81 curve in the defined assembly of mcl-wasm.
Fig 4.2 shows the encrypting procedure from the keys generated under the defined curve.
After generating the ciphertext from the self generated key, the voter has the
reponsibility to generate a rKey by which the ciphertext generated through self keys can
be converted in a form so that can be decrypted at the organisor generating by ensuring
randomisation over the ciphertext. Fig 4.3 shows the procedure to generate the rKey and
re-encrypting the previously generated ciphertext into new randomized ciphertext from
the rKey.
The randomized ciphertext is provided to DgS along with the token identity assigned
by the autentication server which validates the anonymous identity submitted over the
inbound API by the voter. After ensuring the validity of the anonymous identity the
submitted vote, the vote is published on the blockchain which is triggered by the smart
contract only if the token is validated. Fig 4.3 shows the ABI used written in solidity for
the vote storing on ethereum blockchain.
23
Figure 4.2: Vote Encryption
When the vote has been submitted by the DgS on blockchain network through the smart
contract, the counting phase is made available to EO only after the voting phase has
ended and the permission to access the votes are provided by the contrcat itself so that
no estimation of winning party can take place until the voting phase ends. The votes
submitted onto the blockchain can be accessed by the EO an dcan be decrypted using its
private key fro the public key submitted to the DgS as in Fig 4.4.
24
Figure 4.4: Smart Contract ABI
Here we present the performance analyses of the system which will prove the capability
of the system under multiple requests imposed under different circumstances. We also
analyze the security parameters fulfilled by the proposed system to provide a trustworthy
environment among the EO and the user of the system.
The designed system has been analysed with multiple parallel requests and the total
response of the system has been observed which presents the average amount of time
25
Figure 4.5: Vote Decryption
taken to serve the request under single active DgS as in Fig 4.6 and Table 2.
We have also analyzed the ether cost to publish the smart contract on the
blockchain which is fixed and is independent of the number of candidates participat-
ing in the election process, therefore, representing the sole cost that needs to be paid
EO during the deployment of the smart contract. Fig 4.7 represents the analyses of the
amount of ether required to store the candidate identity on the blockchain which varies
with the amount of extra information and description of the candidate which is wished
to store for promotional purpose.
26
Figure 4.7: Identity vs Ether Consumed
The analyses on the amount of ether spent on storing the encrypted vote onto
the permissioned blockchain which can be charged as regular money in accordance with
the standard rates is depicted in Fig 4.8. The cost spent to store the encrypted vote on
the blockchain varies linearly as per the storage and length of the ciphertext generated
which determines the strength of the re-encryption procedure followed in the entire system
under the ECC curves.
The designed system maintains the various standard security features which are necessary
to provide a trustworthy environment among the EO and the user of the system. We have
mentioned some mandatory and critical security features from system point of view which
are considered at utmost priority.
The voters before interacting with the voting system have to prove their identity to the AS
to obtain the authToken. This issued token is self-explanatory in terms of its validity with
a certain number of parameters and acts as a virtual identity for the voter. This type of
27
Figure 4.8: Encrypted vote vs Ether
scenario can be easily mapped to the current voting system where the voter has to prove
its identity to the authority through a physical identity card and then gets permission
to cast the vote. In our prosposed system, this is done by the AS with the help of a
self-explanatory digital token which allows the voter to cast its vote in the provided time
interval. As this has many to one mapping based on time of issue, the voter identity is
hard to exposed in the entire system.
Vote Forging
The votes are cast on the immutable Blockchain network where they are aggregated into
blocks and are chained to each other with the previous hash of the block containing the
set of votes. This thereby introduces the cryptographic hash chaining security to the
votes where the alteration will leave the access traces into the system and can be easily
recognized or traced back to the originator of the fault.
Uniqueness
The uniqueness of the entire proposed design model has been evaluated with respect from
two points of view as mentioned below:
28
• Vote Ciphertext Uniqueness : As the voting system provides the set of limited
candidates for N number of voters to choose, which needs to be encrypted in a way
that it should be an easy problem for both the voter to encrypt the vote and EO to
decrypt the vote but should be an extremely hard problem from the attacker point
of view so that the system is not vulnerable to the type of attacks through which the
secrecy of voter if at stake or the anonymity of the vote is hampered. The process of
encrypting the choice by organising public key by opting a candidate identity from
the limited set of identities will always lead to the generation of the same ciphertext
thereby becoming an easy problem for the attacker to guess the winning candidate
even without decrypting the vote. We have made this problem hard by generating
multiple set of ciphertexts for a single identity by first encrypting the choice made
with the help of voter public key and then applying the process of re-encrypting the
encrypted choice which thus creates a one to many mapping between the ciphertext
generated for the selected candidate and the actual candidate selected by the voter.
Reliability
The system stores the vote on a decentralized Blockchain network where every node in
the network gets synchronized with the updated blocks resulting in a consistent local
copy across multiple nodes. Any change in the submitted vote in the system needs to
be replicated among all the local copies and has to undergo a verification process by
various nodes which makes it a sufficiently difficult problem to solve until the attacker
gains control over more than half of the entire network along with a digitally signed token
29
that is issued by the AS.
4.3 Summary
In this chapter we have presented the implementational details of the proposed design
model along with the performance analyses and its capability to withstand towards mul-
tiple parallel requests imposed at a particular point of time. We have also presented
various security parameters fulfilled by the proposed design which aims to generate the
trusted and reliable environment.
30
Chapter 5
This Chapter discusses the major findings of the dissertation and also shows some future
recommendations in this research area as achieving the security of the system is of utmost
importance. The main focus of the dissertation is about the designing a sustainable
model for remote e-voting system with an aim to fulfill the security needs that are of
greatest importance. Although the blockchain being a distributed ledger which has the
capability to distribute the control over multiple peers thereby building greater trust
and low dependency increases the total time of submitting the votes over it due to its
inherent involvement slow convergence towards a consensus by the consensus protocols
followed. The decision between permissioned or non-permissioned type of blockchain
network resides in the hands of organising party where the non-permissioned being an
open network requires respecting the security and privacy of the participating voters. In
order to make a wise choice among the two the following considerations can be taken into
account:
31
count of audience involved.
Open blockchain for remote e-voting is best suitable where the heterogenity is
observed and act as a key factor among the participating entities as it focuses more on
security and reliability by automating each and everything involved in the system and
making the organising parties free from any task in the entire process. While permis-
sioned or closed blockchain network is suitable where the architectural base needs to be
modified and has to be continuously monitored as per the changing requirements. Futuris-
tic approach can include leveraging the advantages of closed blockchain envrionemnt into
an open system so that the notion of channels can be made feasible as per the requirement
in the open network.
32
Bibliography
[1] X. Yang, X. Yi, S. Nepal, A. Kelarev, and F. Han, “Blockchain voting: Publicly veri-
fiable online voting protocol without trusted tallying authorities,” Future Generation
Computer Systems, vol. 112, pp. 859–874, 2020.
[2] W. Zhang, Y. Yuan, Y. Hu, S. Huang, S. Cao, A. Chopra, and S. Huang, “A privacy-
preserving voting protocol on blockchain,” in 2018 IEEE 11th International Confer-
ence on Cloud Computing (CLOUD). IEEE, 2018, pp. 401–408.
[4] S. Zhai, Y. Yang, J. Li, C. Qiu, and J. Zhao, “Research on the application of cryp-
tography on the blockchain,” in Journal of Physics: Conference Series, vol. 1168,
no. 3. IOP Publishing, 2019, p. 032077.
[5] B. Vivekanadam, “Analysis of recent trend and applications in block chain technol-
ogy,” Journal of ISMAC, vol. 2, no. 04, pp. 200–206, 2020.
[6] M. Xu, X. Chen, and G. Kou, “A systematic review of blockchain,” Financial Inno-
vation, vol. 5, no. 1, pp. 1–14, 2019.
[8] H. Hussien and H. Aboelnaga, “Design of a secured e-voting system,” in 2013 Inter-
33
national Conference on Computer Applications Technology (ICCAT). IEEE, 2013,
pp. 1–5.
[10] Y. Liu and Q. Wang, “An e-voting protocol based on blockchain.” IACR Cryptol.
ePrint Arch., vol. 2017, p. 1043, 2017.
[11] X. Fan, T. Wu, Q. Zheng, Y. Chen, M. Alam, and X. Xiao, “Hse-voting: A secure
high-efficiency electronic voting scheme based on homomorphic signcryption,” Future
Generation Computer Systems, vol. 111, pp. 754–762, 2020.
[15] Y. Desmedt and K. Kurosawa, “How to break a practical mix and design a new
one,” in International Conference on the Theory and Applications of Cryptographic
Techniques. Springer, 2000, pp. 557–572.
[16] M. Kumar, C. P. Katti, and P. C. Saxena, “A secure anonymous e-voting system using
identity-based blind signature scheme,” in International conference on information
systems security. Springer, 2017, pp. 29–49.
[17] J. P. Cruz and Y. Kaji, “E-voting system based on the bitcoin protocol and blind sig-
natures,” IPSJ Transactions on Mathematical Modeling and Its Applications, vol. 10,
no. 1, pp. 14–22, 2017.
34
[18] P. G. Neumann, “Security criteria for electronic voting,” in 16th National Computer
Security Conference, vol. 29, 1993, pp. 478–481.
35
List of Publications
[1] Rathore, D., & Ranga, V. (2021, May). Secure Remote E-Voting using
Blockchain. In 2021 5th International Conference on Intelligent Computing and Control
Systems (ICICCS) (pp. 282-287). IEEE.
36