Final Report
Final Report
in
Session: 2024-25
Page 1 of 45
STUDENT DECLARATION
This is to certify that Synopsis Report Entitled “Online Voting System” which is
submitted in partial fulfillment of the requirement for the award of degree B.Tech. in
Computer Science and Engineering to MPEC Kanpur, Dr. A.P.J. Abdul Kalam Technical
University, Lucknow comprises only original work and studies carried out by students
himself. The matter embodied in this synopsis has not been submitted for the award of
any other degree.
Page 2 of 45
Table Of Content
Pages
A. Introduction of the Problem 4 -8
B. Objective (Problem Statement) 9
C. H/W, S/W Requirements 10 -13
D. Advantages / Disadvantages 14
E. Flowchart/Algorithm/Pseudo code 15
F. Literature Review 16 -18
G. Technology Used 19 -21
G.(i) Requirement
G.(ii). System module
H. Feasibility study/Model Reviewed 22 -27
I. Output Screen shots 28 -32
J. Conclusion 33
K. Test Analysis/Result Analysis 34 -35
L. Future Scope 36
M. References 37
N. Appendix
(i) Code of the Solution 38-45
(ii) Data Table
(iii) Charts
Page 3 of 45
Online Voting System
Introduction :
India has democratic government. As now all Indian citizen become a part of the growing digital India.
They have a digital ID that is Aadhar card. Voting schemes have evolved from counting hands in early
days to systems that include paper, punch card, electronic voting machine. An electronic voting
system which is used nowadays provide some characteristic different from the traditional voting
technique, and also it provides improved features of voting system over traditional voting system such
as accuracy, convenience, flexibility, privacy, verifiability and mobility. But Electronic voting
systems suffers from various drawbacks such as time consuming, consumes large volume of paper
work, no direct role for the higher officials, damage of machines due to lack of attention, mass update
doesn’t allow users to update and edit many items simultaneously etc. These drawbacks can overcome
by Online Voting System. This is a voting system by which any voter can use his/her voting rights
from anywhere in the country. Voter can cast their votes from anywhere in the country without
visitingto voting booths, in highly secured way. That makes voting a fearless of violence and that
increases the percentage of voting.
To make the voting process very easy and efficient wireless and web technologies are used. The online-
voting system has the possibility of secure, easy and safe way to capture and count the votes in the
election.
The author in [1] “online voting system based on Adhaar id” uses Adhaar id as key of authentication,
system is efficient in term of time and provides security the system is great improvement over
traditional system but the main problem resides in this system is that of authentication, the
authentication technique used is not that efficient as biometric is not used.--
-: Voting Process :-
The paper [2] “Secure Authentication for Online Voting System” presents non traceability and
integrity of the votes, smart card has been used to avoid multiple votes casted by users, biometric is
being used for authenticating voters. The author has introduced smart card for biometric identification
and voter id card to be used at the time of casting vote. They are using smart card and voter id card a
Page 4 of 45
the time of election which is not feasible as anything can happen to those cards thus relying completely
upon cards in not a good idea. And the use of various cards makes the system costly now each and
every voter need to have the see additional cards. Also, it may take reasonable amount of time to
generate so many cards. All voting system generated priory though have met various features, which
a voting system may consists but the main problem one could find in this system is that little “online”
word, despite all techniques they have used to make system robust there is always a chance of
malpractice when your system is online.
In [3] “online voting system powered by biometric security” the author has used personal
identification number, thumb impression and secret key altogether for authentication of the
voter. Techniques such as cover image creation, secret key expansion have been used for securely
sending data to server and then further authenticating voters. This system is quite robust; it takes care
of authentication as well as security of voter’s data stored in server. The main problem with such
systems is that despite using various security techniques they won’t be able to manage such a huge
amount of data that they may encounter during election periods their system is online and they may
face congestion during casting votes.
Furthermore, the development of an online voting system in the C programming language involves
intricate design considerations, including user interface implementation, database management,
encryption algorithms, and network communication protocols. The utilization of C allows for a
structured and efficient coding approach, ensuring optimal system performance and reliability.
Through this project, the goal is not only to create a functional online voting system but also to delve into
the complexities of software development, security implementation, and user experience enhancement .
By amalgamating technological innovation with the fundamental principles of democracy, this project
endeavors to contribute to the evolution of electoral processes toward a more inclusive, secure, and
efficient future.
The C programming language stands as a foundational and influential language in the world of
computer programming. Developed in the early 1970s by Dennis Ritchie at Bell Labs, C was designe
to create system software for the UNIX operating system. Its simplicity, power, and flexibility made it
widely popular, leading to its use in diverse applications ranging from operating systems to embedded
systems and everything in between.
C is renowned for its efficiency and portability. It's a structured language that offers low-level access
to memory, enabling programmers to write code that interacts directly with hardware while still
maintaining a high level of abstraction. Its syntax serves as a blueprint for many modern programming
languages, making it an excellent language to learn for understanding the foundational concepts of
programming.
Being a middle-level language, C strikes a balance between high-level languages (with strong
abstraction from hardware) and low-level languages (providing more direct hardware access). This
makes it suitable for tasks that require close-to-hardware manipulation while remaining understandable
and adaptable for various applications.
Key features of C include its rich standard library, which provides numerous functions for tasks such
as input/output operations, string manipulation, and mathematical computations. Its flexibility allows
for both procedural and structured programming paradigms, offering control over the flow of
Page 6 of 45
influence extends beyond its own capabilities. Many modern languages like C++, Java, and Python
have borrowed concepts and syntax from C, making it a cornerstone in the history and evolution of
programming languages.
Overall, the enduring popularity of C stems from its efficiency, versatility, and foundational role in
shaping the landscape of modern computing, making it an essential language to grasp for programmers
aiming to delve into systems programming, application development, or even learning other
programming languages. Delving deeper into the realms of the C programming language reveals a
robust and versatile tool that has left an indelible mark on the landscape of computer science and
software development.
C's influence transcends its own domain; it has significantly shaped the development of subsequent
programming languages. Languages like C++, which extends C's capabilities with features like object-
oriented programming, and languages like Python, which retain C's syntax elements while introducing
higher-level abstractions, owe a debt to the foundational concepts laid out by C.
Moreover, the discipline instilled by C's syntax and rules serves as an excellent educational tool for
aspiring programmers. Its simplicity, coupled with the necessity for meticulousness in memory
management and syntax, fosters a strong understanding of programming fundamentals, making it an
ideal starting point for those entering the world of software development. In essence, the enduring
legacy of C as a powerful, efficient, and versatile programming language continues to reverberate
through modern computing. Its foundational principles not only serve as a bridge to understanding
more complex languages but also underpin the core concepts that drive innovation and advancements
in software development.
The C programming language provides a comprehensive standard library that encompasses a rich set
of functions, macros, and types, designed to facilitate various tasks encountered in programming. This
library, often referred to as the C Standard Library, forms an integral part of the language and offers
functionalities covering input/output operations, string manipulation, memory allocation,
mathematical computations, and more.
Here's an overview of some key components and functionalities within the C Standard Library:
Input/Output Operations: The library includes functions for input (reading data) and output (writing
data) operations. Functions like printf() and scanf() are used for formatted output and input,
respectively, while fprintf() and fscanf() allow operations on files. The library also provides
functionalities to manipulate files, such as fopen(), fclose(), fread(), and fwrite().
String Manipulation: String handling functions in C facilitate operations on character arrays. Functions
like strcpy(), strcat(), strlen(), and strcmp() enable copying, concatenation, length determination, and
comparison of strings. Additionally, sprintf() allows formatting strings as with printf() but directs
theoutput to a string instead of the standard output.
Memory Allocation and Management: C provides memory management functions like malloc(),
calloc(), realloc(), and free() to allocate and deallocate memory dynamically during program execution.
These functions enable flexible memory usage based on program requirements.
Mathematical Functions: The standard library incorporates numerous mathematical functions for
arithmetic, trigonometric, logarithmic, and other mathematical operations. Functions like sin(), cos(),
log(), pow(), and sqrt() assist in performing various mathematical computations.
Page 7 of 45
Time and Date Functions: C offers functions to work with time and date, allowing programmers to
retrieve and manipulate system time and date information. Functions such as time(), localtime(),
strftime(), and difftime() facilitate time-related operations.
SCOPE
A Scope survey suggested more than two thirds of the general election polling stations failed basic
access tests. Ms. Scott [of Scope] said the country's voting system "isn't working for other voters
either," demonstrated by "scores of people queuing outside polling stations" at the recent general
election.
"Over the last decade there has been next to no improvement in the overall accessibility of polling
stations or postal voting “There is a pressing need for clearer accountability over how elections are
delivered, to help improve the accessibility of current voting methods, as well as expanding these to
include alternative methods. "Unless this happens disabled people will continue to struggle to exercise
their right to vote "In a digital age where people can vote by text for the X-Factor and shop and bank
online, our voting system really needs to catch up."
Although Scope's report highlights a significant problem, the proposed solution - online and text voting
- would bring its own major problems. Both have been tested out in the UK in a series of pilots with
mixed results. Although the pilot series was often popular with the public, it has also been unpopular
with many IT security experts who doubt the security of such voting methods, the systems were often
unreliable and they were far more expensive than traditional voting methods. They also did not raise
turnout significantly. For a good recent summary of the case against these sorts of new voting methods.
Page 8 of 45
Objective (Problem Statement)
"The objective behind developing an online voting system using the C language is to merge technical
expertise with practical application, showcasing a robust understanding of programming fundamentals.
By crafting a secure, efficient, and user-centric platform, the aim is to demonstrate prowess in problem-
solving and algorithmic thinking. This project seeks to embody the principles of accessibility and
fairness in voting processes, highlighting the capacity to translate programming skills into real-world
solutions. Ultimately, this endeavor aims to showcase a seamless and reliable online voting system,
leveraging C language capabilities to create a valuable and functional tool for democratic processes."
Creating an online voting system using the C language encapsulates a multifaceted objective that
extends beyond mere technical implementation. The primary aim of this project is to exhibit a
comprehensive mastery of programming principles, especially in C, by applying these skills to real-
world scenarios. Through the development of a secure, efficient, and user-intuitive platform, the
endeavor intends to exemplify a deep-rooted understanding of algorithmic thinking and problem-
solving within the realm of software engineering. The core focus lies in addressing the complexities of
designing a system that not only ensures robust security measures but also champions accessibility and
inclusivity in the democratic process of voting. By amalgamating the intricacies of programming with
the practicality of facilitating fair and transparent voting procedures, this project endeavors to serve as
a testament to the seamless integration of technology into vital societal mechanisms. Ultimately, the
goal is to present an online voting system that not only showcases the technical proficiency in C but
also stands as a functional, reliable, and valuable tool in the landscape of democratic decision-making.
Page 9 of 45
-: S/W, H/W Requirement: -:
Hardware Requirements:
1. Server Infrastructure
2. Networking Equipment
3. Redundancy Measures
4. Client Devices
➢ Hardware: This includes physical components such as servers, which are powerful computers
designed to manage and process requests from other computers (clients) in a network. Servers
often have higher processing power, storage capacity, and memory compared to regular
computers.
➢ Operating Systems: Server operating systems (OS), such as Linux or Windows Server, are
optimized for server functions, providing services like file storage, networking, security, and
application hosting.
➢ Storage: Storage devices like hard drives, solid-state drives (SSDs), or network-attached
storage(NAS) devices are used to store data and files securely and make them accessible to
users or applications.
❖ Networking Equipment: Reliable routers, switches, and firewalls to ensure secure data
transmission and protect against unauthorized access. Network equipment refers to the hardware
devices used to facilitate communication and data transmission between different devices and
systems within a network. These devices work together to enable connectivity, data transfer, and
the management of network traffic.
➢ Routers: Routers are devices that connect multiple networks together and direct traffic between
them. They determine the best path for data packets to travel from the source to the destination
across networks.
➢ Switches: Switches are used to create a network by connecting devices within a local area
network (LAN). They manage data traffic at a more granular level than routers, directing data
to specific devices within the network.
➢ Firewalls: Firewalls are security devices that monitor and control incoming and outgoing
network traffic based on predetermined security rules. They help prevent unauthorized access
and protect the network from cyber threats.
Page 10 of 45
➢ Network Security Appliances: These devices include intrusion detection systems (IDS), intrusion
prevention systems (IPS), and antivirus gateways, which are specifically designed to identify
and mitigate security threats within the network.
➢ Modems: Modems are used to modulate and demodulate digital signals for transmission over
communication lines. They are commonly used to connect to the internet via DSL, cable, or
other types of connections.
➢ Wireless Access Points (WAPs): WAPs enable wireless devices to connect to a wired network.
They create wireless LANs, allowing devices like laptops, smartphones, and tablets to access
network resources without physical connections.
❖ Redundancy Measures: Backup servers or failover systems to ensure continuous availability and
prevent system failures during critical voting periods. Redundancy measures are strategies or
systems put in place to ensure continued operation or availability of services, even in the event of
failures or disruptions. The primary goal of redundancy is to minimize downtime, maintain system
reliability, and prevent data loss by creating backups or alternative mechanisms.
❖ Client Devices: Compatibility across various devices, including desktops, laptops, tablets, and
mobile phones, considering different hardware specifications and screen sizes for voter
accessibility.
Software Requirements:
1. Operating System
2. C compiler
3. Database Management System
4. Security Implementations
Page 11 of 45
❖ Operating System: A stable and secure OS like Linux or Windows Server to host the C-based
application, manage databases, and network communication. An operating system (OS) is a
fundamental software component that manages computer hardware, software resources, and
provides common services for computer programs. It serves as an intermediary between users
andthe hardware, enabling users to interact with the computer and run applications efficiently.
➢ Hardware Management: The OS manages computer hardware resources like CPU (Central
Processing Unit), memory (RAM), storage devices (hard drives, SSDs), input/output devices
(keyboard, mouse, monitor), and network devices.
➢ Process Management: It oversees the execution of programs or processes, allocating CPU
time, managing memory usage, and handling multitasking so that multiple applications can run
concurrently.
➢ File System Management: It manages how data is stored, organized, and accessed on storage
devices. It handles file creation, deletion, and manipulation, ensuring efficient data storage
andretrieval.
➢ User Interface: The OS provides a user interface (UI) that allows users to interact with the
computer system, either through a graphical user interface (GUI) or a command-line
interface(CLI).
➢ Security: It includes mechanisms to protect the system from unauthorized access, viruses, and
other security threats. This involves user authentication, access control, encryption, and
firewall protection.
Examples of popular operating systems include:
a) Microsoft Windows: Widely used in personal computers and enterprise environments.
b) MacOS: Developed by Apple for their Macintosh computers.
c) Linux: An open-source OS used in various distributions for servers, desktops, and
embedded systems.
d) iOS: Apple's mobile operating system used in iPhones and iPads.
e) Android: Developed by Google, used primarily in smartphones and tablets.
❖ C Compiler: A reliable C compiler such as GCC (GNU Compiler Collection) or Clang to compile
and execute the C code for the voting system. AC compiler is a software tool that translates human-
readable C programming code into machine-readable code, typically in the form of object code or
executable files. It is an essential component in the process of developing software in the C
programming language.
❖ Database Management System (DBMS): Utilizing a DBMS compatible with C, like SQLite or
MySQL, for efficient data storage and retrieval. A Database Management System (DBMS) is
software that enables users to create, manage, manipulate, and organize databases. It provides an
interface for users and applications to interact with databases, storing, retrieving, updating, and
managing vast amounts of structured data efficiently.
❖ Security Implementations: Integration of encryption techniques, firewalls, and secure coding
practices within the C code to ensure the system's resilience against potential threats. Security
implementations refer to the measures and strategies put in place to protect systems, networks,
applications, and data from unauthorized access, breaches, threats, and vulnerabilities. These
implementations involve a range of practices, technologies, policies, and tools aimed at ensuring
the confidentiality, integrity, and availability of information and systems.
❖ Web Server: If the system involves web-based interfaces, a web server software like Apache or
Nginx to serve web pages and manage communication between clients and the server.
❖ User Interface Development: Employing libraries or frameworks compatible with C, or
potentially integrating HTML/CSS for interface design if applicable.
By ensuring the availability and compatibility of these hardware and software components, a secure,
efficient, and accessible voting system can be developed using the C language, ensuring the integrity
and reliability of the electoral process.
Page 13 of 45
Advantages and Disadvantages of voting system
Advantages:
Accessibility: Enables remote voting from anywhere with internet access, promoting participation
among a wider demographic, including individuals with mobility issues or those living far from
polling stations.
Convenience: Voters can cast their ballots at their convenience within the designated voting period,
reducing the need to physically travel to polling stations.
Reduced Costs: Online systems can potentially reduce costs associated with traditional voting
methods, such as printing ballots, staffing polling stations, and transportation logistics.
Efficiency: Faster tabulation and immediate result calculation can expedite the voting process and
provide timely election outcomes.
Environmental Impact: Reduced paper usage and lower carbon footprint compared to traditional
paper-based voting methods.
Disadvantages:
Security Concerns: Susceptibility to cyber threats, hacking, tampering, or manipulation of votes,
raising concerns about the integrity and confidentiality of the voting process.
Digital Divide: Excludes individuals without internet access or those who are not tech-savvy,
potentially marginalizing certain demographics from participating in the voting process.
Authentication Challenges: Ensuring robust authentication methods to verify voters' identities
securely while preventing fraudulent activities is a significant challenge.
Privacy Issues: Risks of compromising voter privacy due to potential data breaches or unauthorized
access to personal information.
Trust and Transparency: Building trust among voters regarding the accuracy and transparency of
the online voting process may pose challenges, especially if the system's inner workings are not
easily understandable or transparent.
Technical Issues: Possibility of technical glitches, server failures, or connectivity issues that could
disrupt or compromise the voting process.
Online voting systems offer great potential for enhancing accessibility and efficiency in democratic
processes. However, addressing security concerns, ensuring inclusivity, and building trust in the
system's integrity remain critical challenges to overcome for widespread adoption. The balance
between convenience and security is pivotal in designing and implementing online voting systems to
maintain the sanctity of elections while expanding access to voting.
Page 14 of 45
Flowchart of Online Voting System
Page 15 of 45
-----: Literature Review :-----
The literature review on online voting systems encapsulates a multifaceted exploration of scholarly
works, technical reports, governmental publications, and academic studies within the intersection of
technology, democracy, and cybersecurity. This review serves as a comprehensive compass, navigating
through the depths of research, illuminating the evolution, challenges, innovations, and implications
of employing digital platforms for the democratic process.
Within the annals of academic journals, computer science publications delve into the intricate
algorithms and cryptographic frameworks designed to fortify the sanctity of online voting systems.
Discussions on end-to-end verifiability, cryptographic proofs, and secure multiparty computation form
the bedrock of ensuring the integrity and privacy of votes cast in the digital realm. Simultaneously,
human-computer interaction studies within these journals unveil the pivotal role of user experience
design in fostering accessibility, transparency, and trust in these systems.
1. INTRODUCTION
To offer an online election system, it was necessary to study the current computerized voting system
or voting machines working in different countries. Many developed countries USA, Australia have
already adopted an online Election system.
2. ELECTRONIC VOTING
Technology can include punched cards, optical scan voting systems and specialized voting kiosks
(including self-contained direct-recording electronic voting systems, or DRE). It can also involve
transmission of ballots and votes via telephones, private computer networks, or via the Internet.
Electronic voting helps voters to cast votes in an election through computerized equipment.
Sometimes this term is used to take votes over Internet.
2.1. MACHINE COUNTING
Machine-readable ballot systems provide help to the voters to mark their votes on a paper card with
marker and remove divots from a perforated card with a stylus or mechanical hole puncher.
Page 16 of 45
Figure 2.1 Machine Counting bullet
2.2. COMPUTER VOTING
Electronic voting machines (DRE) looking like an ATM’s or personal computer used to cast votes,
which provides help to vote through a keyboard, a touch screen, or a pointer to mark their votes.
Page 17 of 45
As we are looking at the existing system, they are just providing online voting. As we knew that
Government of India contain multiple elections. So, we are implementing our system such that voter
can select election and submit their vote region/ward wise. After studying existing system, we observed
that they are not providing state wise, region wise voting facility. So, it’s difficult to vote because there
is no restriction, so voter can also cast his/her vote to those candidates who is not belonging from his/
her area. In proposed system we are implementing that voter can cast his/her vote only those candidates
who’s belonging from his/her region/ward. We will display only those candidates who are belonging
from that particular voter’s ward. So, it will also help to conduct small election such as Gram
Panchayat Election or Nagar Sevak Election. We are making our voting system user friendly.
The corridors of government reports and white papers echo with deliberations on the practical
feasibility and regulatory landscapes shaping the adoption of online voting. These documents chronicle
the cautious steps and deliberations of electoral commissions and cybersecurity agencies, grappling
with the balancing act between accessibility and the imperatives of safeguarding against cyber threats
and ensuring voter authentication.
Explorations extend beyond the confines of academia, embracing the narratives spun in software
documentation, system architectures, and case studies. Technical specifications, open-source
frameworks, and proprietary software documentation unravel the intricate tapestry of code and
infrastructure underpinning these digital polling platforms. Meanwhile, the echoes of implemented
projects and case studies reverberate, sharing tales of triumphs, pitfalls, and the complexities inherent
in deploying and securing online voting systems within diverse societal and political landscapes.
The compass of this literature review also points towards legal doctrines, policy landscapes, and
international frameworks governing digital democracy. From constitutional amendments to
international conventions, these legal manuscripts chronicle the attempts at harmonizing the adoption
of technology in elections while guarding against vulnerabilities, coercion, and disenfranchisement.
Page 18 of 45
Requirements For online Voting System
Page 19 of 45
Technology Used
This Online Voting System will manage the Voter’s information by which voter can login and use his
voting rights. There is a DATABASE which is maintained by the ELECTION COMMISION OF
INDIA in which complete data of voter with complete information is stored. At the time of registration
voter will be asked for this: Full name, age, Aadhaar card no, mobile no. email id, finger prints and
verified the details by administrator. At the time of requesting vote, voter will be asked to enter his
aadhar id. Then voter will be authenticated, and he can give vote from one of the candidates from the
list. If voter already has AADHAR Id then he/she don’t need to register, else before voting he/she need
register himself/herself in AADHAR database. Certainly, the development of an online voting system
using the C language is possible. However, creating a comprehensive online voting system involves
more than just C; it typically involves a variety of technologies and languages to handle different
aspects of the system.
C is a powerful programming language often used for system programming, but it might not be the
ideal choice for building the entire front-end or user interface of a modern online voting system due to
its lower-level nature. Web development, which often requires interaction with databases, handling
user interfaces, and managing network communications, is commonly done using higher-level
languages like JavaScript, Python, or Ruby.
That said, C can be employed in certain aspects of an online voting system, especially in the backend
or for specific functionalities that demand high performance, low-level access, or handling critical
system operations.
Web Interface: Though not built in C, the front-end could be created using HTML, CSS, and
JavaScript to develop the user interface. C could handle server-side operations and interact with the
front-end using CGI (Common Gateway Interface) or FastCGI.
Backend Logic: C would handle the backend operations, including vote processing, database
interactions, and algorithm implementation for counting and verifying votes.
Database: Utilize a database system like SQLite or MySQL for storing voter information, ballots,
and counting votes. C can interact with these databases using appropriate libraries or APIs.
Security Measures: Implement encryption and hashing algorithms using libraries like OpenSSL to
ensure secure transmission and storage of data. C can utilize these libraries to perform cryptographic
operations.
Networking: Use C to handle networking aspects for communication between the client and server.
Libraries like BSD sockets or more modern libraries like libcurl might be employed for this purpose.
Logging and Audit Trails: C can be used to generate logs and maintain audit trails to track system
activities for verification and debugging purposes.
Page 21 of 45
System Model Review:
A. MODULE DESIGN
The proposed system consists of two modules,
1. User Module
2.Administrator Module
B. USER MODULE
User interface consists of a login name and unique password using which he/she can login into the
online voting system. This will be supplied by the administrator to the user. Once the user has logged
in, he has the privilege to view the names of the candidates listed by the administrator, view the results
after the termination date of the election. The user module constitutes only one sub module:
CANDIDATE REGISTRATION
This facilitates of voter view the register form are enter the details and finally submit the details within
check the details in administrator so your particular details are true accept the registration. Otherwise,
cross check the details, these details are false immediately reject your registration.
LOGIN
Each voter is provided with unique username and password manually by the administrator. The voter
uses the username and password for login and exercise the fundamental right of voting. If incorrect
username and password entered, the access to is denied to the user. And also voter is allowed to vote
only once. This is the security feature provided against external access of the system. After login the
voter enters the voter home page, which provides the links.
VOTING SYSTEM
This provides the voter with a list of candidates with in his/her constituency along with selection option
(button) to select the preferred candidate from the list. If the voting date is before termination date, the
vote goes valid else goes invalid.
VIEW RESULTS This provides graphical and user-friendly representation of the votes obtained by
each candidate. It includes the percentage of the votes obtained by each candidate. But the result can
be viewed only after the termination date of the election.
Page 22 of 45
LOGOUT
This provides an option for the voter to quit the session, while in the voter home page.
C. ADMINISTRATOR MODULE
Administrator interface consists of a login name and unique password using which admin can login
into the online voting system. Administrator has the main control of the system. By logging into the
page, it can perform the following tasks.
ADD CONSTITUENCY
Here the election to be conducted is selected. To add an election the constituency should be selected
and termination date of election should be specified.
VOTERS LIST
Here we can view the voters list. Each constituency will be having separate voters list.
CANDIDATE LIST
The list of candidates participating in the election can be seen. It includes the candidates name, party
name and party symbol.
The sub-modules of administrator are:
1. Voting Structure
2. Voters Registration
3. Candidate Registration
4. Counting & Categorization of Results
1. VOTING STRUCTURE
Here the eligible voters who are permitted to login to the system can utilize the right to vote. Each
voter can register a single vote to a candidate’s favor in his/her constituency. The security measures
taken within the system prevents them from exercising their votes again i.e. the second vote by the
same user goes invalid. The starting and ending dates of the election are specified by the administrator.
The user must have an identity card and he must be in voters list.
2. VOTERS REGISTRATION
The registration procedure of all the eligible voters. This registration process is done by the
administrator. According to voters database each voter is provided with a unique identification code
which includes username and password. The details of the voters include username, password, name,
address, gender, constituency, image etc. With the voter registration, thus producing the voter list with
the given information of the voters. The voter list can be viewed by anyone accessing the webpage.
The admin can view the voter list with in his homepage.
CANDIDATE REGISTRATION
The registration of the candidates in each constituency is done by the administrator. The details of the
candidate include name, address, gender, his/her constituency, party and image. With the candidate
registration, thus producing the candidate list with the given information of the candidates. The
Page 23 of 45
candidate’s database (manual) each detail of the candidates is stored in database controlled by the
admin including candidates’ details.
COUNTING & CATEGORIZATION OF RESULTS
When the voter votes, the number of votes obtained by the selected candidate is incremented by 1. The
result is published only after the voting process is over. It is accessible from the next day after the
termination date. Here we depict the result in the graphical representation according to the percentage
of vote obtained by the candidate. Result can be viewed by everyone who visits into the site without
any authentication problem. A link to view the result is kept in the index page and both admin and
voter can view the result in their respective homepages. When the user clicks the result link, before the
termination date of the election, “Result not Published yet” Message will be displayed. The result
comes with their party symbol on the top of the graph representing the percentage of vote obtained by
each candidate.
Page 24 of 45
How Voting System Done During Election
Page 25 of 45
Page 26 of 45
IMPROVEMENT IN EXISTING SYSTEM
As we are looking at the existing system, they are just providing online voting. As we knew that
Government of India contain multiple elections. So we are implementing our system such that voter
can select election and submit their vote region/ward wise. After studying existing system, we observed
that they are not providing state wise, region wise voting facility. So, it’s difficult to vote because there
is no restriction, so voter can also cast his/her vote to those candidates who is not belonging from
his/her area. In proposed system we are implementing that voter can cast his/her vote only those
candidates who’s belonging from his/her region/ward. We will display only those candidates who are
belonging from that particular voter’s ward. So, it will also help to conduct small election such as
Gram Panchayat Election or Nagar Sevak Election. We are making our voting system user friendly.
ALGORITHM:
Minutiae Based Algorithm In this we use two algorithms: minutiae-extraction algorithm (fingerprint
detection) and minutiae-matching (matching fingerprint i.e. input fingerprint and database fingerprint)
algorithm.
b. Minutiae Matching
We can match fingerprint by different strategies, such as point pattern matching, image-based
matching, ridge pattern
matching, graph-based scheme, etc. The point pattern matching is the minutiae matching. a minutia
matching is decomposed into two stages:
I. Alignment stage
Page 27 of 45
OUTPUT SCREENSHOTS
Page 28 of 45
Page 29 of 45
Page 30 of 45
Page 31 of 45
Page 32 of 45
Conclusion
Online Voting Systems have many advantages over the traditional voting system. Some of these
advantages are less cost, faster generation results, easy accessibility, accuracy, and low risk of
humanand mechanical errors. It is very difficult to develop online voting system which can allow
security and privacy on the high level. Future development focused to design a system which can be
easy to use and will provide security and privacy of votes on acceptable level by proper authentication
and processing section. It is easy to use and it is less time consuming. It is very easy to debug.
Certainly, the conclusion drawn from various news articles and research papers on online voting
systems is multifaceted. While some sources advocate for the potential benefits and advancements,
others underscore the challenges and risks associated with implementing such a system.
Proponents of online voting emphasize its capacity to enhance accessibility, convenience, and
participation in electoral processes. They argue that it could potentially increase voter turnout,
particularly among younger demographics and those facing physical limitations or geographical
constraints. Furthermore, proponents highlight the cost-effectiveness and efficiency gains that online
voting could bring to elections, streamlining the process and potentially reducing logistical burdens.
Conversely, skeptics and several research papers caution against the security vulnerabilities inherent
in online voting systems. They raise concerns about the susceptibility to cyber threats, hacking, and
potential manipulation of votes, which could compromise the integrity and confidentiality of elections.
Moreover, the digital divide, where not everyone has equal access to technology or the internet, poses
significant barrier to the equitable implementation of online voting.
Page 33 of 45
Test Analysis
Creating a comprehensive test result for an online voting system made in C language involves
evaluating different aspects of the system's functionality, security, and usability. Below is an example
of a test result template for an online voting system:
1. Functional Testing:
Voter Registration: Successful. Users can register with valid credentials.
Ballot Creation: Verified. System generates accurate ballots based on predefined criteria.Voting
Result Tabulation: Validated. System accurately tallies votes and displays result.
2. Security Testing:
Penetration Testing: No successful unauthorized access observed during simulated attacks.
Vulnerability Assessment: Identified and patched several potential vulnerabilities (e.g., SQL
injection, XSS).
Code Reviews: Reviewed code for security flaws; critical issues addressed.
3. Usability Testing:
User-Friendliness: Generally intuitive, although minor improvements suggested for navigation.
Accessibility: Tested across various devices and browsers; no major issues detected.
Ease of Use: Users found the system relatively straightforward to navigate and use.
4. Performance Testing:
Load Testing: System performed well under anticipated loads. Response times remained consistent.
Stability: No crashes or system instability observed during testing under stress conditions.
5. Compatibility Testing:
Cross-Browser Testing: System functions correctly across major browsers (Chrome, Firefox, Safari,
Edge).
Device Compatibility: Tested on desktop and mobile devices; no significant compatibility issues
found.
6. Compliance Testing:
Legal Compliance: System adheres to relevant electoral laws and data protection regulations.
Data Security: Encryption protocols ensure the security and privacy of voter data.
Page 34 of 45
7. Auditing and Transparency:
Audit Trail: Implemented a secure audit trail using cryptographic methods for transparent record-
keeping.
9. Independent Verification:
Third-Party Review: Subjected system to independent security audits; received positive feedback on
its security measures.
This test result template provides an overview of the various tests conducted on the online voting system
developed using C language. It highlights the system's strengths, areas of improvement, and steps taken
to ensure its functionality, security, and compliance with standards.
Page 35 of 45
Future Scope
The future scope of online voting systems holds immense potential for reshaping democratic
participation and electoral processes worldwide. Several aspects contribute to its promising
trajectory:
Accessibility and Inclusivity: As technology becomes more ubiquitous, online voting can bridge
gaps in accessibility, allowing a broader demographic to participate in elections. This includes
people with disabilities, individuals in remote areas, and citizens abroad.
Increased Participation: Online voting could potentially bolster voter turnout, particularly among
younger generations accustomed to digital platforms. Its convenience and ease of use might
encourage more people to engage in the democratic process.
Efficiency and Cost-effectiveness: Streamlining the voting process through digital means can
significantly reduce logistical complexities, administrative burdens, and costs associated with
traditional voting methods.
Pilots and Incremental Adoption: Governments and electoral bodies may begin with small-scale
pilots or trials to test the efficacy and security of online voting systems before widespread
implementation, ensuring a cautious and well-considered approach.
Continuous Research and Development: Ongoing research and development crucial to refine
existing systems, address vulnerabilities, and innovate new technologies that further enhance the
reliability and security of online voting.
Despite its potential, challenges like ensuring equitable access to technology, safeguarding against
cyber threats, and maintaining voter anonymity and trust remain significant. The future of online
voting systems hinges on collaborative efforts among governments, technologists, cybersecurity
experts, and citizens to address these challenges while leveraging the transformative possibilities
of digital advancements in democratic processes.
Page 36 of 45
References
1. Himanshu Agarwal and G.N. Pandey “Online Voting System for India Based on AADHAAR ID”
2013 Eleventh International Conference on ICT and Knowledge Engineering
2. Smita B. Khaimar, P. Sanyasi Naidu, Reena Kharat “Secure Authentication for Online Voting
System”
3. Shivendra Katiyar, Kullai Reddy Meka, Ferdous A. Barbhuiya, Sukumar Nandi “Online Voting
System Powered by Biometric Security” 2011 Second International Conference on Emerging
Applications of Information Technology.
Page 37 of 45
Code of The Problem
Page 38 of 45
Page 39 of 45
Page 40 of 45
Page 41 of 45
Page 42 of 45
Page 43 of 45
Page 44 of 45
Page 45 of 45