Online Voting System

Online voting system

Online Voting System

Online voting system management report in python.In the new era of advanced technology where online system boosts work speed, reduces mistakes and promotes the generation of accurate results, having manual election system becomes a misfortune. A public election system constitutes the backbone of a democracy where the people have to elect their state’s leader. India currently uses a manual election system, which causes several kinds of problems. Due to this paper ballot based election system, some problems are faced by voters before or during elections and others are faced by the administration before and after the voting. Click here to get complete Python projects lists.

An online system, which involves procedures like registration of voters, vote casting, vote counting, and declaring results would constitute a good solution to replace current system and the proposed system in this thesis will be helpful for the voters by using any resources like their own system or arranged by Government. Moreover, the proposed system will also decrease the risk for corruption. The system is proposed after interviewing officials of two departments, the Nation Database and Registration Authority India (NADRA) and the Election Commission of India (ECP). NADRA has an online database of the citizens of India, and is providing the Computerized National Identity Cards (CNIC) and also supporting different organizations with their online system. So, by using NADRA’s system it becomes easy to register all voters of the age 18 or above, and furthermore to verify and secure their data. Keywords: an efficient online voting system, a securable online voting system, a most preference of online voting system.

The project Online Voting system is designed to count the number of votes and thereby calculate the percentage of votes. Also the number of vote a candidate obtains is also obtained. Along with the number the percentage of votes for each candidate is calculated. The system is so designed that it can also check for duplication. It then decides the winner in every section. The project is designed with a modular approach and the number of modules is decided as per the requirements of the organization. The two modules are administrator module and the user module. The administrator has total authority of the organization and maintains all the aspects. The user has the provision to view the list of all candidates and results as well as vote for the desired candidates. Python student project report on Online voting system.

Existing System

Existing System consist of methods like paper based voting,Lever voting machine,Punch card and Optical voting machine. The main problem with existing system was time consuming which used to take lot of time for voting.Paper based voting method were used in existing system which also gave the results of fake voting.

Proposed System

This system has overcome the problems of existing system. Saved Ballot Templates-Eliminate the need to configure elections from scratch. Just do it once, then save that ballot configuration, and in subsequent years, specify only the names of the candidates. Reduced costs – are enjoyed when the expenses of printing, mailing and tabulating paper ballots are lessened or even eliminated entirely from the election process. Email Validation-brings added value to your online election by inspecting your voters’ email addresses and notifying you of any that are not properly formatted. On-demand Paper Ballots-simplify hybrid elections by allowing an election administrator to generate a voters pecific paper ballot that honors all the election settings just as web ballots do. Ability to correct mistakes- allows voters to go back and correct any mistakes before final submission of their ballot. Once a ballot has been submitted however, it is final and cannot be altered. Python student project report on Online voting system.

Fingerprint scanning-essentially provides an identification of a person based on the acquisition and recognition of those unique patterns and ridges in a fingerprint. The actual fingerprint identification process will change slightly between products and systems. The basis of identification, however, is nearly the same. Standard systems are comprised of a sensor for scanning a fingerprint and a processor which stores the fingerprint database and software which compares and matches the fingerprint to the predefined database. Within the database, a fingerprint is usually matched to a reference number, or PIN number which is then matched to a person’s name or account. In instances of security the match is generally used to allow or disallow access.

Electronic Voting Systems

As technology evolves, it is obvious to consider about using computers for elections. In this thesis we will focus on distributed voting systems, which we define as systems using the Internet to realize political elections. To access these voting systems, each eligible voter can use her own device, for example personal computer, smartphone or tablet. These systems will also secure and anonymize the ballots to ensure the election, which fulfills the democratic rights of each citizen. We take a further look at these requirements and constructions in the next chapters. Electronic voting systems attempt to be as easy to use and secure as ideal traditional elections and attempt to eliminate the human errors described. This is hard to achieve, because electronic voting systems need a strong encryption to guarantee security, integrity and anonymity of the vote.

This must be ensured and still result in a user-friendly application, which is often hard to achieve. But to assume that traditional elections are completely secure and correct is also questionable. So, this is a good opportunity to think about reinventing elections with the help of computers and cryptography. One of the main advantages of electronic voting systems is the chance to call a completely verifiable election, which means that all voters are able to verify if their vote was properly counted and even that the complete election was properly tallied. Some countries use dedicated voting machines, which are used to place votes in polling stations. These voting machines are exclusively used for the voting process and can either tally the votes electronically or create strips of papers with the voter’s choice, which must later be tallied. Usually, it is not possible to verify tallying steps of these black boxes, because the companies do not provide details about the implementation of their machines; only the main developers have access to the source code and know in detail, how these machines operate.

Electronic Voting Systems in the Real World

Some governments already implemented electronic voting systems and use them for parliamentary elections. For example Estonia has several years of experience in this field and successfully uses electronic voting for all of their elections. Other projects encountered, but they all had big security issues and were often cancelled. That the Estonian electronic voting system is still being used in practice does not mean that this voting system is secure. We feel confident that many countries will use electronic voting systems in the future to realize their elections, because this technology could heavily improve the voting process. Therefore, it is essential to analyze existing systems, learn from their experiences and try to solve the issues which emerged during their trials, which is the core of this thesis. We also describe basic approaches to realize a voting system with clients and servers and give a brief view into a peer-to-peer approach using the blockchain.


Electronic voting systems claim to be at least as secure as ideal traditional voting systems like paper ballots. In fact, paper ballots (or even special voting machines) have many potential security issues. With the correct use of cryptography these issues can be limited, which is a great advantage of e-voting systems. Some requirements have to be fulfilled to make a voting system applicable for the real-world.. Availability An e-voting system must remain available during the whole election and must serve voters connecting from their devices. Especially, the e-voting system must be prepared for high workload, because there will be periods where many voters will place their vote simultaneously. Eligibility Only eligible voters are allowed to cast a ballot, whilst only one vote per voter counts. If it is allowed to vote multiple times (also called re-vote), the most recent ballot will be tallied and all others must be discarded. Integrity The integrity of the vote must be guaranteed.

Voting systems must ensure that the ballots are not altered during any step of the election. Otherwise we can not trust this system. Preliminaries Anonymity and Election Secrecy The connection between the vote of a user and the user herself must not be reconstructable without her help. Fairness Voting systems must ensure that no (partial) results are published before the tallying has ended. Otherwise voters can be influenced by these results and vote differently. Correctness The election results must be properly counted and correctly published. Robustness The system should be able to tolerate (some) faulty votes. Attackers might try to cast malicious ballots, but these ballots must be detected.

A voting system has to recognize these ballots to prevent vote-manipulation or attacks on the servers. Universal Verifiability After the tallying process, the results are published and must be verifiable by everybody. The electronic voting system must provide mechanisms to verify the election’s outcome. This depends on the building blocks the system is built upon and must not break other preliminaries. Voter Verifiability The voter herself must be able to verify that her ballot arrived in the ballot box. This ensures that the voter is sure her vote was counted and was not modified. Coercion Freeness Voting systems must provide security mechanisms to prevent a coercer from being able to force the voter to place a vote for a specific party, candidate etc. or even to see that she voted [Oka98]. This is also called receipt-freeness. A voting system must be built coercion-resistant to guarantee that a voter can place her vote as intended even in the presence of a coercer.


The application I-voting Client is developed for most popular operating systems including Windows, Linux and Mac OS X. These applications guide the voter through the voting process. The published version of this system already includes the election’s public key for encryption and the complete communication with the election’s data center is served via a HTTPS connection. Detailed instructions, guidelines, videos1 and statistics for the voters can be found on a special website2 . The core server code of the Estonian e-voting system is made open source, whilst the I-voting clients, the script to post a vote and the drivers for the hardware security module (HSM) are kept closed. The HSM is used to decrypt and count the votes and to output the official results [HHK+14].

Therefore, most parts of the application can be crowdreviewed for security issues, but without reviewing all parts of the source code, complete trustworthiness cannot be achieved. A snapshot of the core server code is published on GitHub right before the election starts [NEC15]. The maintainers do not want to publish the I-voting clients, because they are afraid that this would make it too easy for an attacker to build a fake voting application, which completely looks like the original one [HHK+14]. It is currently unknown why the maintainers do not publish the drivers for the HSM and the script to post an e-vote.

Voting Process

The voter has to download the application via the Internet from one of the authorized websites. As a first step, she needs to authenticate with her electronic ID or her mobile ID (via smartphone). If she is eligible, she gets a list with the candidates and can pick one. This vote is being encrypted with the election’s public key, signed with the voter’s private key and sent to the Vote Forwarding Server, which forwards the correctly encrypted ballot to the Vote Storage Server and leaves a log entry on a special Log Server. These three servers are deployed in a data center controlled by the election authorities.

For verification of the vote, the Voting Client generates an unguessable token packed into a QR Code, which can be scanned with the Voting App installed on the voter’s smartphone. Scanning this code with the voter’s smartphone shows for which candidate she voted for. This is only possible for three times and within 30 minutes after sending the ballot to the data center and only as long as the eID card is still plugged into the card reader. The voter is allowed to vote multiple times via the I-voting client. This prevents coercion and vote buying as the coerced vote is invalid after a new ballot has been cast; only the last vote is being tallied. It is also possible to visit a classic ballot box and vote via paper, which makes all electronic ballots of this voter invalid and uses the paper ballot instead, because the paper ballot has a higher priority. Python student project report on Online voting system


Online voting system management report in python.Electronic voting systems should only be used when there are no concerns about their security. These issues might be solved in the next years and there are many promising publications in this field, but they are temporarily not adaptable due to their usability. Python student project report on Online voting system.

System Configuration:

H/W System Configuration:- 

System          : Pentium I3 Processor.
Hard Disk       : 500 GB.
Monitor          : Standard LED Monitor
Input Devices : Keyboard
Ram               : 4 GB

S/W System Configuration:-

Operating system              : Windows 7/8/10.
Available Coding Language : Python
Database                          : MYSQL

Project Name Online Voting System
Project Category Python
Project Cost 65$/ Rs 4999
Delivery Time 48 Hour
For Support WhatsApp:  +91 9481545735 or Email:

Please use the link below for international payments.