Download as pdf or txt
Download as pdf or txt
You are on page 1of 45

Secure Remote E-Voting Using Blockchain

A Dissertation

Submitted in fulfillment of the requirements


for the award of the degree of

Master of Technology

Submitted by

Divya Rathore

Reg No. 31903204

Under the supervision of

Dr. Virender Ranga

Department of Computer Engineering


National Institute of Technology Kurukshetra
Kurukshetra, Haryana, India-136119

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.

Place: Kurukshetra Dr. Virender Ranga


Date : Asst. Professor, Computer Engineering
NIT Kurukshetra

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.

Place: Kurukshetra Divya Rathore

Date: 31903204

ii
Abstract

The emergence of Blockchain technology has opened up multiple pathways for


many worldwide applications where the trust among the participating parties plays an
important role to execute a business. This technology has emerged as promising among all
to provide a proofreading in many digital services where the trust was dependent how the
things are going in the system. Blockchain being the public peer to peer verifiable ledger
has opened the gateways to move the security and immutability demanding applications
from single stranded centralised authority to a distributed authority where the decision is
taken in a peer network so that the transactions done can be approved and recorded dis-
tributedly through peers thereby providing the immutability to the transactions recorded
over the chain of the blocks considered. The aim of this dissertation is to design a remote
non-coercible internet voting protocol system model which eliminates the need of the in-
vigilating authority over entire polling stations and thus allows the authorized electorate
to cast their vote irrespective of their location without the involvement of a third party
by using proxy re-encryption technique to establish an anonymous environment. The dis-
sertation also discusses the full fledged way to develop a secure dApp using solidity smart
contract over ethereum ledger, where the casted vote is securely and anonymously saved
over the public ledger creating an N*N correspondence among the voters and votes using
the security technique of proxy re-encryption. This type of system has a capability to
either withstand as a standalone system or it can be merged with other already existing
system to provide the security for the casted votes and break the relationship among the
votes and the voters to achieve anonymity in the system.

iii
Table of Contents

Candidate’s Declaration i

Acknowledgements ii

Abstract iii

Table of Contents v

List of Figures vi

List of Tables vii

List of Abbreviations viii

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

4 IMPLEMENTATIONAL INSIGHTS OF REMOTE E-VOTING 22


4.1 Experimental Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.1.1 Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.1.2 Encryption and Delegation of Votes . . . . . . . . . . . . . . . . . . 22
4.1.3 Immutability over Ethereum Blockchain . . . . . . . . . . . . . . . 23

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

5 CONCLUSION AND FUTURE SCOPE 31

Bibliography 33

List of Publications 36

v
List of Figures

1.1 Client-Server vs Peer to peer Architecture . . . . . . . . . . . . . . . . . . 2

2.1 Secure vs Insecure Channel . . . . . . . . . . . . . . . . . . . . . . . . . . . 6


2.2 Symmetric Key Cryptography . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3 Asymmetric Key Cryptography . . . . . . . . . . . . . . . . . . . . . . . . 7
2.4 Message Authenticity and Confidentiality . . . . . . . . . . . . . . . . . . . 9
2.5 Key Exchange Scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.6 Blockchain Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.7 Merkle Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.1 Proposed Phases of E-Voting . . . . . . . . . . . . . . . . . . . . . . . . . . 16


3.2 Proposed System Architecture . . . . . . . . . . . . . . . . . . . . . . . . . 19

4.1 Authentication and Anonymous Token Generation . . . . . . . . . . . . . . 23


4.2 Vote Encryption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.3 Rkey and Ciphertext Proc . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.4 Smart Contract ABI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.5 Vote Decryption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.6 Response Time Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.7 Identity vs Ether Consumed . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.8 Encrypted vote vs Ether . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

vi
List of Tables

2.1 Ethereum Infrastructure . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.1 User State in System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

4.1 Time Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

vii
List of Abbreviations

EV M s Electronic Voting Machines


dApp Distributed Application
DES Data Encryption Standard
AES Advanced Encryption Standard
P KC Public Key Infrastructure
SHA Secure Hash Algorithm
DgS Delegation Server
AP Is Application Program Interfaces
EO Election Organisor
Rkey Re-Encryption Key
AS Authentication Server
N U ID National Unique Identity
P oW Proof of Work
P oS Proof of Stake
P oB Proof of Burn
P oET Proof of elapsed time
ABI Application Binary Interface

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.

Figure 1.1: Client-Server vs Peer to peer Architecture

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.

1.3 Outline of Dissertation

• 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

2.1 Background Study

2.1.1 Elliptic Curve Cryptography

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.

Figure 2.2: Symmetric Key Cryptography

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.

Figure 2.3: Asymmetric Key Cryptography

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

β = g a modp such that 0 ≤ a < p − 1

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

E = {(x, y) ∈ Zp ∗ Zp |y 2 = x3 + ax + b, a, b ∈ Zp , 4a3 + 27b2 6= 0} ∪ {Φ}

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 .

2.1.2 Digital Signatures

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:

• Both X and Y independently chooses the a random number such that 1 ≤ δ ≤ p − 1


where p is the order of the group.

• 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

what has been chosen at the both the ends.

• 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.

Figure 2.5: Key Exchange Scheme

Hashing scheme used in the process of authentication and integrity provides a


way to create long texts into fixed size text to provide an easy to share among the parties
with low data traffic on network. It is a one way scheme in which the range of hashed
value has a higher range of values compare to the domain used in order to eliminate
the probability of collision and make the designed system collision-free among multiple
inputs. Since hash functions are one way scheme, thus it does allow the party to proceed
in reverse to generate the text from hash and thus it requires the hashes to be compared
instead of text to guarantee the similarity among the text as even a small change in the
original text can lead to huge change in the hash as it tend to shows avalanche effects.
The standard hashing technique used in order to prevent collision is SHA-256 which tends
to create a fixed 256 bit message digest irrespective of the input size.

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.

Figure 2.6: Blockchain Architecture

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

Table 2.1: Ethereum Infrastructure

2.2 Related Work

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

3.1 Proposed Work

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.

Figure 3.1: Proposed Phases of E-Voting

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.

3.1.1 E-Voting System Architecture

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

Table 3.1: User State in System

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

IMPLEMENTATIONAL INSIGHTS OF REMOTE

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 Experimental Setup

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.

4.1.2 Encryption and Delegation of Votes

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.

4.1.3 Immutability over Ethereum Blockchain

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

Figure 4.3: Rkey and Ciphertext Proc

4.1.4 Vote Decryption by EO

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

4.2 Performance and Security Analysis

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.

4.2.1 Performance Analysis

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

No Median 90th Avg Min Max Avg RPS


of (ms) Per- (ms) (ms) (ms) size
Re- centile (B)
quests (ms)
2137 150 330 182 49 877 36 9.2

Table 4.1: Time Analysis

taken to serve the request under single active DgS as in Fig 4.6 and Table 2.

Figure 4.6: Response Time Analysis

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.

4.2.2 Security Analysis

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.

Authenticity & Anonymity

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.

• Voter Uniqueness : Every voter is provided with a unique self-explanatory token


that contains a virtual identity along with its generation and expiry time digitally
signed by AS. This token acts as a ticket to enter into the voting system running
on the mix of the public and private network through which the voters are allowed
to cast their votes in the system once in the lifetime of the voting procedure after
which the actual identity of the voter is marked as invalid with the AS when the
successful submission of the vote on the Blockchain is obtained by the DgS.

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

CONCLUSION AND FUTURE SCOPE

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:

• Permissioned Blockchain network provides the flexibility of creating dedicated chan-


nels thereby enhancing the privacy if encryption at voter end is computation inten-
sive whereas the open network will not allow the organisor to introduce the notion
of channels and the privacy has to be handled explicitly.

• Non-Permissioned or open blockchain network provides the flexibility of expanding


the targeted audience which enhances the capability of organising polls at a large
scale whereas the permissioned blockchain network will restrict due to the large

31
count of audience involved.

• Permissioned blockchain network is suitable in a condition where there are multiple


known parties involved such that they know each other but do not trust each other
in the polling whereas the open blockchain network will be suitable in a condition
where the authority over the ledger needs to be decentralised and no one can be
trusted as everyone are unaware of each other.

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.

[3] S. Nakamoto, “Bitcoin whitepaper,” URL: https://bitcoin. org/bitcoin. pdf-( : 17.07.


2019), 2008.

[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.

[7] S. Vivek, R. Yashank, Y. Prashanth, N. Yashas, and M. Namratha, “E-voting systems


using blockchain: An exploratory literature survey,” in 2020 Second International
Conference on Inventive Research in Computing Applications (ICIRCA). IEEE,
2020, pp. 890–895.

[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.

[9] D. L. Chaum, “Untraceable electronic mail, return addresses, and digital


pseudonyms,” Communications of the ACM, vol. 24, no. 2, pp. 84–90, 1981.

[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.

[12] R. Dingledine, M. J. Freedman, D. Hopwood, and D. Molnar, “A reputation system


to increase mix-net reliability,” in International Workshop on Information Hiding.
Springer, 2001, pp. 126–141.

[13] D. Wikström, “A universally composable mix-net,” in Theory of Cryptography Con-


ference. Springer, 2004, pp. 317–335.

[14] A. Kiayias and M. Yung, “The vector-ballot e-voting approach,” in International


Conference on Financial Cryptography. Springer, 2004, pp. 72–89.

[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

You might also like