Kudya - Computer Science
Kudya - Computer Science
FACULTY OF SCIENCE
BY
1
Approval Form
The undersigned certify that they have supervised the student Hilton Tatenda Kudyahakudadirwe’s
dissertation entitled a mobile application for parking management submitted in Partial fulfillment
of the requirements for the Bachelor of Computer Science Honors Degree of Bindura University of
Science Education.
……………………… …………………………………………
Name of student Date
.
................................. ...............................................................
Name of supervisor Date
…….………………… …………………………………..
Name of chairperson Date
….……………………… …………………………………..
External examiner Date
i
Dedication
This dissertation is dedicated to my dad Mr. C Kudyahakudadirwe, my mother Mrs. M
Kudyahakudadirwe, my big brother my little sister for all the prayers, encouragement and love they
gave me over the years for my education and intellectual development.
ii
Acknowledgements
I would like thank and praises to God the Almighty for the gift of life. A further acknowledgement
goes to my family, my little sister my big brother and dear my parents for the unconditional love
and support throughout the journey.
I would also like to express my gratitude to my supervisor Mr. Magomelo for his support,
encouragement and direction in the course of the research.
iii
Abstract
Paper ballot voting system comes with it a number of hi-cups such as: slow rate of counting
and presentation of casted votes, wrong results due to human error, inconvenience for the
voter to vote, a low turnout at the voting day, fraud in polling stations and during the
transmission and tabulation of result, increase in spoilt ballot, increase in the long-term costs
of production and distribution of ballot papers. The distance from the polling station affect
student not on campus for example the VODL student s and students on block release. Those
students are not able to vote and their views end up not noted.
In today’s world of growing advanced mobile technologies, which is being catapulted with the
increase of the mobile phones and its affordability has led to the rise of mobile computing. The
traditional voting system of casting votes can be transformed to a newer and effective system
entitled mobile voting. This Mobile voting system provides a convenient, easy and efficient way to
vote discarding the shortcomings of traditional way. The researcher will build an android based
voting system which is basically an online voting system through which people can cast their vote
through their android phones or by using an e-voting website.
iv
Contents
CHAPTER ONE: PROBLEM IDENTIFICATION.....................................................................................1
1.1: Introduction ..........................................................................................................................................1
1.2 Background to the study ...............................................................................................................2
1.3 Statement of the Problem .............................................................................................................2
1.7 Scope of the study ..................................................................................................................................4
1.8 Justification ............................................................................................................................................4
CHAPTER TWO LITERATURE REVIEW ................................................................................................6
2.1 Introduction............................................................................................................................................6
2.2 Other technologies that are currently being used for voting .............................................................6
2.2.1 Ballot or Paper-based voting system.................................................................................................6
2.2.2 Direct Recording Electronic voting system (DRE)...........................................................................6
2.2.3 Public network DRE voting system (PNDRE) ................................................................................7
2.2.4 Precinct voting systems (PCVS) .......................................................................................................7
2.2.5 Central Count Voting Systems (CCVS) .........................................................................................7
2.3 DIFFERENT TYPES OF ELECTRONIC VOTING SYSTEMS .....................................................8
2.3.1 Poll-site Internet voting ....................................................................................................................8
2.3.2 Kiosk voting......................................................................................................................................8
2.3.3 Remote Internet voting .....................................................................................................................8
2.4. Electronic voting systems general schemes....................................................................................8
2.4.1. Unisys Internet Voting System ..................................................................................................8
2.4.2 Electronic Voting Using Blind Signature ...................................................................................... 11
2.4.3 Electronic Voting Using Homomorphic ........................................................................................ 12
2.4.4 Electronic Voting using Mixnets ................................................................................................... 13
2.4.5 Highly Secure Online Voting System with Multi Security Using Biometric and Stenography .... 15
2.5. The Basic Principles of E-Voting ................................................................................................. 15
2.6 Functional Requirement of E-voting Systems .................................................................................. 16
2.6.1 Voter Registration .......................................................................................................................... 16
2.6.2 Casting a Ballot ............................................................................................................................. 16
2.6.3 Tallying the Ballots ........................................................................................................................ 16
2.7. Security Algorithms ...................................................................................................................... 17
2.7.1. Hash Functions ....................................................................................................................... 17
2.7.2. Public Key Encryption ............................................................................................................ 17
v
2.7.3. Secure Electronic Transaction (SET) Protocol ....................................................................... 18
2.8 DRAWBACKS AND SECURITY ISSUES .................................................................................... 20
2.9. BLOCKCHAIN ............................................................................................................................... 21
2.9.2. HOW BLOCKCHAIN WORKS ................................................................................................... 23
3.1 Introduction......................................................................................................................................... 28
3.2. Reviewing Relevant Literature .................................................................................................... 28
3.2 Software Development Life Cycle ..................................................................................................... 28
3.3. Methodology ....................................................................................................................................... 29
3.4 Population and Sampling frame ........................................................................................................ 29
3.5 Experimental Design........................................................................................................................... 29
3.3. System Designs .............................................................................................................................. 30
3.3.1 Functional Requirements ................................................................................................................ 30
3.3.2 Non-Functional Requirements ....................................................................................................... 30
3.3.3. Tools ............................................................................................................................................. 30
3.3.1 Entity-Relationship Model of the system ...................................................................................... 31
3.4.1 Data flow diagram ......................................................................................................................... 32
3.4.2 Use case diagram ........................................................................................................................... 33
3.4.3 Screenshots from the mobile .......................................................................................................... 34
CHAPTER FOUR: DATA PRESENTATION ANALYSIS AND INTRPRETATION ......................... 36
4.1 Introduction......................................................................................................................................... 36
4.2 Data presentation and analysis .......................................................................................................... 36
4.3 Summary of student Questionnaires ................................................................................................. 36
4.3.1 Questionnaire Response Summary ................................................................................................ 37
4.4 Summary and analysis of results ....................................................................................................... 41
4.5 Chapter summary ............................................................................................................................... 41
CHAPTER 5: Recommendations, Conclusions and Future Work .......................................................... 42
5.1 Introduction......................................................................................................................................... 42
5.2 Aims and objectives realization ......................................................................................................... 42
5.3 Challenges faced.................................................................................................................................. 42
5.4 Recommendations for future work ................................................................................................... 42
Bibliography .................................................................................................................................................. 43
Appendix........................................................................................................................................................ 44
vi
List of Figures
Fig1 Canton Zurich electronic voting system. ..................................................................................... 10
Fig2: Blind signature electronic voting system.................................................................................... 12
Fig. 3 A General Form of Mixnet with l mixes and n inputs................................................................ 14
Fig 4 stego image ................................................................................................................................ 15
Fig 5 ................................................................................................................................................... 17
Fig 6 ................................................................................................................................................... 18
Fig 7 Dual Signature .......................................................................................................................... 19
Fig 8 shows the validation of the cardholder’s order ......................................................................... 20
Fig 9 ................................................................................................................................................... 22
Fig 10 Creation of new Block containing a Hash Value and a Vote .................................................... 22
Fig11 A Simple Illustration of the Blockchain Structure of each Candidate ...................................... 23
Fig 12 A Simple Illustration of the Blockchain Structure of each Candidate ..................................... 24
Fig 13 Concusses in the Blockchain .................................................................................................... 25
Fig 15 ................................................................................................................................................. 31
Fig 16 The dataflow diagram .............................................................................................................. 32
Fig 17 Use case diagram for student and candidate ........................................................................... 33
Fig 18 Use case diagram for administrator ........................................................................................ 33
Fig 19 Log in Page for the administrator ........................................................................................... 34
Fig 21 Adding of Participants /candidates ......................................................................................... 34
Fig22 :The students Android Login page ....................................................................................... 35
Fig 24 ................................................................................................................................................. 38
FIG25 ................................................................................................................................................. 39
FIG 26 ................................................................................................................................................ 39
FIG 27 ................................................................................................................................................ 40
FIG 28 ................................................................................................................................................ 40
vii
List of tables
Table 1............................................................................................................................................................ 36
Table 2 ............................................................................................................................................................ 37
Table 3 ............................................................................................................................................................ 37
Table 4 ............................................................................................................................................................ 38
Table 5 ............................................................................................................................................................ 40
Table 6 ............................................................................................................................................................ 40
viii
CHAPTER ONE: PROBLEM IDENTIFICATION
1.1: Introduction
“Vote” means to choose from a list, to determine or to elect. According to (Dwumfuo and Paatey,
The Design of an Electronic Voting System, 2011), voting is a method by which groups of people
make decisions. These choices could be political, social or public. Voting can also be used to select
between tough plans of engagements or to choose who is best qualified to be bestowed a prize.
Most voting systems are constructed on the concept of majority rule.
Voting systems have progressed from customary paper-based voting system to electronic voting
systems such as Direct-Recording Electronic (DRE) voting systems, pubic network DRE Voting
systems, precinct count voting systems and central count voting systems (Dwumfuo and Paatey,
The Design of an Electronic Voting System, 2011). Hand written paper ballots were first used in
Rome in 139 BCE, and their first usage in America was in 1629, to elect a pastor for the Salem
church.
Ballot or Paper-based Voting Systems (PVS) encompasses the manual recording, physical counting
and generating a tabulation of vote count from the votes that were casted on a paper card or sheets
(Wolf, 2011).
These early paper ballots offered only modest voter privacy and they were fairly easy targets for
various forms of election fraud. Likewise, at an institution like Bindura University there is a
problem which comes with ballot box system. There are few polling stations and this in turn causes
the voting to be slow and tedious as students wait in lines the whole day trying to cast a vote. There
is a lot of liabilities as a lot of money is needed to print the ballot papers which are only used once.
There is also need of human resources to count and preserve order at the polling station. Students
on attachment cannot vote due to distance from the polling station. It’s expensive for them to travel
from their respective work place around Zimbabwe to vote. This also affects VODL students as
then learn far from the university campuses.
1
1.2 Background to the study
For a democratic country public opinion is the most important determinant to establish a
government and voting is the process through which people display their opinion and help to setup
a democratic government. So, the voting system should be reliable, accurate and it must be
transparent. The same applies when electing the SRC members. The election has to be credible and
fair. Bindura University uses the traditional ballot paper system. This is when a student cast a vote
using the ballot paper. The vote is inserted into the ballot box and at the end of the day the ballot
papers are counted physically one by one.
Paper ballots are considered to be the most trustworthy methods to be used during an election but it
comes with few limitations. Post-election, it takes a huge amount of time to count the votes before
declaring the results. At Bindura University students vote on a Saturday and the results are
announced on Monday. This in turn compromise the integrity of the results like what happened in
the elections of 2014. This android voting system is to eliminate any ambiguity when students are
voting.
In these economically hard times it is hard to throw elections as the economy is not favoring. The
resources needed to hold election are costly for example printing of ballot papers and the election
supervisors. There is a lot of manpower needed and security too for the elections to be successful.
There is also inaccuracy when counting the ballots due to human error.
With the growth of the university having many campus and students learning virtually (VODL
students) these students find it hard to cast their vote. The VODL students are affected great
2
because their views and grievances are not heard because they are far away to vote for their favorite
candidates.
Some students are not eligible to vote because they don’t not have the required identification i.e.
student ID cards. As some of them would have expired card or they might have lost them. Students
spends the long time at the polling station trying to vote the old system is tedious and tiresome.
This makes the more students not vote as they are reluctant to go the polling stations. At the end the
result will not be what the institute had.
Null Hypothesis (H0): There is no significant difference inconvenience and efficiency of voting
with the introduction of a mobile android app for mobile voting system.
Alternative Hypothesis (H1): There is a significant difference in convenience and efficiency of
voting with the introduction of a mobile android app for mobile voting system.
3
1.7 Scope of the study
This research is going to focus on Bindura University in particular. It is also going to be directed to
android phones. This project will produce an android based voting system for Bindura University
This software is to be used by students and candidates of Bindura University. Students will use the
system to vote and the candidate will use it to register their respective parties. Results will be
viewed by the students and candidates in real time.
1.8 Justification
This research results will seek to illustrate the effectiveness of android-based voting system. There
is need for the efficiency, reliability, and security of the technologies when it comes to voting.
Android based mobile voting systems possess a potential to be more efficient than paper ballot
systems. Ballot casting has a high percentage of lost, stolen, or miscounted ballots, votes lost
through unclear or invalid ballot marks and limited accommodations for people with disabilities are
problems associated with.
Android voting systems minimize the resources essential for printing and distributing ballots as
voting is done electronically. This system offers superior economies of scale in regard to the size of
the electoral roll. Mobile voting offers increases voter confidence, inspires more voters to cast their
votes remotely, and this in turn increases more participation from students.
The electronic gathering and counting of ballots reduces the amount of time spent tallying votes
and delivering results, as results counted and displayed in real time.
The research goal is to address the swiftness of the voting process, the security, reliability and
integrity of the elections and to reduce voting errors (spoiled ballots papers) hence solving the
problems caused by ballot paper voting.
1.9 Assumptions
4
The research project was carried out on the following assumptions:
i. The greater part of the population nowadays owns at least an android phone which uses
4.1 or better, thus making them eligible users of the mobile app.
ii. Internet service is available on the voting day.
1.10 Limitations
i. This application will only be compatible to android phones.
5
CHAPTER TWO LITERATURE REVIEW
2.1 Introduction
In this chapter there are highlights of the meaning of voting, the different types of voting,
requirements of a voting system, electronic voting, usefulness and security requirements of an
electronic voting system, Internet voting, successful electronic voting systems, open internet
application security risks, and security algorithms. It also highlights some gaps which are required
to be filled up in this respect.
This voting system is being developed is to use by every student with a simple and self-explanatory
GUI (graphic user interface). This software can be used by people to elect their candidates in an
election. All the users must do login according and with a click of a button on his/her favorite
candidates they vote for them.
2.2 Other technologies that are currently being used for voting
(Dwumfuo and Paatey, 2011) states that there are five different types of voting:
This voting system is also referred to as document ballot voting system, a voter casts his vote
on a ballot paper. The voter places the ballot paper in the ballot box secretly. The ballot papers
are not shared. At the end of the voting sessions the votes are counted.
2.2.2 Direct Recording Electronic voting system (DRE)
6
Direct-recording electronic (DRE) voting systems uses touch-screen terminals to record votes. A
DRE is basically a computer with a screen. Ballots are viewed on a screen and voters make choices
using an input device such as a touchscreen. Some DRE systems also use a card swipe or cartridge
system that must be triggered before a ballot can be cast. At the end voted are stored on a memory
card, compact disc (CD) or other memory device. These memory devices are transported by
election officials to a centralized location for organization, just as they would with paper-based
ballots. Some machines have the capability to broadcast results over a modem-to-modem line.
The Public Network Direct Recording Electronic (DRE) Voting uses electronic ballots and
transmits vote data from the polling place to another site over a public network. Vote data may be
transmitted as individual ballots as they are cast, periodically as batches of ballots throughout the
Election Day, or as one batch at the close of voting.
The ballots are put in a tabular form at a particular place, say, a polling station. They provide
mechanisms that store vote count electronically and transmit the results to a central location over
public telecommunication networks.
Tabulate ballots from multiple precincts at a central location. Voted ballots are safely stored
temporarily at the polling station. These ballots are then transported or transmitted to a central
counting location. CCVSs may, in some cases, produce printed reports on the vote count.
7
2.3 DIFFERENT TYPES OF ELECTRONIC VOTING SYSTEMS
It has greater convenience and efficiency to offer in that voters could cast their ballots from any
poll station, and the counting process would be both fast and accurate. More importantly, since
election officers would control both the voting platform and the physical environment, managing
the security risks of such systems is feasible.
Voting machines would be situated away from usual polling places, in such convenient locations
as malls, libraries, or schools. Voting platforms would still be under the hands of election officers,
and the physical environment could be modified as needed and monitored (e.g., by election
officials, volunteers, or even cameras) to address security and privacy distresses and prevent
coercion or other forms of intervention during the period of election.
It seeks to exploit the convenience and access of the voters by enabling them to cast ballots from
virtually any location that is Internet accessible. While this concept is attractive and offers
significant benefits, it also poses substantial security risks and other concerns relative to civic
culture. Current and near-term technologies are inadequate to address these risks.
8
system was first used in a student election, after the success it was adopted in the public election
in Bulach in 2005. One could either vote via a personal computer or via SMS, in 2007 the SMS
channel was cancelled.
A twostep encryption process was used in this voting system, where a casted vote is encrypted
on the computer that the voter used to cast the vote, and then it is received by the central server
which decrypts to check for its structure and integrity then perform the second encryption on it.
vi. The voter finally compares the security symbol with the symbol the voter received in the
mail
Beroggi (2008), the electronic voting system’s security requirements are based on the
Information Security Management System (BS7799). Data exchange between the communities
and the e-voting system is based on the Secure Data Exchange Platform (SeDAP), which is
under the on the Online Services Computer Interface (OSCI) standard, which also is based on
SOAP. A secure entry server manages, all entries into the e-voting system voter identification
and authentication as well as voter rights occur through, which safeguards that only registered
voters can vote.
The votes of the citizens through the Internet and the files containing the names of citizens
eligible to vote are transmitted through the network using the Secure Sockets Layer (SSL)
protocol. The confidentiality of voter access codes and passwords is of utmost importance, so
Canton Zurich uses three independent companies to print these. After the system identifies the
access codes and the voters cast their votes, the system immediately asks them to validate their
vote by entering their birth date and a six-digit numerical identification code. The system
9
accepts their votes only after validation.
Encryption occurs in two steps. The voter’s client computer first encrypts the votes and
identification and authentication characteristics through an SSL channel. The e-voting system
then checks the incoming votes for their structure and integrity before once again encrypting
them and passing them to the high-security zone. Two redundant systems store the votes on a
write-once, read-multiple-times database.
For every election and referenda event, Canton Zurich’s Statistical Office uses a virtual
community to cast votes and then checks that the e-system properly recorded them. It also
analyses the citizens’ votes, making sure that the sum of the validated codes during e-voting
equals the sum of received electronic votes.
These two plausibility checks must match perfectly and have zero tolerance for the electronic
voting to be trustworthy.
The separate encryption and storage of cast votes and names of citizens eligible to vote ensures
that vote counts are accurate and keeps voting rights from being corrupted. Figure 1 shows a
flow diagram of the Canton Zurich electronic voting system.
10
2.4.2 Electronic Voting Using Blind Signature
Blind signature schemes have the feature of true two key digital signature systems combined in a
special way with commutative style pubic key systems. These are protocols based on “blind
signatures”, introduced in (Chaum, Blind Signatures,2009). A blind signature allows a signer to
digitally sign a document without knowing what was signed. In a voting scheme based on blind
signatures, the general idea is that the voter has her ballot blindly signed by the voting authority,
and later publishes the ballot using an anonymous channel. Although Chaum suggested the use
of blind signatures for voting in his original paper, the first published protocol that makes use of
blind signatures was by Fujioka et al. In electronic voting, the signature is used to authenticate
the voter while keeping the secrecy of the content of a ballot. The function of the authority is to
verify the eligibility of a voter and so he will not know how the voter has voted for which
candidate. In E-Voting, a ballot is blinded in order to achieve its confidentiality requirement. A
voter is required to get the signature of a validator when he votes. To ensure the secrecy of his
ballot, a voter casts a ballot, B, blinds a ballot using a random number and sends it to the
validator. Let (k,e) be the validator’s public key and (k,d) be his private key. A voter generates a
random number r such that gcd(r, k) = 1 and sends the following to the validator:
B’ = re B mod k
The random number r conceals the ballot from the validator. The validator then signs the blinded
ballot after verifying the voter. The signed value is as follows:
After receiving the validated ballot, the voter unblinds the ballot, to get the true signature, S of
the validator for the ballot, by computing,
S=S’ r-1 mod k= Bd
A major problem of blind signature schemes is that they require anonymous channels. (Sujata
Mohanty and Bashida Majhi, A secure multi authority electronic voting protocol based on blind
signature, 2010) proposed a secure multi authority electronic voting protocol based on blind
signature. In their scheme, bit wise XOR operation was used for vote generation and blind
signature scheme for its authentication. Their proposed scheme was secure because none of the
authority involved in this scheme could have sufficient information to link a vote to corresponding
11
voter. It was verified that the proposed scheme met security criteria such as anonymity,
verifiability, privacy, fairness and accuracy. The proposed scheme consisted of four parties: a set of
N voters, Authority of authentication (U1) which issued blind signature of vote to legitimate voter
Vi, Authority of Certification (U2) which registered voters and an Authority of Publication which
counted votes and publishes election result. The entire process composed of three phases:
registration, voting phase and counting phase. In their scheme, a voter could choose multiple
options; therefore, their scheme could be used for general election.
Fig 2 shows the system architecture of the secure blind signature electronic voting system
12
homomorphic property of the encryption function. Finally, a set of trustees cooperate to decrypt the
final tally i.e. the secret key for the encryption scheme is divided between the trustees. The
advantages of using homomorphic schemes are efficiency and verifiability: many operations can be
carried out on the encrypted votes, in public, so they are both verifiable and can be performed
during the voting process.
(Ibrahem & Kiatan ,2012) proposed a model of a web-based secure electronic voting system with two
new technologies; the first technique is designing new zero knowledge authentication protocol,
based on Diffie-Hellman key exchange algorithm, to ensure a mutual authentication between the
election authority server and the voters. To ensure the security of the votes and maintain the
confidentiality, homomorphic encryption scheme is used to encrypt all the votes and perform the
calculation of the votes without revealing any information about it. The proposed system provides
secure voting over the Internet and maintains all the requirements of the voting process. To achieve
the system robustness, flexibility and resistance to potential change, the popular three-tier (layer)
architecture was deployed in their system. The architecture was composed of three layers: the user
interface layer, the application logic layer and the database layer.
The first published electronic voting scheme was proposed by Chaum, based on mixes. A mix is a
device that hides the correspondence between its inputs and outputs by accepting encrypted inputs
in large batches and mixing them before output. The most important goal of a mixnet is to provide
anonymity in communications, so it is a natural construction block to achieve anonymity in
electronic voting systems, normally in submitting votes. This can be used to hide the voter-vote
relationship, allowing each voter to make sure her vote was counted (ensuring the integrity of the
election) while preserving the secrecy of the vote. The building part of a mixnet is the mix server.
Each mix server has the role of hiding the correspondence between its input and output. There are
two main approaches to create mixnets: encryption approach and re-encryption approach.
13
Fig. 3 A General Form of Mixnet with l mixes and n inputs.
A general form of mixnet is shown in Fig.3, with l mixes and n inputs, {EK (mj, rj)}, where {mj}
are the messages and {rj} are random strings. In a decryption mixnet, K is public key of the mixnet,
and output sequence {yi} contains decrypted messages {mj}R in random order. In a re-encryption
mixnet, K is the public key of the receiver, and the output sequence {yi} contains re-encrypted {EK
(mj,r’j)}R in random order.
(Aditya & Lee &Boyd & Dawson,2011) proposed an efficient Mixnet-based Voting Scheme which
provided receipt-freeness. In this scheme, the administrator provides both randomization (ballot re-
encryption) and mixing service in the voting stage. Afterward, the ballots were mixed using the
proposed efficient mixnet. Their proposed mixnet scheme used a single encryption removing the
use of double encryption and hash checksum (3 encryptions). The first stage in this scheme was
vote casting in which sub stages are vote casting, ballot publishing, DVRP and approval. The next
step was mixing in which the input ballots were re-encrypted and outputted in a random order by
the mix servers using the proposed efficient mixnet. The final stage was tallying during this stage,
votes are tabulated by the talliers and the result is published on the bulletin board. The two major
problems of their scheme were the trust assumption on the administrator and the possibility of
invalidation attack by mix servers, although any misbehavior causing invalidation could be traced
back easily.
14
2.4.5 Highly Secure Online Voting System with Multi Security Using Biometric and
Stenography
According to (Swaninathan & Dinesh, 2012), to cast a vote, a voter logs into the system by
entering the personal identification number and secret key. Along with this voter has to give the
thumb impression on the fingerprint sensor.
The system will generate the cover image and embed the secret key into it according to the
predefined procedure to generate the stego image as shown in the Figure 4.
At the server side, Optical Character Recognition technique will be used to read the personal
identification number represented on the image. After reading it, the server will find out the details
of that individual from the database. These details will be his/her fingerprint image and secret key.
Using these details, the image can be decoded to find out the embedded message that should be the
secret key of that individual. Once authentication is complete, the voter will be allowed to vote. In
this next page, all the details regarding the voting boundaries of that individual will be shown. Here
voter can select the desired candidate and finalize the vote. After casting the vote, the account will
be closed and, in the database, the voted bit will be set to one for that voter.
The key value of e-voting is, it must be a replica of the regular voting system as much as possible,
it should be compliant with the election legislation and principles, and lastly it must be secure as
the regular voting. In a nutshell, e-voting must be constant and undisclosed that is, only eligible
15
persons are allowed to vote, a voter should only cast one vote, a voter must not be able to prove in
favor of whom he voted, and the collecting of votes should be secure, reliable and accountable.
An unofficial in-precinct vote tally will occur once the polls have officially closed.
16
Votes will also be transferred to a central location to be officially tallied.
According to (AlAhmad & Alshaikhli, 2013) a cryptographic hash function H is an algorithm that
takes an arbitrary length of message as an input {0, 1}* and produce a fixed length of an output
called message digest {0, 1}n (sometimes called an imprint, digital fingerprint, hash code, hash
result, hash value, or simply hash). Cryptographic hash functions play a fundamental role in
modern cryptography practical applications, for example, digital signature, digital timestamp,
message authentication code (or MAC), public key encryption, tamper detection of files and many
others. This versatility earned them the nickname that is the Swiss army knife of cryptography
Public key Cryptography is a cryptography approach that involves the use of asymmetric key
algorithms, where the key used to encrypt a message is not the same as the key used to decrypt it.
Each user has a pair of cryptographic keys, a public encryption key and a private decryption key.
The publicly available encrypting key is widely distributed, while only recipient knows the private
decrypting key.
Figure 5 shows the achieving of authenticity, integrity and non-repudiation of the message by
encrypting the message using the private key of the sender, which can be decrypted using the
public key of the sender.
Figure 5
17
2.7.2.1. Achieving Confidentiality of a Message
Figure 6 shows the achieving of confidentiality of a message, by encrypting the message using the
public key of the receiver, which can only be decrypted using the private key of the rec
FIGURE 6
Secure Electronic Transaction (SET) is an open encryption and security specification that is
designed for protecting credit card transactions on the Internet. The following are the parties
involved in a SET transaction (Kahate, 2008),
a) Cardholder - is an authorized holder of a payment card such as MasterCard or Visa that has
been issued by an Issuer.
b) Merchant - is a person or an organization that wants to sell goods or services to cardholders.
A merchant must have a relationship with an Acquirer for accepting payments on the
Internet.
c) Issuer: The issuer is a financial institution that provides a payment card to a cardholder. The
most critical point is that the issuer is the ultimately responsible for the payment of the
cardholder’s debt.
d) Acquirer: This is a financial institution that has a relationship with merchants for processing
payment card authorizations and payments. The acquirer provides the merchant an
assurance (with the help of the issuer) that a particular cardholder account is active and that
the purchase amount does not exceed the credit limits. The acquirer also provides electronic
funds transfer to the merchant account. Later, the issuer reimburses the acquirer using some
payment network.
18
e) Payment Gateway: The payment gateway processes the payment messages on behalf of the
merchant. Specifically in SET, the payment gateway acts as an interface between SET and
the existing card payment networks for payment authorizations.
f) Certification Authority (CA): This is an authority that is trusted to provide public key
certificates to cardholders, merchants and payment gateways.
The SET protocol makes use of the concept of dual signature. Figure 2.10 shows the dual signature
concept.
The cardholder takes the Payment Information (PI), containing the cardholder’s credit card number,
expiry date, etc. and hashes (digests) it to produce Payment Information Message Digest (PIMD).
Similarly, the cardholder digests the Order Information (OI) to obtain Order Information Message
Digest (OIMD). Then it combines PIMD and OIMD to produce Payment and Order Message
Digest (POMD).
The cardholder then encrypts the POMD with its private key. The output of this process is the Dual
Signature (DS). It is called dual, because it has inputs coming from PI as well as OI.
19
b) PI, OIMD, and DS to the payment gateway
As we can see, the merchant does not get access to PI, and hence, cannot know the cardholder’s
credit card number. However, it has access to OI to process the order. Also, to validate the
cardholder’s order, the merchant decrypts the DS using the cardholder’s public key to obtain the
first POMD; and separately combine OIMD and PIMD to also compute the second POMD. If the
two POMD values match, the merchant is happy that the order was indeed sent by the cardholder.
One of the main drawback for the Estonian electronic voting system is the secrecy of critical parts
of the code. The script to post the vote on the Estonian electronic voting system is made close what
raise questions about transparency. It is a must for a trusted election to be an open source system.
If the mobile voting system is centralized it makes it vulnerable to DDOS attacks what could make
the elections inaccessible to voters. Hackers have access to a wide range of network traffic and
enough computing power to analyze voting data for a potential alteration. Even with enhanced
security, State level attacks are possible in all previously motioned systems.
20
The system proposed is going to address all these security concerns by using, or rely on Blockchain
technology to secure votes, and decentralize the system.
2.9. BLOCKCHAIN
Satoshi Nakamoto was the first to introduce the Blockchain (a pseudonym), he proposed a peer to
peer payment system that permits cash transactions through the Internet without depending on
trustor the need for a financial institution. Blockchain is secure by design, and it is an example of a
system with a high byzantine failure tolerance.
The first application of the Blockchain concept was Bitcoin and is considered to create a currency
that could be exchanged over the Internet relying merely on cryptography to secure the
transactions. Blockchain is an ordered data structure that contains blocks of transactions. Every
block in the chain is connected to the previous block in the chain. The first block in the chain is
called the foundation of the stack. A stack is formed when each new block created gets layered on
top of the previous block called a Blockchain.
Table 1
A hash placed on the header identifies each block in the stack. This hash is generated using the
Secure Hash Algorithm (SHA-256) to generate an almost idiosyncratic fixed- size 256-bit hash.
The implemented algorithm was designed by the National Security Agency (NSA) in 2001. The
SHA-256 will take any size plaintext as an input and encrypt it to a 256-byte binary value creating
a message digest. The SHA-256 is always a 256-bit binary value, and it is a strictly one-way
function. Fig 8 below illustrate the basic logic of the SHA-256 encryption.
21
Fig 9
Like how a chain is like, in blockchain each header contains information that links a block to its
previous block in the chain. It creates a chain connected to the very first block ever created, which
is referred to as the foundation. The encrypted hash in its header is the primary identifier of each
block. A digital fingerprint that was made combining two types of information: the information
concerning the new block created, as well as the previous block in the chain. Fig illustrate the basic
voting using blockchain.
As soon as a block is created, it is sent over to the Blockchain. The system will keep an eye on
incoming blocks and continuously update the chain when new blocks arrive.
The android based mobile voting system will include four main requirements that can be illustrated
as shown below:
Authentication: Only registered voters can cast a vote. The system will support a registration
process. Therefore, the system should be able to verify voters’ identities against a previously
verified database, and then let them vote only once.
22
Anonymity: The android-based voting system should not allow any links between voters’
identities and ballots. The voter has to remain anonymous during and after the election.
Integrity: Votes must be accurate; every vote should be counted, and the vote can’t be altered,
duplicated or removed.
The first transaction to be added to the block will be a special transaction that characterizes the
candidate. After this transaction is generated, it will include the candidate's name and will serve as
the foundation block, with every vote for that specific candidate placed on top of it to form a stake.
The foundation will not count as a vote unlike the other transactions, and it will merely contain the
name of the candidate. The mobile voting system will allow a protest vote, where the voter may
return a blank vote to demonstrate dissatisfaction with all candidates or a refusal of the current
political system and/or election. Every time a person votes the transaction gets will be recorded and
the Blockchain will be updated. This is illustrated by the figure below
To safeguard that the system is secure, the block will contain the previous voter’s information. If
any of the blocks were compromised, since all blocks are connected to each other it would be easy
to find out. The Blockchain cannot be corrupted and it is decentralized; no single point of failure
exists. The Blockchain is where the actual voting takes place. The user’s vote gets sent to one of the
nodes on the system, and the node then adds the vote to the Blockchain. The voting system will
have a node in each district to ensure the system is decentralized.
23
2.9.3. REPRESENTATION OF THE E-VOTING SYSTEM
Requesting to vote: The user will have to log in to the voting system using his/her credentials- in
this case of Bindura University, the mobile voting system will use his/her Registration number. The
system will cross reference the data entered and, if it matches with a valid voter, the user will be
authorized to cast a vote. The mobile voting system will not permit students to generate their own
identities and register to vote. Systems that allow identities to be arbitrarily generated are usually
vulnerable to the Sybil attack, where attackers claim a large number of fake identities and stuff the
ballot box with illegitimate votes.
Casting a vote: Voters will vote for one of the candidates. Casting the vote will be done through a
user friendly interface.
Encrypting votes: After students casts their vote, the system will generate an input that contains
the voter identification number followed by the complete name of the voter as well as the hash of
the previous vote. This way each input will be unique and ensure that the encrypted output will be
unique as well. The encrypted information will be recorded in the block header of each vote cast.
The information related to each vote will be encrypted using, SHA-256, which is a one-way hash
function that has no known reverse to it. The only theoretically possible way to reverse the hash
would be to guess the data and the encryption method and then hash it to see if the results match.
This way of hashing votes makes it nearly impossible to reverse engineer, therefore there would be
no way voters' information could be retrieved.
24
Adding the vote to the Blockchain: After a block is created, and depending on the candidate
selected, the information is recorded in the corresponding Blockchain. Each block gets linked to the
previously cast vote
A problem of concusses may occur with the mobile voting Blockchain-based system especially ith
decentralized systems. It occurs when different voters cast their votes at approximately the same
time.
When the case of concusses occur, the solution the researcher will use is the Longest Chain Rule,
which is used by Bitcoin to resolve the same problem. As clarified earlier in this research, when a
voter casts a vote, it will be linked to the previous vote to create a chain that neither corruptible nor
changeable
Suppose all blocks in the system are synchronized and they are at block 1001. Three new votes
have just been cast at the same time and they were all assigned the number 1002 in the chain. We
will call these three new blocks 1001-A, 1001-B and 1001-C
Assume Block 1001-A is introduced first to the Blockchain, and so the system will increment it to
the chain as the successor of Block 1001. Later on, Block 1001-B is introduced to the chain. The
system will hold on to it and wait until another block arrives. If Block 1002-A is introduced to the
system, the Blockchain will assume that Block 1001-A is the valid block and will keep building on
the longer chain. Block 1001-B and 1001-C will be considered orphans blocks.
25
Figure 14 . Longest Chain Rule
Because there is a different chain for each candidate, orphan blocks will no longer be a problem
since they contain the same information (vote) as the other blocks, and they will be measured when
votes are counted.
2.9.5 LIMITATIONS
The researcher assumes that voters will use a secure android device to cast their vote. Even while
the system is secure, hackers have the ability to cast or alter a vote using malicious software already
installed on the voter’s device. One of the drawbacks of the system is the inability to change a vote
in case of a user mistake. The user will be able to cast its vote only once.
2.10 Conclusion
Poll-site Internet voting has many cons one it does not solve the issue of distance from the
polling site. Since the polling sites are limited and only at three campuses the poll site becomes
useless. It also does not provide a platform for candidates to interacts with the candidates. There
is need to employ polling officers there by straining the budget. So as the kiosk voting there is
need for more human resource thereby putting a strain on the budget. The researcher wants to
improve the Remote Internet Voting by build and android app which allows the students to vote
from their mobile android phones with a click of a button. The researcher will use the blockchain
technology secure the system as to proves to be more secure than the other securities. The
system is decentralized and does not rely on trust. Any registered voter will have the ability
to vote using an android device connected to the internet. The Blockchain will be publicly
verifiable and distributed in a way that no one will be able to corrupt it.
26
27
CHAPTER 3: METHODOLOGY
3.1 Introduction
The orderly, theoretical analysis of the methods applied to a field is called methodology. The
researcher clarifies how data for the research project was gathered in this chapter. It explains the
procedures used to research, screen and code-controlled studies on the effectiveness of a mobile
voting system. It also provides a detailed plan of which research designs where used and the
collection of data methods.
The researcher reviewed the literature, this was looking on the following: the definition of
voting and electronic voting, voting systems types, the necessities of a voting system, electronic
voting system, functional and security requirement of a voting system, the elementary principles of
an electronic voting system, functional and security requirement of a voting system, Internet
voting, the implementation of electronic voting systems around the world, security risks in using
internet for mobile applications and lastly related electronic voting security algorithms.
28
RAD methodologies adjust the Systems Development Life Cycle (SDLC) phases to get some part
of the system developed quickly and into the hands of the users. What lies beneath this approach is
to get the users to better understand the system through interactive and simultaneous revisions,
which bring the system closer to what is needed. There are process-centered, data-centered, and
object-oriented methodologies that follow the basic approaches RAD. Two common methodologies
of RAD are phased development and prototyping.
3.3. Methodology
In this research, the target population was the Bindura University students. Population is a group of
people from which samples are taken on which a research will be based, and in this research the
population will be made up of Bindura University. A sample is therefore expected to mirror the
population from which it comes although a sampling error can occur. There are two types of
sampling errors which must be guarded against, and these are sampling bias, which is a tendency to
favor the selection of units that have particular characteristics, and errors which are due to chance.
Choosing a sample is done through a sampling strategy which is a plan set forth to be sure that the
sample used in a research study represents the population from which a sample is drawn.
The experiment was conducted on two groups. Students were randomly assigned to the first group.
The candidates were in the second group. The researcher opted for the candidates to register first
29
then the students to vote after. The second group answered questions from presented on the
platform by the first group.
Technical specifics of the method used to get to the resolution and the implementation is described
in the system design. It was essential to design an android mobile application that allows students
to virtually vote for their desired candidate and also for the candidate to talk and interact with the
voters easily as mentioned in chapter one.
Statements of services the system should provide how the system should react to particular inputs
and how the system should behave in particular situations, the system should be able to:
Authenticate a candidate.
Authenticate a voter.
3.3.3. Tools
3.3.3.1 Software
30
3.3.3.2 Hardware
It makes sense that programing an android application use an Android official tools. It has simple
integration between the tools and it runs fast. It provides a better and easier programing experience.
It provides the essentials needed to develop and test the app before uploaded to the google play.
3.3.3.2 SQLite
It has better performance that is reading and writing from SQLite database is often fast. It has a
reduced application cost and complexity. It is portable, it can be used across all operating system.
Entity Relational Diagrams was used to design the database of the prototype which according to
Rouse (2007) data modelling technique was used to create a graphical illustration of the entities,
and the relationships between entities, within an information system.
Fig 15
31
3.4. System Overview
The system consists of an android application which is used by both students to elect their next
chairpersons. It is also used by the candidates as a means of campaign platform, as to reach as
many students as they can. It also provides a platform that allows students to ask questions to
candidates about what they can provide. It also displays results in real time as the election
progresses. The student or the candidate register and logs in and view his or her profile.
Star t
register
Is voter
registered?
Voter login
Username
passowrd
Correct?
VOT E SRC
Vot e successful
Show confirmation
End
32
3.4.2 Use case diagram
The use case diagram (Fig 16) below shows the interactions between the system and both student
and the candidate which is the main user of the system, which is all functionality a student and
candidate can get from the system
Mobile
based
voting
system
Log In
Vote
Student
View Results
Mobile
based
voting
system
Log In
Add candidate
adminstrator
Modify data
33
The use case diagram (Fig 17) above shows the interactions between the system and the
administrator which is the main user of the system, which is all functionality a student, can get
from the system.
Fig 19 : Log in Page for the administrator Fig 20 Administrator adds voting categories
34
Fig22 The students Android Login page Fig23 : The voting platform on Android mobile
phone
35
CHAPTER FOUR: DATA PRESENTATION ANALYSIS AND
INTRPRETATION
4.1 Introduction
In this chapter, the researcher will be doing the systematic application of statistical and logical
techniques to describe, demonstrate and evaluate data that was collected during the
implementation of the android based mobile voting. The analysis tools used in this research is the
SPSS and kwiksurveys online client because it does both support qualitative and quantitative
data. The researcher used quantitative analysis in this research; and the generated numerical data
is transformed into usable statistics. Data measured is used to formulate facts and unearth
patterns in this research. Bar graphs, pie charts and line graphs are used to represent the data in
tabular form
SPSS tool has a wider range of basic charts and it very easy to find statistical tests is the main
reason why the researcher chose it. Kwiksurveys is used because it is a free online survey
builder, which has been specifically designed so that it is quick and easy to use for people of all
experience levels. The advantage of an online is that it reduced the research cost of printing large
number of questionnaires. This method limitation is that it depends heavily on internet
availability as sometimes the service was not unavailable.
Not all questionnaires sent were responded from the students, and candidates Table 1 below
show the response rates from the students, and candidates who responded to questionnaires
36
4.3.1 Questionnaire Response Summary
Question 1: How many years have you been a student at Bindura University?
This section was done in order to see how many students been using the old system. From the
table below, it can be seen that 87% students have more than a year learning at Bindura
University. This group will therefore give the accurate result because they have enough
experience of the old ballot system and they can compare with the developed system.
Table 2
Table 3
37
around 100
Total
90
80
70
60
50
40
30
20
10
0
I do not have an android
phone
The results from the table 4.2 and fig 27 shows that there was a confident response from the
participants as it showed that all the students and candidates agreed that the system worked
perfectly and reduced the workload that came with the old system and a stunning 90% strongly
38
agreed. As this was one of the major objectives to see if the system is convenience and efficiency
for students to use to vote.
100
80
Percetange
60
40
20
0
Agree Valid Strongly Agree
FIG25
10%
90%
FIG 26
60
50
percent
40
30
20
10
0
Good Excellent
Valid
FIG 27
Question 5: Do you see the significance of having such a system at Bindura University?
Table 6
Table 4.6
12
10
8
Percetange
0
I do not have an android I have an android phone
phone
FIG 28 but do not carry it around
Valid
40
4.4 Summary and analysis of results
After all the statistical analysis from the distributed questionnaires, it can be resolved that the
system is relevant to Bindura University so as to effectively vote. In conclusion the android-
based voting system was a success as it was resourceful and met the set objectives of
effectiveness of voting.
The system`s important data and information has been presented in the rich pictorial way of
graphs, tables and diagrams as it came out in the research. The results display that the system
was performing as anticipated and met the requirements of the project aim thereby fulfilling the
objectives. The summary of research, findings and recommendations will be looked at in the next
chapter. The summary highlights the main aims of the study, conclusions are the findings of the
study and recommendations are suggestions for solving the problems identified.
41
CHAPTER 5: Recommendations, Conclusions and Future Work
5.1 Introduction
The researcher was mainly focused on presenting and analyzing results collected during the
course of the research in the previous chapter. In this chapter, the researcher is now reviewing
the objectives laid out in chapter one in line with the mobile application system. This section will
go on to look at the challenges that the researcher faced during the design and implementation of
this research.
The major aim of this research was to design a mobile application where students can use their
android mobile phones to cast their vote and get to receive the results in real time. Another aim
was to see the effectiveness of using mobile phones to vote.
During the course of the research the researcher faced some challenges especially in the
implementation phase of the system. Some of the participants were not trusting the system due to
many reasons for examples some participants did not trust applications not from Google Play
Store Some students did not want to share their phone for the sake of the presentation due to
privacy reasons.
A lot of ground has been covered in this research and the major objectives were met, the
researcher would like to highlight certain areas that could be expanded on the research in future.
The researcher suggests integration of a platform where candidates can post videos and interact
with student. A live streaming of the debates and campaigning reports would be an upgrade to
the future work. by other researchers.
42
Bibliography
David Chaum., (2009). Blind Signatures (1st ed.). (D. G. J. Beutel, Ed.) Sensys.
Mahmood Khalel Ibrahem, (2012), " Modification of Diffie–Hellman Key Exchange Algorithm
for Zero Knowledge Proof", Journal of Engineering & Technology, January 2012, to be
published.
Yong-Sork, Her et al., (2008), " Ballot-Cancellation Scheme In E-Voting System", eGovernment
Workshop ’05 (eGOV05), September 13 2008, Brunel University.
Mahmood Khalel Ibrahe, Nada Mahdi Kiatan (2012). Homomorphic Encryption Protocol for
Secure Electronic Voting System 2012.
Kahate, A. (2008). Security and Threat Models – Secure Electronic Transaction (SET Protocol).
Indic Threads.
Gupta, N., Kumar, R., & Chhokar, S. (2001). A Secure Blind Signature Application in E Voting.
Kahate, A. (2008). Security and Threat Models – Secure Electronic Transaction (SET Protocol).
Indic Threads.
Dwumfuo, G., & Paatey, E. (2011). The Design of an Electronic Voting System. Methodist
University College, Ghana
Chevallier, M. (2008), e-Voting Certification Project, Voting via the Internet. State Chancellery.
Aaltonen, J. (2010). Electronic Voting Pilot in the 2OO8 Municipal Elections. Helsinki
Finland.0O
43
Appendix
Yes
No
44
The questions to follow have answers rated from 1 to 5 to show the level at which you disagree
or agree with the statement. 1 – Means you strongly disagree, 2-- means you disagree, 3-- means
you are unsure, 4 -- means you agree and 5 -- means you strongly agree.
1 2 3 4 5
Was the system user friendly?
Did the system improve voting?
Did you find the system resourceful?
Did the system accommodate candidates too?
Do you think the system can totally replace current voting
system?
1 2 3 4 5
Reliability of the information.
Availability of internet services to patients.
The response time of the system
Security of the information
Comments……………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
45
…………………………………………………………………………………………………
………………………………………………………………………..............
Appendix 3
46