Project Topics

Engineering Projects

Advanced E-Voting Application Using Android Platform

Published on Jan 30, 2019


The advancement in the mobile devices, wireless and web technologies given rise to the new application that will make the voting process very easy and efficient. The E-voting promises the possibility of convenient, easy and safe way to capture and count the votes in an election[1]. This research project provides the specification and requirements for E-Voting using an Android platform. The e-voting means the voting process in election by using electronic device. The android platform is used to develop an evoting application. At first, an introduction about the system is presented. Sections II and III describe all the concepts (survey, design and implementation) that would be used in this work. Finally, the proposed evoting system will be presented. This technology helps the user to cast the vote without visiting the polling booth. The application follows proper authentication measures in order to avoid fraud voters using the system. Once the voting session is completed the results can be available within a fraction of seconds. All the candidates vote count is encrypted and stored in the database in order to avoid any attacks and disclosure of results by third person other than the administrator. Once the session is completed the admin can decrypt the vote count and publish results and can complete the voting process.

Keywords: — Electronic voting, e-mail Network


The proper execution of democratic rights has become linked to the availability and reliable functioning of advanced information and communication technology (ICT). While modern societies fully rely on ICT for business, work and leisure time activities, the use of ICT for democratic decision making is still in its infancy. In fact, the out date technological concepts for voting have been blamed in part for lost and uncounted votes and could therefore be responsible for biased political decisions making [2]. Countries all over the world are examining e-voting [3], for it has some striking advantages over traditional paper voting, including security for casting votes, accuracy of counting and analyzing votes, options to conduct voting in a centralized and decentralized manner, etc. The reasons why the e-voting technology has not matured to equivalent levels as known for business and leisure time activities lies mostly in an inherent lack of trust and fear of electronic threats. While most countries are still conceptualizing or testing evoting systems, three cantons in Switzerland have pioneered the development of e-voting to its full technological maturity. The world is always in improvement and growth in technology, that's why we should go parallel with it, to be able as much as we can get benefit from these improvements.

Proposed System

The application can be installed in the android phones and voting will be enabled by the administrator on the polling day. If there are different stages of polling then application will enable the user only on the polling day. The user can enter into the application by giving his voter id/Aadhar number (unique number) and a secret password which is provided to the user. As soon as the user enters into the application he selects his constituency and his booth number or place then the user can cast his vote and logout from the application. The vote should be kept secret and it should be available on the voting day in the counting center. To keep the vote secret an encryption and a decryption algorithm is used. So as soon as the user casts his vote the vote is encrypted so that it is secret and the same is encrypted on the polling day.

Requirements of the E-Voting System

The proposed project contain following modules: 

  • Administrator 
  • User 
  • Account


• User Information: Consists of all information of the user those who are eligible for voting.

• User Verification: Verify the user during registration and user Login.

• Voting Information: Storage for storing the vote information casted by the user.


• Registration: Registers with administrator to obtain a password for voting.

• Login: Initiates voting using the password provided by the administrator.

• Encryption: Encrypting the vote after the vote casted by the user


• Registration: The user should register before using the application.

• Login: Logging into the application using user name and password.

E-Voting System Design

Like most of the systems in the world, the security consideration is very important. We are taken into account this part through sending password to users email account. Further encrypting the vote while sending it to the admin. It is clear that the user information should be stored in the database, so that the valid users can register themselves to get the password. It also stores the password once it is sent to the user until the user cast s the vote. It is also possible to get information of user who doesn't participated in voting process. The application should be secure because it should not reveal vote information. So the vote should be encrypted once user confirms the vote. Also the password is sent to users e-mail account in order to avoid the misuse of password . Since the e-mail account is confidential we used that feature to avoid the misuse of our applications password.

Sequence diagram

The registration process is illustrated as in the figure1 shown above. When user chooses registration option and provides required details those details are compared with the information maintained by the admin. If user provided data is found to be correct a password is generated and given to the user through mail service in order to make it safe and secure.

The Voting Process

The Voting Process


Android e-Voting application on smart phone user gives user to vote]. Admin can see the voting results according to vote options[3].System can maintain the data about the voter like Name, ID number and other relevant data. Even though the system enables voters to poll their vote from anywhere, initially the voters should register themselves to get a password for voting purpose. This constraint is imposed to ensure that only the genuine person is allowed to vote in the elections. The aim of this work is to design and implement an electronic voting application for the Android platform that will enable people to vote securely from anywhere. The application as a whole is aimed at being compatible with devices from many manufacturers and running different versions of the operating system.

Overall voting process

The application is also aimed at being localized [4]. Figure Below shows the overall voting process. Electronic voting refers to the use of computers or computerized voting equipment to cast ballots in an election. Electronic systems can be used to register voters, tally ballots, and record votes [5].The Caltech/MIT Voting Technology Project [6] came into being in order to develop a new voting technology in order to prevent a recurrence of the problems that threatened the 2000 U. S. Presidential Elections. The report assesses the magnitude of the problems, their root causes and how technology can reduce them. They address a wide range of “What is” issues including voting procedures, voting equipment, voter registration, polling places, absentee and early voting, ballot security, cost and public finance of elections, etc

Flowchart of Overall Voting Process


E-Voting System Security Levels

For the security, we use e-mail service to provide the secured password to the user. When the password is generated it will be sent to the users e-mail id which is linked to the aadhar-id stored in the database. The e-mail account is self managed and none of the other user can access the email and get the password to login. The most security part lies on securing the vote casted by the user. So the vote is encrypted using Java Cryptology Extension algorithm and sent to admin [7]. However only the admin has the permission to access the database.

Even while storing the vote count it is stored in the encrypted form hence it becomes a secured data. At any moment the admin only have the permission for accessing and updating data in the server. To avoid fraud voters the aadhar-id which unique number uniquely identifies the user. The possibility is that any user may try to revote again once after voting. Some flag indicating that the user status (voted or not) is maintained at the server. Whenever user casts the vote the flag field is updated and can be referred for future analysis. This flag field also helpful to collect information about percentage of voting and will act as a reference data.


This research paper proposed a real time e-voting system based on android phones. The usability of this system is very high if it will be used in real life election process. It will definitely helpful for the users who wish to vote and the voting process will be made very easy by using this application. Advantages of the proposed e-voting system: e-voting minimizes the risk of ambiguities as the voter makes his choice by touching the screen. E-voting could also minimize the need for recounts as everything is tabulated by the computer. Also the user can cast vote without visiting the polling booth. It saves a lot of time and many resources. Usually the people wait eagerly for vote counting day to know the results. By using this system no need to wait to know the results. The admin can announce the results soon after the voting session closes. The results show that system is very efficient and easy to use.


[1] Dr.Aree Ali Mohammed and Ramyar Adbolrahman Timour,Efficient E-voting Android Based System, IJARCSSE,vol.3,Issue 11,2013

[2] A.S. Belenky and R.C. Larson, “To Queue or not to Queue?,” OR/MS 27, October 2013, pp. 30-34.

[3] “An Electronic Polling Service to Support Public Awareness Using Web Technologies”, Christos Bouras, Nikolaos Katris, Vassilis Triantafillou.

[4] “E-voting on Android System” paper (International Journal of Emerging Technology and Advanced Engineering) prepared by : Kirti Autade, Pallavi Ghadge, Sarika Kale ,Co-authors- Prof. N. J. Kulkarni, Prof. S. S. Mujgond, February 2012.

Project Done By Ganaraj K, PG Scholar, Computer Science Department, Bearys Institute of technology and Engineering

Related Projects