1. 1
CHAPTER 1
INTRODUCTION
The objective of voting is to allow voters to exercise their right to express their choices
regarding specific issues, pieces of legislation, citizen initiatives, constitutional amendments,
recalls and/or to choose their government and political representatives. Technology is being used
more and more as a tool to assist voters to cast their votes. To allow the exercise of this right,
almost all voting systems around the world include the following steps: voter identification and
authentication, voting and recording of votes cast, vote counting, publication of election results.
Voter identification is required during two phases of the electoral process: first for voter
registration in order to establish the right to vote and afterwards, at voting time, to allow a citizen
to exercise their right to vote by verifying if the person satisfies all the requirements needed to
vote (authentication). Security is a heart of e-voting process. Therefore the necessity of designing
a secure e-voting system is very important. Usually, mechanisms that ensure the security and
privacy of an election can be time consuming, expensive for election administrators, and
inconvenient for voters. There are different levels of e-voting security. Therefore serious
measures must be taken to keep it out of public domain. Also, security must be applied to hide
votes from publicity.
There is no measurement for acceptable security level, because the level depends on type
of the information. An acceptable security level is always a compromise between usability and
strength of security method. Finger print devices for voting machines is enforced during this
project. The information read is passed to the controlling unit for the verification. The controller
reads DATA from the reader and compares this data with the already existing data. If the data
matches with the already stored information, the person is allowed to poll his vote. If not, a
message is displayed on LCD and therefore the person isn't allowed to poll his vote. The polling
mechanism carries out manually using the switches. LCD is employed to display the related
messages.
The development of fingerprint scanners that serve to quickly identify individuals and
assign access privileges. Finger printing recognition, the electronic methods of recording and
2. 2
recognizing an individual finger print, advanced substantially. Today, identification can be
achieved in a few seconds with reasonable accuracy. As a result, the use of Automated
Fingerprint Identification Systems (AFIS) that record, store, search, match and identify finger
prints is rapidly expanding. AFIS can be integrated with a microcontroller and other peripherals
to form an embedded system which is a comprehensive electronic voting machine with
fingerprint print identification system.
“Aadhar based Electronic Voting Machine using Arduino” by R.Murali Prasad et al
(2016) in which they have performed an online electoral system for Indian election is proposed
for the first time. The voting system is managed in a easier way as all the users should login by
Aadhar card number and password and click on his/her favorable candidates to cast the vote.
This features a larger security in the sense that voter high security password is confirmed before
the vote is accepted in the main database of ECI. The extra feature of the model is that the voter
will ensure if his/her vote has gone to correct candidate/party. The votes are going to be done
automatically, therefore saving an enormous time and facultative ECI to announce the result at
intervals a very short period. The result obtained was that the EVM system has to be further
studied and innovated to reach all level of community, so that the voter confidence will increase
and election officials will make more involvement in purchasing the innovated EVM‟s for
conduct smooth, secure, tamper resistant Elections.This concludes that the Aadhar based EVM
will be useful :
To avoid Rigging
To avoid time consumption
To keep the voter‟s information more secured.
“Bio-metric Electronic Voting System for Election Process” by RathnaPrabha.S et al (2016)
in which they came up with Direct Recording Electronic (DRE) voting system which are usually
referred as Electronic Voting Machines or EVMs. These devices have been praised for their
simple design, ease of use and reliability. However it has been found that EVMs are not tamper
proof and are easily hackable. Moreover this attacks, hardware as well as software, go without
any detection but are quite simple to implement.
3. 3
This made us to bring forth a system that is secure, transparent, reliable as well as easy to use
for the citizens. Biometric e-voting systems are not a phenomenon anymore they are being
actively used in countries like Ghana and Ireland and are spreading to many other developing
nations. In this project they proposed a mechanism to avoid fraudulence to make e-voting in
India a reality. Thus it is concluded that the arduino controller could be interfaced in LabVIEW
environment. The real time vote monitoring is made possible and finding of repeated voting by
same voter could be detected easily.
Use AADHAR card database. At the time of voting in the elections, the e-voting process
authentication can be done using finger vein sensing, which enables the electronic ballot reset for
allowing voters to cast their votes. Also the voted data and voters details can be sent to the
nearby Database Administration unit in a timely manner using Zigbee System with cryptography
technique. Thus AADHAR based Electronic voting systems have many advantages over the
traditional way of voting. Some of these advantages are lesser cost, faster tabulation of results,
improved accessibility, greater accuracy, and lower risk of human and mechanical errors. It is
very difficult to design ideal e -voting system which can allow security and privacy on the high
level with no compromise. Future enhancements focused to design a system which can be easy to
use and will provide security and privacy of votes on acceptable level by concentrating the
authentication and processing section.
4. 4
CHAPTER 2
PROPOSED SYSTEM
2.1 COMPONENTS OF THE SYSTEM
We propose client-server web-enabled software architecture for the project. On the
client side we have a fingerprint scanner and a GUI that accepts voter’s aadhar number,
provides an interface to vote and display confirmation, status and error messages. The GUIs
will only act on events from the server and feedback of the voter without any extra processing.
Servers are placed at remote locations from the poll booths. They are used for carrying
out all the processing work such as image processing, transferring data between the client and
the database, generating statistics, sending messages to voters, etc.
There is a central database called Central Identities Data Repository or CIDR which
forms the backbone of this system. It contains all the demographic and biometric data of every
citizen of India. In order to reduce load on the central database there are zonal databases that
will be located alongside the servers which will contain cached copies of data of the inhabitants
that fall under its zone. These zones are decided on the basis of population density, area and
other factors. All the zonal databases retrieve data from CIDR of only those people who come
under its scope. This data is periodically updated and is stored in volatile form so that it can be
erased if and when necessary such as during security attacks, natural calamities, maintenance
works, etc. The zonal databases will retrieve only the data that is pertaining to the voting
process and exclude all other irrelevant information. These databases will be used for
generating statistics and results of the electoral process. These databases make it possible to
allow voting from anywhere provided that the voter is within electoral circuits.
Figure 1: Architecture of the Proposed System
2.2 AUTHENTICATION AND VERIFICATION OF THE VOTER
Authentication is the process of determining whether someone or something is, in fact,
who or what it is declared to be. In order to authenticate a person we require them to have a
valid UID number. The number will be checked in the local database records first. If it is not
5. 5
found then it will search the central repository. It involves one-to-many match. If the person’s
number is not found in the central database then of course s/he will be devoid of taking part in
the voting process. On the other hand if the number is present in the central database then the
data of that person will be cached to the zonal database. This record is extracted from the local
database and sent to authenticating servers for further processing.
For verification the person’s fingerprint will be scanned at the client-side and matched
one-to-one at the servers with the data extracted from the local database. This process puts less
stress on the local database and improves data traffic.
We use fingerprints for authentication because processing fingerprints is faster and better
than other biometric data. Moreover aadhar details would be insufficient to establish the true
identity of a person since they can be easily faked but by using fingerprints it is ensured that
such fake entries are blocked right at the very beginning.
2.3 PREVENTING FRAUDULENT VOTING
The first and the foremost thing to ensure proper voting is by accurately authenticating
every voter. It is necessary to identify that every person coming to vote is unique otherwise it
will violate the very principle of voting. Any person would be voting on behalf of others.
Fingerprint matching ensures the authentication that the system requires. However in order to
improve accuracy it is important to keep false reject rate (FRR) and false accept rate (FAR) as
low as possible; practically close to zero. This can be achieved by using best finger method.
Using 2 best fingers can improve the accuracy to 98% (FRR-2%) with a single attempt and
above 99 % (FRR – 1%) with up to 3-attempts.[3] Specifications of fingerprints and relevant
details are provided in [6].
To prevent underage individuals from voting, the system calculates person’s age from
the birth date present in the database records. If the calculated age is above permissible limit
the person is allowed to vote and prevented otherwise. Fig. 2 describes the flowchart of the
system.
To prevent voters from voting two or multiple times we implement voting flags in the
local databases. This flag is initially set to false. After the voter has cast the vote, his/her vote
6. 6
flag will be set to true. This will prevent the same person from voting again. These flags are
temporary and can be reset after the election has completed so that the voter can participate in
the next election.
Providing transparency is another form of preventing malpractices in voting process
from a voter’s point of view. Since a voter has to put his trust into computer’s hardware and
software that processes the vote, it doesn’t actually guarantee transparency in truest sense.
Thus, we came up with a solution to build the voter’s trust on the system by sending a message
to the voters registered mobile stating that s/he has successfully voted with the corresponding
aadhar number at a specified time.
2.4 GENERATING REPORTS
Whenever a voter casts a vote in favor of the candidate of choice, the vote count of that
candidate gets incremented in the local database. The votes from all the local databases are
summed up to get the final figure that the candidate has received. Thus this system provides
instantaneous results and prevents unnecessary use of manpower and wastage of time.
Since this is an electronic system and uses digital data it has several advantages. Statistics
can be generated from the obtained data for e.g. we could answer how many people have voted
from a certain region, how many females voted, which age group voted the most, the highest
turnouts, comparisons from previous years, etc. all that was not possible from traditional voting
methods not even from EVMs. It would provide important insights into the election results and
help improve the system even further.
7. 7
CHAPTER 3
BIOMETRIC METHOD
The main focus of the proposed system is the use of fingerprint image of a voter to
authenticate him and to cast the vote very securely. Fingerprint matching techniques can be
classified into three types.
Correlation-based matching: Two fingerprint images are superimposed and the correlation
between corresponding pixels is computed for different alignments (e.g. various displacements
and rotations).
Minutiae-based matching: This is the most popular and widely used technique. Minutiae are
extracted from the two fingerprints and stored as sets of points in the two- dimensional plane.
Minutiae-based matching essentially consists of finding the alignment between the template and
the input minutiae sets that results in the maximum number of minutiae pairings.
Pattern-based (or image-based) matching: Pattern based algorithms compare the basic
fingerprint patterns (arch, whorl, and loop) between a previously stored template and a candidate
fingerprint. This requires that the images be aligned in the same orientation. To do this, the
algorithm finds a central point in the fingerprint image and centers on that. In a pattern-based
algorithm, the template contains the type, size, and orientation of patterns within the aligned
fingerprint image. The candidate fingerprint image is graphically compared with the template to
determine the degree to which they match.A fingerprint recognition system operates either in
verification mode or in identification mode. The various stages in a fingerprint verification
system are shown in Fig 0.1 [3].
Fig 3.1: Architecture of Fingerprint Verification
8. 8
In the proposed Biometric Voting System (BVS) we have used the correlation-based matching
procedure to identify person from his/her fingerprint.
ADMIN MODE
In this proposed system the officials of Election Commission of India play the role of
Admin of the system. To use the system first they need to register themselves with the system. If
anybody is registered already, he/she can at once unlock the Admin Dashboard by typing the
username and password in the machine. Those persons who have not registered themselves with
the system, they need to register them as an Admin by typing their own Adhar Card no. in the
specified space. The system will then search the Adhar card details from the “Adhar” Database.
Next to verify the authenticity of the Admin, the system will seek the fingerprint image from the
user. After getting the fingerprint image, the system will compare the fingerprint with the stored
one in the “Adhar" database and if it is matched then it will allow the user to create his/her own
username and password for his/her Admin account. This Admin details will be stored in a
separate database named as “Admin” Database. Fig 1.0 in the next page demonstrates the
process.
Configure a BVS: - The admin can configure a BVS for a specific locality for the Election
process. It will seek the area first where the election is going to take place. Then it will seek the
name of the candidate of a party of that locality and the party symbol. Whenever these
information has been given to the system, it will automatically search the Adhar database with
respect to the area and find out all the person living in that locality. Then it will store those
Fig 3.2: Flow Chart of Configuration of the BVS
9. 9
Persons’ details in “Vote” database. Simultaneously it will also store the candidate details in
“Representative” database. The BVS will select some attributes like name, candidate_id, party
emblem and No_of_votes_gained attribute in “VoteResult” database. This database will be used
to update the number of votes gained by a candidate while voting process. So, by pressing one
button the system will automatically configure itself for a specific locality. No manual effort is
needed for searching and making a list of the voters in that locality. Fig 1.1 demonstrates the
process of configuring the BVS.
View the result: - The system gives a facility to the admin to view the result of the election of a
specific locality. It will fetch the vote result from the “VoteResult” database and show it to the
admin. Here the admin can see the result of all the candidates of a specific locality. Fig 1.2
demonstrates the process for viewing result.
See the number of people did not cast vote: - The admin can see the name of the people of a
locality who have not casted their votes. The system can lock the people who have casted their
votes properly by changing the lock property to 1 from 0. So, those persons who have not casted
their votes, their lock status will remain as 0. The system searches for these person and show the
name and Adhar card details to the admin. Fig 1.3 describes the process how the BVS can find
those people who have not casted their votes.
Fig 3.3: Flow Chart to see how many people have not casted there votes
Delete vote related data: - The BVS will also provide delete facility of the previous vote related
data in that particular system to the admin. If the admin press the “Delete” button in his/her
dashboard then, the system will automatically delete the previous election data in the “Vote” and
“VoteResult” databases in that system. This is needed to clean up the databases and to make the
BVS ready for the next election. Fig 1.4 describes how the admin can delete the previous
election data in a specific BVS.
10. 10
Insert people data: - In every year, huge amount of people are issuing Adhar card. To include
their details in the Adhar database the BVS provides another facility to the admin. By using a
BVS, the officers of the election commission can insert the details of the new Adhar card issuers
directly into the “Adhar” database. This facility can be used as an immediate measure, just
sometime before the election takes place. The system will seek all the personal
Fig 3.4: Flow Chart for Inserting Adhar details in Adhar database
Details and fingerprint image of the Adhar card issuer. Then it will process the data and
store it into the “Adhar” database. Fig 1.5 shows how an admin can insert Adhar details of a
person into “Adhar” database
TESTER MODE
This mode is for the presiding officer in the booth. Here he/she can conduct the vote
procedure on the Election Day as well as he/she can test the system to check whether it is
working perfectly or not, before the Election Day. A presiding officer also need to open an
account in the BVS. Otherwise he/she cannot operate the system. Those who are already
registered as a Tester they can login with their username and password and can see the various
11. 11
options on their dashboard. Those who are not registered, they need to register themselves first
with the BVS. The registration process is identical to the new admin registration process. The
only difference over here is that the data of the Tester will save in a separate database called
“Tester” rather than “Admin” database.
Give Test Votes: - This is identical to User Mode. It is described later. To test the BVS whether
it is actually working perfectly or not, whether it is counting the number of votes a candidate is
gaining perfectly or not, the presiding officer choose this option on his/her dashboard. He/she
can give test votes and later he/she can delete these votes also before the Election Day.
View Result: - The presiding officer can see the result of the election of a particular locality by
pressing the “View Result” button. The process to view the result is identical to the “View
Result” option of admin which is already discussed earlier.
See the number of people did not cast vote: - By utilizing this facility the presiding officer can
see the name and Adhar card number of the persons who did not cast their votes. This procedure
is also identical to the “see the number of people did not cast vote” procedure of the admin
which is discussed earlier.
Delete test votes: - After casting test votes the presiding officer has to delete the vote data.
Otherwise, it will be counted with actual vote. Whenever the “Delete” button is clicked, the
system will search for the update made on “Vote” and “VoteResult” database. When the update
is found, the updated data is taken back to its default state by the BVS. Fig 2.0 in the next page
shows how a presiding officer can delete the test votes given by him/her.
Fig 3.5: Flow Chart for deletion by the Tester
12. 12
Unlock intentionally locked persons: - One of the most important feature of the BVS is to
unlock the intentionally locked persons by the presiding officer. While comparing the fingerprint
of a voter if the BVS find that there is no matching in between the given fingerprint and the
stored fingerprint of that voter in his/her Adhar database then it will automatically lock the
person thinking him/her as a fraudulent voter. To unlock this lock the presiding officer will
check the documents of the voter. If he/she is proved authenticated then the presiding officer will
press the
Fig 3.6: Flow Chart for unlocking an intentionally locked
“Unlock intentionally lock” button and the BVS will change the lock state of that person
from 1 to 0 and let him/her to give another chance to cast his/her vote. The process for unlocking
an intentionally locked person has been described in Fig 2.1.
Activate User Mode: - This is the most important option of the Tester Mode. By default the
User Mode is disabled due to the testing purpose of the machine. But if the presiding officer
activates the User Mode then it will run in an infinite loop to get the votes of the general voters.
Along with that if the User Mode has been activated then the Delete feature of the Tester Mode
will be deactivated. Because by somehow if the delete button has been pressed by anyone
unknowingly or knowingly then all the vote related data will be deleted. To get out of the infinite
loop the presiding officer needs to hit the “Set User Mode Off” button.
13. 13
CHAPTER 4
EXPERIMENTAL SETUP
Fig 4.1 Block Diagram
The experimental setup consists of the following sections
Microcontroller section
RFID section
Finger print section
Relay coil section
The power supply section connects with the every other section of the setup. Step down
transformer reduces the supply voltage level which is then regulated using voltage regulators
bypassing the bridge rectifier for AC to DC conversion. The output of the voltage regulator has
some ripple contents which is then filtered using capacitors. The microcontroller section consists
14. 14
of two controllers namely Arduino and ATMEL 89s52. The Arduino board is used finger print
processing while ATMEL is being used for RFID and LCD display purpose. These controllers
works with 5V supply obtained from the power supply section.
RFID is the physical identification for the voters which acts as a prototype for the Aadhar
card. On reading the RFID number it is passed to ATMEL which on further verification provides
authentication for the user to vote. Once the authentication is succeeded, the finger print of the
voter is sensed using R-305 finger print sensor. The sensed data is compared with stored
database in MAX-232 which serves as a prototype for the live Aadhar Biometric Database. The
relay coil has the control over the entire section which is
Indicated using buzzer on any false authentication.
This mode is for the general voters. At first they need to enter the Adhar card in the BVS.
The BVS will search that Adhar Card number in the “Vote” database in place of “Adhar”
database because while configuring the machine the BVS had already selected the Adhar details
of the people of a specific locality from the Adhar database and stored it into the “Vote”
database. Next it will seek the fingerprint image from the voter with which it will compare the
stored image in the “Vote” database. If the matching is successful then the BVS will take the
voter to the Vote page where the voter will get the selection option for his/her liked candidate. If
the fingerprint is not matched perfectly then it may seek the fingerprint image again from the
voter [5], [8]. But if the BVS find the given fingerprint image by the voter is completely different
15. 15
from the stored fingerprint in the database then the system will automatically lock that voter
thinking him/her as a fraud. The unlocking process is mentioned previously.
If the voter comes to the Vote giving page, then he/she can choose anyone among the
candidate whom he/she likes mostly. Thereafter the BVS will automatically lock that Adhar card
number by changing the lock property from 0 to 1. Simultaneously at the same time it will
update the “VoteResult” database by increasing the “no. of vote” attribute of the selected
candidate by one. After successfully update these two databases the BVS will show the voter the
confirmation Message about his/her successful vote. Fig 3.0 describes how a general voter can
cast his/her vote in the BVS and after successful vote he/she gets the confirmation message that
his/her vote has been successfully processed.
16. 16
CHAPTER 5
WORKING
1. Biometric Based Electronic Voting System using Aadhar starts with the physical authentication
of the voters which is the RFID tag.
2. Once the RFID id matches with the stored database, voters are then asked to place the finger for
scanning.
3. The finger print is then sensed using R-305 finger print sensor which is in serial communication
with Arduino.
4. The sensed biometric is compared with the already stored database in MAX-232.
5. The authentication is provided on successful matching of data and the voters are allowed to cast
their vote.
6. The stored database consists of two thumb prints either of which can be used for the
authentication. The polls are stored for further result publication.
The most known disadvantage of the existing system is Rigging of votes and to overcome it we
have used biometric which will not allow the duplicate users to vote in absence of the card
holder for which the relay coil trips out with a buzzer indication and also a message is displayed
using the LCD. Even if the card holder tries to recast his vote he will indicated with a buzzer
stating that „Already Polled‟ in the LCD. The other case of Rigging is duplicating the card itself
which is also indicated using the buzzer and a message. Finally, the stored polls can be displayed
with no delay in time, which is also a disadvantage of the existing voting system
18. 18
CHAPTER 7
LIMITATIONS
E-voting systems have many advantages over conventional systems but it still has to
solve many hurdles before becoming coming to fruition. India’s majority population is rural
and illiterate. Also there is shortage of power and inadequate network between cities and
villages which further adds to the problems. This system requires good bandwidth and high
speed internet connection for operating, but it is still a distant reality in many cities in India.
However conditions are improving with the onset of education in rural areas and with
increasing urban population this project may soon become a reality.
19. 19
CHAPTER 8
CONCLUSION
In this paper, we have proposed an online voting system which is better and faster than
previous systems. The new system prevents access to illegal voters, provides ease of use,
transparency and maintains integrity of the voting process. The system also prevents multiple
votes by the same person and checks eligibility of the voter. It also allows a person to vote
from anywhere provided that the voter is within electoral limits.
20. 20
REFERENCES
[1] Khasawneh, M., Malkawi, M., & Al-Jarrah, O. (2008). A Biometric-Secure e-Voting
System for Election Process. Proceeding of the 5th International Symposium on Mechatronics
and its Applications (ISMA08). Amman, Jordan.
[2] Prasad, H. K., Halderman, A. J., & Gonggrijp, R. (Oct. 2010). Security Analysis of India’s
Electronic Voting Machines. Proc. 17th ACM Conference on Computer and Communications
Security (CCS ’10).
[3] UIDAI. (2012). Role of Biometric Technology in Aadhaar Authentication.
[4] Yinyeh, M. O., & Gbolagade, K. A. (2013). Overview of Biometric Electronic Voting
System in Ghana. International Journal of Advanced Research in Computer Science and
Software Engineering.
[5] McGaley, Margaret. “Irish Citizens for Trustworthy Voting.” 6 July 2004.
http://evoting.cs.may.ie/
[6] UIDAI, Biometrics Design Standards For UID Applications, 2009