0% found this document useful (0 votes)
18 views54 pages

Aimvot

This document is a mini project report submitted by Ranjith T for the Master of Computer Applications degree, focusing on the design and development of a secure online voting system aimed at enhancing election management. The project addresses key objectives such as voter authentication, data integrity, and maintaining voter anonymity while leveraging modern technology to improve accessibility and transparency in the electoral process. The report includes sections on literature review, system analysis, specifications, and expected outcomes of the proposed online voting system.

Uploaded by

noobvi631
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views54 pages

Aimvot

This document is a mini project report submitted by Ranjith T for the Master of Computer Applications degree, focusing on the design and development of a secure online voting system aimed at enhancing election management. The project addresses key objectives such as voter authentication, data integrity, and maintaining voter anonymity while leveraging modern technology to improve accessibility and transparency in the electoral process. The report includes sections on literature review, system analysis, specifications, and expected outcomes of the proposed online voting system.

Uploaded by

noobvi631
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 54

DESIGN AND DEVELOPMENT OF A SECURE

ONLINE VOTING SYSTEM FOR RELIABLE


ELECTION MANAGEMENT

23PMC306

M I N I PROJECT REPORT

Submitted by

RANJITH.T
Register No: 730923632034

in partial fulfillment of the requirementfor the award of the degree


of

MASTER OF COMPUTER APPLICATIONS

In

DEPARTMENT OF COMPUTER APPLICATIONS

EXCEL ENGINEERING COLLEGE(AUTONOMOUS)

An Autonomous Institution, affiliated to Anna University ChennaiApproved by AICTE, New Delhi

KOMARAPALAYAM – 637303

NOV-DEC 2024
EXCEL ENGINEERING COLLEGE
KOMARAPALAYAM - 637303

BONAFIDE CERTIFICATE

Certified that this project report titled “Design and Development of a Secure Online
Voting System for Reliable Election Management” is the Bonafide work of RANJITH.T
(Reg.no: 730923632034), who carried out the project under my supervision. Certified further,
that to the best of my knowledge the work reported here in does not form part of any other
project report dissertation on the basis of which a degree or award was conferred on an earlier
occasion on this or any other candidate.

SIGNATURE SIGNATURE

Dr.P.S.VELUMANI, MCA., Ph.D Dr.U.SRIDEVI.,Ph.D,


HEAD OF THE DEPARTMENT GUIDES
Professor/ Head Assistant Professor
Department of MCA Department of MCA
Excel Engineering College (Autonomous) Excel Engineering College (Autonomous)
Komarapalayam–637303 Komarapalayam –637303

Submitted for the viva-voce examination held on

INTERNAL EXAMINER EXTERNAL EXAMINER


DECLARATION

I jointly declare that the project report on “DESIGN AND DEVELOPMENT OF A

SECURE ONLINE VOTING SYSTEM FOR RELIABLE ELECTION

MANAGEMENT” is the result of original work done by me and best of my knowledge,

similar work has not been submitted to “ANNA UNIVERSITY, CHENNAI” for the

requirement of Degree of MASTER OF COMPUTER APPLICATIONS. This project

report is submitted on the partial fulfillment of the requirement of the award of Degree of

MASTER OF COMPUTER APPLICATIONS.

SIGNATURE

RANJITH.T

730923632034

Place: Komarapalayam

Date:
ACKNOWLEDGEMENT

I wish to express our sincere and heartfelt obligation to our honorable Founder and Chairman
Prof.Dr.A.K.NATESAN, M.Com, MBA, M.Phil., Ph.D, FTA, for providing immense facilities at
our institution.

I am very proudly rendering our thanks to our Principal Dr.K.BOMMANNA RAJA, Ph.D., for
the facilities and the encouragement given by him to the progress and completion of our project.

I proudly render our immense gratitude to the Head of the Department,


Dr.P.S.VELUMANI,MCA.,Ph.D., for his effective leadership, encouragement and guidance in the
project.

I am highly indebted to provide our heart full thanks to our guide Dr.U.SRIDEVI.,Ph.D.,
Assistant Professor for her valuable ideas, encouragement and supportive guidance throughout the
project.

I wish to extend our sincere thanks to all faculty members of our Computer Applications
Department for their valuable suggestions, kind cooperation and constant encouragement for
successful completion of this project.

I wish to acknowledge the help received from various Departments and various individuals
during the preparation and ending stages of the manuscript.
TABLE OF CONTENT

CHAPTER NO TITLE PAGE NO

ABSTRACT I

LIST OF ABBREVATIONS II

1 INTRODUCTION 1

1.1. INTRODUCTION 1

1.2. OBJECTIVE OF THE PROJECT 3

2 LITRATURE REVIEW 5

3 SYSTEM ANALYSIS 7

3.1. EXISTING SYSTEM 7

3.2. PROPOSED SYSTEM 8

3.3. FEASIBILITY STUDY 9

4 SYSTEM SPECIFICATION 11

4.1. HARDWARE REQUIREMENTS 11

4.2. SOFTWARE REQUIREMENTS 11

5 SOFTWARE DESCRIPTION 12

5.1. FRONT END 12

5.2. BACK END 14

6 PROJECT DESCRIPTION 16

6.1. OVERVIEW OF THE PROJECT 16

6.2. DESCRIPTION OF MODULES 18

6.3. SYSTEM ARCHITECTURE 20

6.4. DATA FLOW DIAGRAM 21


7. SYSTEM TESTING 24
7.1. UNIT TESTING 24
7.2. INTEGRATION TESTING 24
7.3. FUNCTIONAL TESTING 25
7.4. WHITE BOX TESTING 26
7.5. BLACK BOX TESTING 27

8. SYSTEM IMPLEMENTATION 29

9. CONCLUSION&FUTUREENHANCEMET 34

10. APPENDICES 32
10.1 SOURCE CODE 32
10.2 SCREEN SHOTS 42

11. REFERENCE 44

11.1 BOOK REFERENCE 44

11.2 WEBSITE REFERENCE 45


ABSTRACT

The is an innovative solution designed to facilitate secure, efficient, and accessible voting in
elections, leveraging modern technology. The system enables eligible voters to cast their votes via
the internet, making the process faster and more convenient while maintaining the integrity of
traditional voting methods. It incorporates robust authentication protocols to ensure voter identity
and prevent unauthorized access. Voter anonymity is maintained, and data integrity is preserved using
encryption and secure communication protocols. The system also features real-time vote tallying,
improving transparency and speed in the election process. Moreover, it allows easy monitoring and
auditing, reducing the risk of human error and electoral fraud. The Online Voting System aims to
enhance voter participation, particularly for those unable to attend physical polling stations due to
geographical or physical constraints. By combining modern technology with electoral processes, the
system promises to modernize the voting experience and increase trust in democratic practices.

i
LIST OF ABBREVATIONS

ABBREVATIONS ACRONYM

E-Voting Electronic Voting

VVPAT Voter Verified Paper Audit Trail

OTP One-Time Password

PIN Personal Identification Number

SSL Secure Sockets Layer

HTTPS Hyper Text Transfer Protocol Secure

SAML Security Assertion Markup Language

JWT JSON Web Token

DBMS Database Management System

DDOS Distributed Denial of Service

CMS Content Management System

NIST National Institute of Standards and Technology

ii
CHAPTER 1

INTRODUCTION

1.1 INTRODUTION

The evolution of technology has brought about significant changes in various sectors, with
one of the most notable transformations occurring in the domain of elections. Traditional voting
methods, which involve physical ballots and manual counting, have been in use for centuries,
but they come with inherent limitations such as logistical challenges, high costs, time delays,
and concerns regarding security and transparency. As society becomes more digitized, there is
a growing need for a more efficient, accessible, and secure method of conducting elections. This
has led to the development of online voting systems, which aim to address these challenges by
leveraging modern information and communication technologies.

In this context, the design and development of a secure online voting system plays a
pivotal role in modernizing election management and ensuring the integrity of democratic
processes. An online voting system provides voters with the convenience of casting their ballots
remotely, thus eliminating the need for physical presence at polling stations. However, as with
any digital system, security and reliability are of paramount importance. The online voting
system must ensure the privacy of voters, prevent fraudulent activities, safeguard against cyber-
attacks, and ensure that results are accurate and tamper-proof.

OBJECTIVES:

The primary objectives of this project are:

1. Voter Authentication: Ensuring that only eligible voters can participate by implementing
robust authentication mechanisms, such as two-factor authentication (2FA), biometric
verification, and the use of digital certificates.

1
2. End-to-End Encryption: Protecting voter anonymity and securing the transmission of votes
through encryption protocols such as HTTPS and SSL/TLS, which ensure that votes cannot be
intercepted or altered in transit.

3. Voter Anonymity: To protect the privacy of voters by ensuring that their identity is not linked
to their vote, maintaining the principle of confidential voting.

4. Data Integrity: Safeguarding against data tampering or manipulation through the use of
hashing algorithms, digital signatures, and secure databases.

5. Transparency and Integrity: To enhance transparency by providing verifiable results and


maintaining the integrity of the election through secure, tamper-proof voting records.

Motivation:

The motivation for designing and developing a Secure Online Voting System for reliable election
management stems from the growing need to address the limitations of traditional voting methods
while enhancing the integrity, accessibility, and efficiency of electoral processes in the modern world.
As the global landscape shifts toward digitalization, many sectors, including governance and
democracy, must adapt to keep pace with technological advances. Elections, being the cornerstone of
democratic participation, are no exception.

Expected Outcomes:

The Design and Development of a Secure Online Voting System for Reliable Election
Management aims to address critical challenges in election processes, such as security, privacy,
accessibility, and transparency, through the implementation of an online voting system. The expected
outcomes from this project can be summarized as follows:

2
1.2 OBJECTIVE OF THE PROJECT

Design and Development of a Secure Online Voting System for Reliable Election Management" is
to create a comprehensive and robust online voting platform that addresses the critical needs of modern
election systems. The primary objective is to ensure secure, transparent, efficient, and accessible
elections, utilizing technology to overcome the limitations of traditional voting methods. Below are the
key objectives of this project:

SPECIFIC GOALS:

1. To Develop a Secure Online Voting System


• Objective: Design a secure system that guarantees the integrity of votes by preventing
unauthorized access, tampering, or manipulation of data. This includes the use of encryption,
multi-factor authentication, and advanced security protocols.
• Goal: To minimize the risk of cyberattacks and ensure the privacy and confidentiality of voter
data.
2. To Ensure Voter Authentication and Integrity
• Objective: Implement robust voter authentication mechanisms to confirm voter identity,
ensuring that only eligible individuals can cast their votes and that voting is conducted securely.
• Goal: To prevent voter impersonation and ensure that each individual votes only once.

3. To Maintain Voter Privacy and Anonymity


• Objective: Develop a system that guarantees voter anonymity, where the vote is recorded
securely but cannot be traced back to the individual voter.
• Goal: To protect voter privacy while ensuring transparency and accountability in the election
process.
4. To Enhance Election Transparency and Audibility
• Objective: Implement an auditable system where election results and voting logs can be
independently verified, providing transparency at every stage of the voting process.
• Goal: To build trust in the system and make the election process open to scrutiny by authorized
3
5. To Improve Accessibility and Inclusivity
• Objective: Design an accessible platform that enables all eligible voters, including those with
disabilities or in remote areas, to participate in the election process through easy-to-use
interfaces.
• Goal: To ensure that no voter is excluded from the process due to physical, geographical, or
technological barriers.
6. To Provide Real-Time Voting and Results Processing
• Objective: Implement real-time vote collection, processing, and reporting, ensuring fast,
accurate, and automated tallying of votes.
• Goal: To expedite the result announcement process and minimize human error during vote
counting.
7. To Build a Scalable and Reliable System
• Objective: Design the system to handle large-scale elections with high voter turnout, ensuring
reliability and scalability under heavy usage.
• Goal: To provide a stable platform that can manage millions of voters and election data without
performance degradation.
8. To Ensure Legal and Regulatory Compliance
• Objective: Ensure that the online voting system complies with relevant legal and regulatory
frameworks for elections, including data protection laws, electoral integrity regulations, and
voter rights.
• Goal: To ensure that the system adheres to the necessary legal requirements for the election
process to be valid and legitimate.

9. To Reduce Election Costs and Logistics


• Objective: Minimize the logistical challenges and costs associated with traditional voting
systems (such as paper ballots, physical polling stations, and staff management) by utilizing an
online platform.
• Goal: To reduce overall election expenses and environmental impact.

4
CHAPTER 2

LITERATURE REVIEW

The development of a secure online voting system involves extensive research into various
aspects of security, accessibility, usability, and system integrity. This literature review explores
existing studies, methodologies, and technologies that inform the design and development of
online voting systems, with a focus on their application to enhance election management and
ensure reliability

• Security in Online Voting Systems: Security is the paramount concern in any online voting
system. Multiple research papers emphasize the importance of ensuring confidentiality,
integrity, authentication, and non-repudiation in online voting. According to Zhang et al.
(2020), one of the primary threats to online voting is ensuring that votes are cast and counted
correctly without tampering. Blockchain technology has been suggested as a solution to address
this issue, providing immutable and transparent records of votes. Jøsang et al. (2018) also
discuss how public key infrastructure (PKI) can be integrated to ensure secure transmission of
votes. Furthermore, Park et al. (2019) explore the implementation of end-to-end encryption to
prevent vote interception.
• Privacy Preservation and Voter Anonymity: Privacy and voter anonymity are other major
concerns that need to be ensured to prevent coercion, vote buying, or retaliation. Pintus et al.
(2017) argue that the best online voting systems combine strong encryption techniques with
sophisticated cryptographic protocols such as homomorphic encryption or zero-knowledge
proofs.

2. Security Concerns in Online Voting

One of the most critical concerns in the design of online voting systems is security. These
systems are vulnerable to cyber-attacks, hacking, and fraud, which can undermine the integrity
of elections

5
• Encryption: According to studies (e.g., Pernsteiner et al., 2020), the use of strong encryption
methods such as AES-256 and public key infrastructure (PKI) is essential to
• Blockchain Technology: Kshetri (2017) highlights the potential use of blockchain for online
voting systems. Blockchain provides an immutable and transparent record of votes, making it
nearly impossible to alter or tamper with votes once they are cast. This technology can be used to
create a transparent, decentralized, and auditable election system.

• Vulnerability Assessment: Biryukov & Tsudik (2020) discuss the risk of Distributed Denial-of-
Service (DDoS) attacks and the need for mechanisms like CAPTCHA and bot detection to mitigate
this threat. The integrity of votes is at risk if attackers manipulate or overload the system, so these
mechanisms ensure the system’s robustness against such threats.

3. Privacy and Anonymity in Online Voting

Privacy is a cornerstone of democratic elections. Anonymity ensures that voters are free to make
choices without fear of retribution or influence.

• Homomorphic Encryption: According to Ghosh & Ramanathan (2018), homomorphic


encryption allows computations to be performed on encrypted data, ensuring that votes remain
private while still enabling the system to count them. This technology can help preserve
anonymity even during vote tallying.
• End-to-End Verifiability: Several authors (e.g., Gritzalis et al., 2021) have emphasized the
importance of verifiability in online voting systems. Voters must be able to verify that their
votes have been counted accurately without revealing their vote’s content. End-to-end
verifiable systems like those using cryptographic proof allow voters to check whether their vote
was recorded as cast, maintaining both anonymity and transparency.
• Privacy-Preserving Protocols: Research on privacy-preserving protocols (e.g., Yung et al.,
2019) discusses the importance of balancing the need for privacy with the need for transparency

6
CHAPTER 3
SYSTEM ANALYSIS

3.1 EXISTING SYSTEM


The design and development of a secure online voting system (OVS) for reliable election
management involves several stages of analysis to ensure that the system meets the desired objectives
of security, accuracy, transparency, and accessibility. This section focuses on analyzing the
functional and non-functional requirements of the proposed system, identifying its key components,
and evaluating potential challenges and considerations for a robust and scalable online voting
solution.

1. Functional Requirements

Functional requirements define the core operations and features that the system must support. These
are the expected behaviors of the system when used by different stakeholders (voters, election officials,
and administrators).

• Voter Registration: The system must provide secure registration mechanisms for eligible
voters, ensuring that only authorized individuals can cast votes. This can include biometric
verification, government-issued ID integration, or integration with a national voter database.
• Authentication and Authorization: The system must support multi-factor authentication
(MFA) to confirm the identity of voters and prevent impersonation. Authentication mechanisms
could involve user IDs, passwords, biometric data, or hardware tokens. Each voter should only
be allowed to vote once per election.
• Casting Votes: Voters should be able to cast their votes electronically through a secure online
interface. The system must allow voters to select their preferred candidates or options, and
ensure that the vote is securely encrypted before submission.
• (e.g., AES-256) should be employed, with secure transmission protocols like HTTPS or VPNs.

7
3.2 PROPOSED SYSTEM

The proposed system aims to develop a secure, reliable, and accessible online voting platform
that leverages modern technologies to ensure the integrity of the election process. It integrates security
features such as encryption, authentication, blockchain, and tamper-proof data management to ensure
that votes are confidential, verifiable, and cannot be altered. This system will address the challenges
faced by traditional voting systems, enhancing voter participation, improving efficiency, and providing
a transparent and auditable electoral process.

1.System Components

1. Voter Registration System

• Voter Authentication: Voters must register with the system before participating in the
election. Registration can be done using a government-issued ID, biometric verification
(fingerprint or facial recognition), or integration with national databases to verify eligibility.
• Secure Database: Voter information (such as name, ID, and contact details) will be securely
stored in an encrypted database, ensuring privacy.

2. Login and Authentication

• Multi-factor Authentication (MFA): To ensure that only authorized individuals can vote, the
system will use MFA, combining something the voter knows (password or PIN), something the
voter has (OTP sent via SMS or email), and something the voter is (biometric authentication
such as fingerprint or facial recognition).
• Session Timeout and Monitoring: For added security, user sessions will time out after a
specified period of inactivity, and login attempts will be monitored to prevent unauthorized
access.

3. Voting Interface

• User-Friendly Interface: The voting platform will have a simple, intuitive interface to guide
voters through the voting process. The platform will support multiple languages to cater to
diverse voter populations.

8
3.3FEASIBILITY STUDY

A feasibility study is essential for determining whether the proposed Secure Online Voting
System (SOVS) can be successfully developed and implemented in a practical, secure, and cost-
effective manner. This study will assess the technical, economic, and operational feasibility of the
system, taking into consideration potential challenges, benefits, and the resources required for
successful implementation.

1 . Technical Feasibility
Technical feasibility evaluates whether the proposed system is technically sound and achievable
using current technologies. For the SOVS, key technical factors include security, system
architecture, scalability, and integration with existing infrastructure.

a. System Architecture and Design:

The proposed system architecture, comprising voter authentication, vote casting, blockchain-based
vote recording, and vote tallying, can be implemented using existing technologies

b. Security Measures:

The system will utilize robust security protocols to safeguard against attacks, including end-to-end
encryption, blockchain, and multi-factor authentication (MFA

c. Usability:

The user interface design of the SOVS will be intuitive and accessible. With input from real users
during testing phases, the system can be made compatible across different devices, including
smartphones, desktops, and tablets.

d. Integration with Existing Infrastructure:

The system can be integrated with existing government databases for voter registration and
identity verification. However, challenges may arise from legacy systems that may not be compatible
with modern technologies.

2. Economic Feasibility
Economic feasibility evaluates the financial aspects of implementing the system, including the
development, maintenance, and operational costs, as well as the potential return on investment .

9
a. Development Costs:

The development of the Secure Online Voting System will require significant upfront investment,
including

b. Operational Costs:

After the initial development phase, the ongoing operational costs will include

c. Cost-Benefit Analysis:

Although the initial investment in developing and deploying the system may be substantial, the long-
term benefits outweigh the costs. Some benefits include

d. Funding and Revenue Generation:


The system could be funded through government budgets or public-private partnerships. Revenue
could potentially be generated by offering the platform to other organizations or nations for secure
digital elections, thereby reducing the financial burden on individual countries.

3. Operational Feasibility
Operational feasibility focuses on the ability of the organization to implement, operate, and manage
the Secure Online Voting System effectively. This includes evaluating the system's alignment with
existing election processes, legal and regulatory requirements, and the ability to manage the system
post-deployment.

a. Implementation Timeline:
The deployment of the Secure Online Voting System would require a structured and phased approach.
b. Training and Support:
Election officials and users will need training to effectively use the system. Training programs for
administrators, auditors, and voters will be required to ensure that everyone understands the process
and can use the system effectively.
c. Legal and Regulatory Compliance:
The system must comply with various legal and regulatory standards, such as.

10
CHAPTER 4

SYSTEM SPECIFICATION

4.1 HARDWARE REQUIREMENTS

Processor Type : intel core i5

RAM : 4GB RAM

Speed : 2 GHz

Hard disk : 500 GB

4.2 SOFTWARE REQUIREMENTS

Operating System : Windows 11

Front end : HTML, CSS, JavaScript

Back end : MySQL

Software : Xampp/Wamp/Mamp

Programming language : Php5.6, Php7.x

11
CHAPTER 5

SOFTWARE DESCRIPTION

5.1 FRONT END

The frontend of the proposed the user interface (UI) that allows users to interact with the
application. The frontend is developed using modern web technologies to ensure that it is
responsive, user-friendly, and efficient. The design will focus on enhancing the user experience
(UX), ensuring that navigating through the CRM system is intuitive and seamless, while also
providing robust functionality for managing clients, sales, tasks, and communications.

1. FRONTEND TECHNOLOGIES

• HTML5: The standard markup language used to structure content on the web. HTML5
ensures compatibility with modern browsers and offers new elements and APIs for
enhanced functionality.
• CSS3: Used to style and layout the UI components. With CSS3, we can create responsive
and attractive designs, including features like animations, transitions, and flexible grid
layouts.
• JavaScript: The scripting language that allows for interactivity. JavaScript is used to
handle events (such as form submissions), perform data validation, and dynamically update
content without needing to refresh the page.
• JavaScript Frameworks (React.js or Vue.js): For building dynamic, single-page
applications (SPAs). These frameworks will help render content efficiently by reusing
components and dynamically updating the page without full reloads.
• AJAX: A technology that allows for asynchronous communication between the frontend
and backend, enabling real-time updates (such as updating a client record or submitting a
task) without requiring page reloads.
• Bootstrap / Tailwind CSS: CSS frameworks that offer pre-built UI components (buttons,
forms, modals, etc.), responsive grid systems, and themes to make the design process faster
and more consistent across devices.

12
• Chart.js / Google Charts: Used for creating interactive charts and graphs for data
visualization (e.g., sales performance, client statistics, or task completion).

2. KEY FRONTEND FEATURES AND COMPONENTS

The frontend of the CRM system will consist of various pages and UI components tailored to
the needs of sales teams, marketing teams, and customer support. Below is an overview of the essential
features and how they will be presented to users.

2.1 DASHBOARD (MAIN INTERFACE)

The Dashboard or Main Interface serves as the central hub of the Secure Online Voting
System (SOVS), providing users (voters, election administrators, and auditors) with an intuitive, easy-
to-navigate environment to interact with the system.

• DASHBOARD DESIGN AND KEY FEATURES:


The dashboard’s design will prioritize user-friendliness, security, and clarity. Here is a
breakdown of the user interface features

• Logo and Branding:


Displays the logo of the election authority at the top left corner, along with the election name
or platform name.

• Navigation Menu: A sidebar or horizontal menu provides easy access to key functions, such
as:
o Home: Quick access to the voter, admin, or auditor dashboard.
o Election Overview: View all available elections.
o Results: View election results (for admins and auditors).
o Settings: Modify user preferences or election configuration.
o Logout: Securely log out of the system.

13
5.2 BACK END

The back-end of the Secure Online Voting System (SOVS) is responsible for handling all the
critical server-side processes, including vote casting, vote encryption, tallying, user authentication,
data storage, and security enforcement. The system needs to be robust, secure, scalable, and able to
handle a large volume of users during elections.

1. BACKEND TECHNOLOGIES:

• PHP: The main server-side scripting language used for handling business logic, data
processing, and communication with the database. PHP is flexible and widely used in web
development, making it an ideal choice for building scalable web applications.
• MySQL: A robust and efficient relational database management system (RDBMS) used for
storing and managing data such as client information, sales pipeline, tasks, and communication
logs. MySQL provides strong querying capabilities, ensuring efficient data retrieval and
updates.
• Apache/Nginx: The web server used to handle HTTP requests, serve PHP files, and manage
routing. Apache is commonly used in PHP-based applications, while Nginx is known for its
high performance and ability to handle multiple concurrent requests.
• RESTful API (Optional): A set of HTTP endpoints (built in PHP) that allows the frontend to
interact with the backend asynchronously via AJAX calls. This provides real-time updates, such
as adding or editing client records or completing tasks, without the need to refresh the page

2. CORE BACKEND COMPONENTS:

2.1 USER AUTHENTICATION AND AUTHORIZATION

User authentication and authorization ensure that only authorized users can access the CRM
system and perform specific actions based on their roles (admin, salesperson, customer
support).

• Login System:
o Users enter their credentials (username and password) via the frontend, which are sent
to the backend for validation.
14
o PHP handles the logic for checking the user’s credentials against the users table in
the MySQL database.
o Passwords are securely stored using PHP’s password_hash() and
password_verify() functions to ensure that sensitive data is never stored in plain
text.

2.2 DATA VALIDATION AND SECURITY

• Input Validation: All incoming data from the frontend (e.g., client information, tasks, sales
details) is validated and sanitized to prevent security vulnerabilities like SQL injection and
cross-site scripting (XSS). PHP functions such as filter_var() and
htmlspecialchars() are used to sanitize input.
• SQL Injection Prevention: Prepared statements and parameterized queries are used in all
interactions with the MySQL database to prevent SQL injection attacks. For example:

php
Copy code
$stmt = $mysqli->prepare("INSERT INTO clients (name, email)
VALUES (?, ?)");
$stmt->bind_param("ss", $client_name, $client_email);
$stmt->execute();

• Data Encryption: Sensitive client data, such as passwords, is encrypted using bcrypt or
argon2 hashing algorithms. Email communication and data transfer between the frontend
and backend are encrypted using SSL/TLS to ensure security.
• Access Control: Role-based access control (RBAC) ensures that only authorized users can
access certain features or data. For example, only admins can modify user permissions, and
only salespeople can access the sales pipeline.

15
CHAPTER 6

PROJECT DESCRIPTION

6.1 OVERVIEW OF THE PROJECT:

In the digital era, the need for secure, efficient, and accessible voting systems has become a
critical requirement for modern democracies. The Design and Development of a Secure Online
Voting System for Reliable Election Management project aims to address the growing demand
for innovative solutions to improve the election process. This system leverages advanced
technologies such as blockchain and encryption to provide a secure, transparent, and scalable
platform for conducting elections online.

KEY FEATURES OF THE SECURE ONLINE VOTING SYSTEM:

1. Security and Confidentiality: The core feature of the system is its security. Every vote is
encrypted using advanced cryptographic techniques, ensuring voter privacy and preventing
tampering.
2. Voter Authentication and Identity Verification: To ensure that only eligible voters can
participate, the system incorporates multi-factor authentication (MFA).

1. Data-Driven Insights: Provide real-time analytics and reporting tools to better understand
client behavior, preferences, and needs, allowing for more informed decision-making.
2. Improved Communication: Ensure seamless communication and interaction tracking to
deliver a more personalized client experience.

SCOPE OF THE PROJECT:

The project will involve the design, development, and deployment of a web-based CRM
system that integrates all client information, communication channels, and business processes.
This system will allow various departments within an organization to access, manage, and
leverage client data in real time, improving overall client service and business operations.

16
TECHNOLOGY STACK:

1. Blockchain:
The blockchain serves as the backbone of the voting system, ensuring data immutability and
transparency. It guarantees that once a vote is recorded, it cannot be tampered with.
Technologies such as Ethereum or Hyperledger are used for this purpose, with Solidity used
for writing smart contracts.
2. Web Technologies:
o Frontend: Developed using HTML5, CSS3, and JavaScript (with frameworks such
as React.js or Vue.js for dynamic content).
o Backend: Built using Node.js, Django (Python), or Spring Boot (Java), which manage
the logic and communicate with the blockchain.
3. Cryptographic:
The system uses AES-256 encryption for vote confidentiality and crypts for secure password
hashing. Multi-factor Authentication (MFA) ensures only legitimate voters can cast their
ballots.
4. Database:
A relational database (such as PostgreSQL) or a NoSQL database (like MongoDB) will
store user profiles, election data, and non-sensitive information. All sensitive data is encrypted.

BENEFITS OF THE SECURE ONLINE VOTING SYSTEM:

1. Enhanced Voter Participation:


Voters can cast their ballots from anywhere in the world, eliminating the need to travel to
physical polling stations, thus increasing voter turnout.
2. Improved Security:
The combination of encryption and blockchain technology ensures that votes are protected
against tampering, hacking, and fraud.

17
6.2 DESCRIPTION OF MODULES

1. User Registration and Authentication Module:


• Purpose: Ensures that only eligible voters can register and vote.
• Components:
o Voter Registration: Collects and verifies voter details (e.g., name, address, unique
identification number, etc.).
o Authentication: Implements strong user authentication mechanisms (e.g., multi-factor
authentication, biometrics, or two-factor authentication).
o Verification: Confirms the identity of each voter using secure methods (e.g., email
verification, SMS-based verification, or government-issued IDs).
o Encryption: Secure transmission of data using encryption protocols (e.g., SSL/TLS) to
prevent unauthorized access.

2. Voter Interface Module:


• Purpose: Provides an easy-to-use interface for voters to cast their votes.
• Components:
o Login Interface: Allows registered voters to access the system using their credentials.
o Voting Interface: Displays the ballot, providing options to select candidates, political
parties, or issues.
o Accessibility Features: Ensures the interface is user-friendly and accessible for people
with disabilities (e.g., screen readers, large fonts, multi-language support).
o Confirmation Screen: Displays a summary of the voter’s selection for final confirmation
before submission.
o Ballot Casting: After confirmation, voters submit their vote securely to the backend
system.

3. Ballot Management Module:


• Purpose: Manages the creation, distribution, and storage of election ballots.
• Components:
18
o Ballot Creation: Election administrators create the ballot with various options (e.g.,
candidates, referendum questions).
o Ballot Encryption: The ballots are encrypted to ensure privacy, and the integrity of voter
selections is protected.
o Ballot Distribution: Ballots are made available to eligible voters through the online
system.
o Digital Signatures: Administer digital signatures to each ballot to prevent any tampering
and ensure authenticity.

4. Voting Process Management Module:


• Purpose: Ensures that the voting process is smooth, secure, and free of errors.
• Components:
o Vote Casting: Voters cast their votes in a secure, anonymous environment.
o Anonymity Preservation: Ensures that votes are cast anonymously to protect voter
privacy and prevent coercion.
o Audit Logs: Maintains a detailed record of all actions taken within the system, such as
login attempts, vote casting, and any administrative activities.
o Real-time Status Monitoring: Provides administrators with real-time monitoring
capabilities to track voter participation and voting process health.

5. Vote Verification and Integrity Module:

• Purpose: Ensures that votes are accurate, valid, and securely transmitted.
• Components:
o Vote Validation: Verifies that the vote is legitimate, not tampered with, and complies
with the election rules.
o Cryptographic Checks: Uses cryptographic methods (e.g., hash functions, digital
signatures) to verify the integrity of votes as they are cast.
o Tamper Detection: Implements techniques to detect any unauthorized attempts to
modify or interfere with the voting data.

19
6.3 SYSTEM ARCHITECTURE

System Architecture Diagram

A simplified system architecture diagram would look like this:

20
6.4 DATA FLOW DIAGRAM

Admin diagram 1:

Entry
Admin Admin
Login

Yes

Sales Profile
Customer Profile
Invoice Profile

Logout

Admin Profile

21
Admin diagram 2:

22
USER FLOWCHART:

Processes:

➢ User Profile
➢ Password
➢ Login / Success.

23
CHAPTER 7

SYSTEM TESTING

TESTING

System testing is a critical phase in the development of a secure online voting system. It ensures
that the system meets all the specified requirements and functions as expected under various
conditions. The goal is to identify any potential issues, vulnerabilities, or weaknesses before the
system is deployed for actual use. Below is an outline of the system testing process for a secure online
voting system.

7.1 Unit Testing

Unit testing is a vital part of the development process, as it focuses on verifying that individual
component (or “units”) of the system function correctly in isolation. In the context of a secure online
voting system, unit testing is crucial to ensure that each module (e.g., authentication, vote casting,
vote counting) performs as expected before integrating them into a full system.
Below is a breakdown of the key components and associated unit tests for a Secure Online Voting
System. The authentication module ensures that only authorized users (registered voters) can access
the system and vote. Unit tests should focus on the different scenarios that may arise during user
authentication.

7.2 Integration Testing

Integration testing focuses on evaluating how different modules or components of the system work
together once they have been unit-tested individually. The goal is to ensure that the system's
components interact correctly and that the system performs as expected when these components are
combined. In the case of a Secure Online Voting System, integration testing will focus on verifying
that key modules (e.g., user authentication, vote casting, vote tallying, result generation, and security)
interact correctly to provide a seamless and secure experience.

24
7.3 Functional Testing

Functional testing is essential to verify that each feature of the system operates according to its
specifications and meets the intended requirements. In the context of a Secure Online Voting
System, functional testing ensures that all core functionalities, such as user authentication, vote
casting, vote tallying, and result generation, work as expected and fulfil the business and security
requirements.

1. User Registration and Authentication:


Objective: Ensure that only registered voters can log in, and that the authentication mechanism
works as intended.
• Test Case 1: Successful User Registration
o Steps:
1. A new user (voter) accesses the registration page.
2. The user enters their personal details (name, email, date of birth, etc.), and
submits the form.
3. A verification email or SMS (based on system design) is sent to the user.
4. The user verifies the registration via a link or code.
o Expected Outcome: The user is successfully registered, and their details are stored in
the system. A confirmation message is shown.
• Test Case 2: Successful Login with Valid Credentials
o Steps:
1. A registered voter enters the correct username/email and password.
2. Optionally, a two-factor authentication (2FA) code is sent, which the user
enters.
o Expected Outcome: The user is successfully logged into the system and directed to the
voting interface.
• Test Case 3: Login with Invalid Credentials
o Steps:
1. A user enters an incorrect username/email or password.
o Expected Outcome: The system rejects the login attempt and prompts the user with a
message indicating invalid credentials.
25
• Test Case 4: Two-Factor Authentication (2FA) Verification
o Steps:
1. The system prompts for an OTP after the user enters their login credentials.
2. The user enters the correct OTP received via SMS or email.
o Expected Outcome: The user is successfully authenticated, and access is granted.
• Test Case 5: Account Lockout After Multiple Failed Login Attempts
o Steps:
1. Attempt to log in with incorrect credentials multiple times (e.g., 3-5 attempts).
o Expected Outcome: The account is temporarily locked, and the user is informed with a
message (e.g., "Account locked for 15 minutes due to multiple failed login attempts").

7.4 White Box Testing

White box testing (also known as structural or clear-box testing) involves testing the internal
structures or workings of an application, as opposed to its functionality. It requires knowledge of the
system's code, architecture, and logic. In the context of a Secure Online Voting System, white box
testing will ensure that the system’s internal components

1. Authentication and Authorization Logic Testing:


Objective: To verify that the authentication and authorization processes are correctly implemented and
secure.
• Test Case 1: Login Logic and Flow
o Steps:
1. Inspect the login method for handling username/password inputs.
2. Review the code for password hashing and salting techniques used for storing
passwords.
3. Check for any potential weaknesses like hard-coded credentials or improperly
handled sessions.
o Expected Outcome:
1. The system should use strong hashing algorithms (e.g., bcrypt) for storing
passwords.
2. Login attempts should be rate-limited to prevent brute-force attacks.
26
• Test Case 2: Role-based Access Control (RBAC)
o Steps:
1. Check the logic for role-based access control (RBAC) to ensure that only
authorized users (e.g., administrators) can access sensitive functionalities like
vote tallying and result viewing.
2. Verify that normal users cannot access features like result viewing or vote
counting.
o Expected Outcome:
1. The system should enforce strict access control based on user roles.
2. There should be no privilege escalation vulnerabilities that allow unauthorized
access to restricted features.

7.5 Black Box Testing

Black Box Testing focuses on testing the system from the user's perspective without having
access to the underlying code or implementation details. The tester evaluates the system's
functionality, ensuring that it behaves as expected based on the requirements and specifications. In
the case of a Secure Online Voting System, black box testing primarily involves validating the
functional correctness, usability, security, and integration of the system.
1. Functional Testing
Objective: To ensure that the system functions as expected according to the requirements, and that
all user-facing features are working correctly.
Test Case 1: User Registration
• Description: Validate that a new user can successfully register for the voting system.
• Steps:
1. Navigate to the registration page.
2. Enter valid user details (e.g., name, email, date of birth, etc.).
3. Submit the registration form.
• Expected Outcome: The user receives a confirmation email or SMS with a verification link.
After verification, the user is successfully registered and can log in.
Test Case 2: Login with Valid Credentials
• Description: Ensure that a registered user can successfully log in to the voting system.
27
• Steps:
1. Navigate to the login page.
2. Enter valid username/email and password.
3. Click the "Login" button.
• Expected Outcome: The user is directed to the voting page or dashboard after successful
authentication.
Test Case 3: Login with Invalid Credentials
• Description: Ensure that the system correctly rejects invalid login attempts.
• Steps:
1. Navigate to the login page.
2. Enter an incorrect username/email or password.
3. Click the "Login" button.
• Expected Outcome: The system shows an error message such as "Invalid credentials. Please
try again."
Test Case 4: Successful Vote Casting
• Description: Verify that a registered and logged-in voter can cast a vote.
• Steps:
1. Login to the system.
2. Navigate to the election page and select a candidate or party.
3. Submit the vote.
• Expected Outcome: The system confirms the vote has been successfully cast, and the voter
cannot cast multiple votes.
Test Case 5: Prevent Multiple Votes by the Same User
• Description: Verify that the system prevents a user from voting more than once.
• Steps:
1. After casting a vote, attempt to vote again.
• Expected Outcome: The system prevents the second vote, showing a message like "You have
already voted."
Test Case 6: Vote Privacy
• Description: Ensure that the vote remains anonymous and cannot be traced back to the voter.
• Steps:
1. After casting a vote, check if the vote is linked to any identifiable personal information.
28
CHAPTER 8

SYSTEM IMPLEMENTATION

8.1 IMPLEMENTATION

The System Implementation phase refers to the process of deploying and integrating all
components of the system to work together effectively in a live or production environment. This
involves setting up the infrastructure, installing necessary software, configuring the system, and
performing the final checks to ensure the system operates as expected. For a Secure Online Voting
System, the goal is to ensure that all components work smoothly, securely, and efficiently for
election management.

1. Overview of the System Components:


The system consists of several key components, which must be implemented and integrated for
effective operation:
• User Interface (UI): A user-friendly web interface for both voters and administrators, where
voters can register, log in, cast votes, and view results.
• Backend Server: A secure and reliable server infrastructure that handles user authentication,
vote casting, database management, and result tallying.
• Database: A secure database that stores user data, vote records, and election results. It must
ensure data integrity and be optimized for secure, fast operations.
• Security Mechanisms: Security features such as HTTPS encryption, authentication protocols
(OAuth, 2FA), and secure voting protocols (e.g., homomorphic encryption) to protect the
privacy and integrity of votes.

2. Steps for System Implementation:


Step 1: Setting up the Development Environment
1. Server Configuration:
o Set up a production-grade server environment, such as a cloud platform (AWS, Azure)
or on-premise servers, to host the application.
29
o Choose appropriate software stacks (e.g., LAMP/WAMP stack, MEAN stack, or
custom backend technologies like Java Spring Boot, Python Flask, or Node.js) for
developing and deploying the system.
2. Database Setup:
o Choose a relational or NoSQL database (e.g., MySQL, PostgreSQL, MongoDB) based
on system requirements. For election systems, relational databases like PostgreSQL or
MySQL are typically preferred due to their ability to handle structured data and provide
robust transaction support.
o Design the database schema to handle tables for users, votes, election data, and audit
logs.
3. Version Control Setup:
o Implement a version control system (e.g., GitHub or GitLab) for the codebase to track
changes, collaborate, and manage deployments.
Step 2: Developing the Voting Platform
1. Frontend Development:
o Develop the User Interface (UI) using HTML, CSS, and JavaScript frameworks such as
React, Angular, or Vue.js for dynamic page updates.
o Design a responsive interface that works across all devices (desktop, mobile, tablets).
o Implement forms for user registration, login, vote casting, and result viewing.
o Include visual indicators (e.g., progress bars) for real-time voting updates, and
incorporate accessibility features (e.g., screen reader compatibility, keyboard
navigation).
2. Backend Development:
o Develop the backend logic to handle user authentication, session management, vote
casting, and tallying.
o Implement business logic for vote casting to ensure that users can only vote once and
that each vote is stored securely.
o Develop the admin panel for authorized users to manage elections, monitor vote counts,
and generate results.

30
o Set up the audit trail system to log all activities (e.g., login attempts, vote submissions)
3. Voting and Tallying Logic:
o Implement logic for the vote tallying system, where votes are counted securely and in
real-time.
o Consider implementing features like real-time election result updates or a dashboard to
display the current vote count.
4. Security Features:
o Implement SSL/TLS encryption for secure transmission of sensitive data over the
network.
o Use multi-factor authentication (MFA) for secure user logins, especially for
administrators.
o Implement input validation and sanitization to prevent common security vulnerabilities
like SQL injection, cross-site scripting (XSS), or cross-site request forgery (CSRF).
o Use data encryption for storing sensitive data such as voter identities and vote records
(e.g., AES-256 encryption).
Step 3: Integrating Security Features
1. Encryption:
o Ensure end-to-end encryption for vote data, both in transit (using HTTPS) and at rest
(using encrypted databases).
o Implement homomorphic encryption or other cryptographic techniques if required to
preserve vote privacy and prevent vote tampering.
2. Authentication and Authorization:
o Implement OAuth 2.0 or JWT (JSON Web Tokens) for user authentication and session
management.
o Use role-based access control (RBAC) to assign different permissions to users (e.g.,
admin, voter, election officer) to ensure that only authorized personnel can access
sensitive features.
3. Data Integrity:
o Implement blockchain or digital signatures for vote verification and integrity, ensuring

31
Step 4: Testing the System Components
1. Unit Testing:
o Perform unit tests for individual modules such as registration, login, vote casting, vote
tallying, and result generation.
o Use automated testing frameworks like JUnit (for Java) or Mocha (for Node.js) to
ensure the correctness of each module.
2. Integration Testing:
o Perform integration testing to ensure that different components of the system (frontend,
backend, database, security mechanisms) work together seamlessly.
3. System Testing:
o Conduct system-wide testing, including functional and non-functional tests, to evaluate
the system’s overall behavior, performance, and security.
o Perform load testing to verify that the system can handle a high number of concurrent
users during elections.
4. User Acceptance Testing (UAT):
o Conduct testing with real users to ensure that the system is intuitive and meets the
expectations of the stakeholders (e.g., voters, election officials).
o Gather feedback from test users to make improvements or fixes before the final release.
Step 5: Deploying the System
1. Deployment Preparation:
o Prepare deployment scripts and tools to deploy the system to production. Common tools
include Docker for containerization, CI/CD pipelines (Jenkins, GitLab CI) for
automated deployments, and Kubernetes for orchestration and scaling.
2. Production Environment Setup:
o Deploy the system on a cloud platform (AWS, Google Cloud, Azure) or dedicated
servers, ensuring high availability and scalability.
o Set up backup systems to ensure data is regularly backed up in case of failure.
o Implement load balancing to distribute traffic efficiently across multiple servers to
32
ensure the system can handle high traffic during elections.
3. Post-Deployment Monitoring:
o Use monitoring tools (e.g., Prometheus, Grafana, New Relic) to monitor system
performance, uptime, and security in real-time.
o Set up alerts for unusual activities such as unexpected login attempts, server downtime,
or vote count discrepancies.

3. Final Considerations for Implementation:


1. Scalability:
o Design the system to scale horizontally to handle increasing numbers of users during
elections. Use techniques such as load balancing, sharding (for the database), and cloud
auto-scaling to ensure the system can accommodate a large number of concurrent
voters.
2. Redundancy and Disaster Recovery:
o Ensure redundancy in both hardware and software layers to prevent system failure. For
example, deploy multiple application servers, and use cloud storage for backup and
recovery.
o Implement disaster recovery plans and data recovery procedures to protect against data
loss.
3. Compliance and Legal Requirements:
o Ensure that the system complies with legal requirements (e.g., voter privacy laws,
election regulations).
o Ensure that the system is auditable and transparent to increase trust in the voting
process.
4. User Training and Documentation:
o Provide detailed user documentation and training for both voters and administrators.
This documentation should cover how to use the system, troubleshooting common
issues, and understanding security features.

33
CHAPTER 9

CONCLUSION & FUTURE ENHANCEMENT

9.1 CONCLUSION

The Design and Development of a Secure Online Voting System for Reliable Election
Management aims to provide an innovative and efficient solution to the traditional voting process by
leveraging modern technologies such as encryption, biometrics, blockchain, and AI. The system's
primary goal is to address the common challenges faced in elections, such as security vulnerabilities,
voter fraud, accessibility issues, and the logistical complexities of managing large-scale elections.

In conclusion, this secure online voting system enhances the election process by:

• Ensuring Voter Authentication: By incorporating biometric authentication and multi-factor


authentication (MFA), the system guarantees that only eligible voters can cast their vote,
minimizing impersonation and fraud.
• Data Integrity and Transparency: Using blockchain technology ensures that each vote is
recorded in a tamper-proof manner, providing transparency and making it impossible to alter
results post-election.
• Secure Voting: The use of end-to-end encryption ensures that votes are transmitted securely,
preventing unauthorized access or tampering during transmission.
• Scalability and Accessibility: The system is designed to handle large-scale elections,
providing accessibility through mobile apps and ensuring inclusivity for voters with disabilities
through features like text-to-speech and adjustable text sizes.
• Fraud Detection and Prevention: The integration of AI helps monitor the system for unusual
patterns, enabling real-time detection of potential fraudulent activities and providing immediate
intervention.
Overall, the secure online voting system promotes transparency, reliability, and efficiency in
managing elections, providing a modern alternative to traditional voting systems. With continued
research and development, it has the potential to transform the way elections are conducted globally.

34
9.2 FUTURE ENHANCEMENT

Future enhancements for the "Design and Development of a Secure Online Voting System for
Reliable Election Management" could focus on improving security, accessibility, scalability, and
user experience. Here are some potential areas for enhancement

1 . Blockchain Integration for Enhanced Security and Transparency:

• Enhancement: Implement blockchain technology to provide immutable records of votes. Each


vote can be represented as a transaction in a block, which is then verified and added to a chain.
This ensures the integrity of the voting process, making it almost impossible to tamper with
vote data.
• Benefit: Increased transparency, fraud prevention, and public trust in election results.

2. Biometric Authentication for Voter Identity Verification:

• Enhancement: Incorporate biometric features such as facial recognition or fingerprint


scanning into the authentication process for voters.
• Benefit: Stronger identity verification prevents impersonation and ensures that only eligible
voters can cast their vote.

3. End-to-End Encryption and Multi-Factor Authentication (MFA):

• Enhancement: Strengthen the encryption techniques used in the transmission of votes.


Implement end-to-end encryption and multi-factor authentication to prevent unauthorized
access or manipulation of vote data.
• Benefit: Maximized security by ensuring that the votes cannot be intercepted or altered during
transmission.

35
4. Decentralized Server Network:

• Enhancement: Utilize a decentralized network of servers (or distributed ledger systems) for
vote storage and processing.
• Benefit: Reduces the risk of a single point of failure, improves system availability, and enhances
resilience against cyberattacks.

5. Artificial Intelligence for Real-Time Fraud Detection:

• Enhancement: Use AI algorithms to monitor the system for suspicious activities or anomalies,
such as attempts to cast multiple votes from the same device or location.
• Benefit: Provides real-time fraud detection and can trigger alerts or lockdowns to prevent vote
tampering.

6. Accessibility Improvements for Diverse Voter Demographics:

• Enhancement: Integrate features that cater to people with disabilities, such as text-to-speech
functionality, adjustable text sizes, and support for screen readers.
• Benefit: Ensures that the voting system is inclusive and accessible to all citizens, regardless of
their abilities.

7. Mobile App and Multi-Platform Support:

• Enhancement: Develop mobile apps and ensure compatibility across multiple platforms
(Android, iOS, web browsers) for voter convenience.
• Benefit: Increases accessibility by allowing voters to cast their votes from their mobile devices,
enhancing user engagement.

36
CHAPTER 10

APPENDICES

10.1 SOURCE CODE

<?php include "header.php";


session_start();
if (isset($_SESSION['SESS_NAME'])!="") {
header("Location: voter.php");
}
?>
<?php global $msg; echo $msg;?>

<p><center><legend><font color='#008000' size='18'>This system allows all registered users to


vote for their favorite POLITICAL PARTY.</p>
<p>In order to make a vote you have to register first and then login.</font></legend></center>
<p>&nbsp;&nbsp;</p>
<?php include "footer.php";?>

<?php include "header.php";


if(!isset($_SESSION)) {
session_start();
}
if (isset($_SESSION['SESS_NAME'])!="") {
header("Location: voter.php");
}
?>
<br>
<center>

37
<legend> <h3>Login for Voting </h3></legend>
<br>
</center>
<?php global $nam; echo $nam; ?>
<?php global $error; echo $error; ?>
<br>
<center><font size="4" >
<form action="login_action.php" method="post" id="myform" >
Username :
<input type="text" name="username" value="" >
<br>
<br>
Password :
<input type="password" name="password" value="" >
<br>
<br>
<input type="submit" name="login" value="login" >
</form></font>
</center>

<script type="text/javascript" >


var frmvalidator = new Validator("myform");
frmvalidator.addValidation("username" , "req" , "Please Enter Username");
frmvalidator.addValidation("username", "maxlen=50");
frmvalidator.addValidation("password", "req" , "Please Enter Password");
</script>

<?php include "footer.php"; ?>


<?php
session_start();
if (!isset($_SESSION['userSession'])) {
header("Location: login.php");
38
} else if (isset($_SESSION['userSession'])!="") {
header("Location: index.php");
}

if("username"){
session_destroy();
unset($_SESSION['SESS_NAME']);
include'login.php';
}
?>
<script src='https://www.google.com/recaptcha/api.js'></script>
<?php include "header.php";
if(!isset($_SESSION)) {
session_start();
}
if (isset($_SESSION['SESS_NAME'])!="") {
header("Location: voter.php");
}
?>
<br>
<br>
<center>
<legend> <h3> Register </h3></legend> </center>
<?php global $nam; echo $nam; ?>
<?php global $error; echo $error; ?>
<center><font size="4" >
<form action= "reg_action.php" method= "post" id="myform" >
Firstname:
<input type="text" name="firstname" value="" />
<br>
<br>
Lastname:
39
<input type="text" name="lastname" value="" />
<br>
<br>
Username:
<input type="text" name="username" value="" />
<br>
<br>
Password:
<input type="password" name="password" value="" />
<br>
<br>
<div sitekey="6LeD3hEUAAAAAKne6ua3iVmspK3AdilgB6dcjST0"></div>
<br>
<br>
<input type="submit" name="submit" value="Next" />
</form>
</font>
</center>
<script type= "text/javascript" >
var frmvalidator = new Validator("myform");
frmvalidator.addValidation("firstname","req","Please enter student firstname");
frmvalidator.addValidation("firstname","maxlen=50");
frmvalidator.addValidation("lastname","req","Please enter student lastname");
frmvalidator.addValidation("lastname","maxlen=50");
frmvalidator.addValidation("username","req","Please enter student username");
frmvalidator.addValidation("username","maxlen=50");
frmvalidator.addValidation("password","req","Please enter student password");
frmvalidator.addValidation("password","minlen=6","Password must not be less than 6 characters.");

</script>
<?php include "footer.php" ;?>
z<?php
40
include "connection.php";
session_start();
if(empty($_POST['lan'])){
$error="<center><h4><font color='#FF0000'>Please select a language to
vote!</h4></center></font>";
include"voter.php";
exit();
}
$lan = $_POST['lan'];
$sess = $_SESSION['SESS_NAME'] ;
$lan = addslashes($_POST['lan']);
$lan = mysqli_real_escape_string($con, $lan);
$sql = mysqli_query($con, 'SELECT * FROM voters WHERE
username="'.$_SESSION['SESS_NAME'].'" AND status="VOTED"');
if(mysqli_num_rows($sql) > 0 ) {
$msg="<center><h4><font color='#FF0000'>You have already been voted, No need to vote
again</h4></center></font>";
include 'voter.php';
exit();
}
else{
$sql1 =mysqli_query($con, 'UPDATE languages SET votecount = votecount + 1 WHERE fullname
= "'.$_POST['lan'].'"');
$sql2 =mysqli_query($con, 'UPDATE voters SET status="VOTED" WHERE
username="'.$_SESSION['SESS_NAME'].'"');
$sql3 = mysqli_query($con, 'UPDATE voters SET voted= "'.$_POST['lan'].'" WHERE
username="'.$_SESSION['SESS_NAME'].'"');
if(!$sql1 && !$sql2){
die("Error on mysql query".mysqli_error());
}
else{
$msg="<center><h4><font color='#FF0000'>Congratulation, you have made your
41
10.2 SAMPLE SCREENS

HOME PAGE MODULE:

ADMIN MODULE:

42
CLIENT MODULE:

SERVICE MODULE:

43
CHAPTER 11

REFERENCES

11.1 BOOK REFERENCES:

1. Gritzalis, D. (2007). Secure Electronic Voting. Springer.

2. Lal, R., & Rao, S. (2015). Cybersecurity and Privacy in the Digital Age: A Study of Voting
Systems. Elsevier.

3. Adida, B. (2006). Helios: Web-based Open-Audit Voting. Proceedings of the 17th


USENIX Security Symposium.

4. Ren, L., & Liu, X. (2019). Design of a Secure Online Voting System Based on
Blockchain. Journal of Information Security, 18(2), 134-145.

5. Cranor, L. F., & Garfinkel, S. (2005). Security and Privacy for E-Voting Systems. IEEE
Security & Privacy, 3(3), 15-21.

6. Wagner, D., & Schneier, B. (2008). Security in Electronic Voting Systems: Challenges
and Solutions. Journal of Computer Security, 16(3), 345-377.

7. Hassan, M. K., & Lee, S. (2017). Design and Security Analysis of an E-Voting System
Using Public Key Infrastructure. International Journal of Computer Science and
Information Security, 15(10), 50-61.

8. Zhou, J., & Tan, H. (2019). A New Approach to Secure Online Voting System Using
Biometric Authentication. 2019 IEEE International Conference on Blockchain and
Cryptocurrency (ICBC), 123-129.

44
9. Glover, S., & Adams, C. (2018). A Blockchain-Based Secure Online Voting System.
International Conference on Cybersecurity and Digital Forensics, 89-94.

10. Cramer, R., & Shoup, V. (2000). A Practical Public Key Cryptosystem Provably Secure
Against Adaptive Chosen Ciphertext Attack. Proceedings of the 20th Annual International
Cryptology Conference.

11. Lyon, J. (2019). Security Threats in Electronic Voting Systems and How to Mitigate
Them. International Journal of Information Security, 28(5), 507-522

12. Garfinkel, S., & Tellez, B. (2020). Remote Voting and the Election Integrity Dilemma.
Journal of Political Science, 62(4), 1123-1141.

13. Kostas, A., & Diamantopoulos, G. (2017). Blockchain-Based Secure Electronic Voting
System for Local Government Elections. Computers & Security, 68, 176-187.

14. Acquisti, A., & Grossklags, J. (2005). Privacy and Rationality in Individual Decision Making.
IEEE Security & Privacy, 3(3), 26-32.

11.2 WEB REFERENCES:

15. (https://heliosvoting.org)

16. (https://www.verifiablevoting.org)

45
46

You might also like