evoting Android App Using OTP and Photo Matching  Voting system

The major problem that present in conventional voting system is that voters have to wait in queue for a long time to cast their vote. This is very hectic and time consuming and hence people avoid voting. The system proposed here is to voter can cast vote remotely from anywhere in the country with the help of an android application. To overcome the drawbacks of conventional voting system, we are proposing this project of internet voting with the use of facial recognition and one time password. This makes the current voting system more secure.


A.AOVSAD Architecture and Working The each block in the diagram corresponds to a particular function. Following fig.1 gives the architecture of the system,·The AOVSAD system consists of android application for voting. This application contains block of voter ID for log-in of voter. Also android application contains feature of camera for taking the face image of the user for face detection and recognition. Fig.1. Block diagram of AOVSAD ·All data of the voters is stored in the database, images of the faces of voters are also stored in database .This photos are stored with various angles so that face verification can be done in effective way. · Voter Id of different users is stored in the database. ·Local server use for AOVSAD system is XAMPP server. XAMPP Server is the part of AOVSAD system where process of face verification takes place. Here photo of voter which is stored in the database while registration of voter will be compared with real time photo of voter which server got via mobile application. ·After successful face verification One Time Password (OTP) will be sent to voter on register mobile or email ID according to choice of voter. OTP is the One Time Password .OTP is used to verify the true voter for avoiding the fake votes. · If voter enters the correct OTP, then voter will be asked to cast a vote. ·Voter will be then shown a list of the candidates that are there for election and voter will be asked to cast a vote for one of this candidate. · After vote has been cast by the voter, this vote will be stored in the database and result of the election will be declared and it will be available to voter after entering his correct voter ID.

B.Android Application Android phones are highly customized and change appearance of device with various launchers and themes. Various applications are available to check your Facebook account, manage your bank accounts and for playing games. With android device you can make list of events in your device calendar and see them on your computer or website. One of the best parts of being owner on an android device is there is store to buy applications named as Google play store. Various applications for various purposes are available. Users can find apps to help them to stay organized, watch movies, read books and for many other activities. Android apps can be developed by using open source software’s available on internet. Android development software’s are provided by the Android Inc. The software’s commonly used to develop android apps are Eclipse and Android studio. Android studio is the latest software used for developing apps. Android Studio is officialintegrated development environment (IDE) and it is used for Androidplatform development. Android Studio was in early access stage starting from version 0.1 and the latest version of android studio is

2.2.1. Android studio hadreplaced Eclipse Android Development Tools (ADT) as Google’s primary IDE for Android application development and it can be downloaded on Windows, Mac OS X and Linux.The android apps are developed depending on the version of android software being used by the user mobile. Some of the examples are Kit-Kat, Lollipop, and JellyBean etc. The various android versions are differentiated on the basis of their application programming interface level (API).A set of routines, protocols, and tools for building softwareapplications is defined by Application Program Interface(API). How software components should interact is specified by API and APIs are used with programming graphical user interface (GUI) components. API providing all the building blocks make easier to development of application is stated as good API. C.Database and Server The data of voter has to be stored so that it can be retrieved whenever needed. Also it has to be present on the server side so that the server can upload or fetch the voter’s data from there. Hence we have to create database which contains the details of all voters. This can be implemented using XAMPP server. XAMPP is an open source cross-platform web server. To improve flexibility of server XAMPP server has been developed. XAMPP is an acronym for Cross-Platform (X, any operating system), Apache (A, web server), MySQL Database (M), PHP Language (P) and PERL (P). The goal of XAMPP is to build an easy to install distribution for developers to get into the world of Apache. For convenience of developer, XAMPP is configured with all features turned on .It is extremely easy for developer to create a local web server for testing purpose. It is simple and lightweight. It works equally well on Linux, Mac and Windows. Since many components of XAMPP server are present in actual web servers, it makes transition from a local server to a live server very easy. XAMPP is clean of viruses and malware. It is available in three file formats namely .exe, .7z, .zip.D.Face Recognition There are two stages involved in facial recognition process. Those are, 1)Face Detection This stage detects whether an image represents a face i.e. the general structure of face or not. General structure includes forehead, eyes, nose, lips, chin etc. In other words, this process selects the area of interest for extracting the features. 2)Face Recognition This stage is a bit complicated as there are number of points involved which have to be taken under consideration while matching the faces. Face detection is easier than face recognition, as face detection is used to detect a face from an image but face recognition is used to find out whose face is this. There are various methods available for the face recognition. It uses techniques such as PCA (principal component analysis), LBP (local binary patterns), ICA (independent component analysis) LDA (linear discriminate analysis). These techniques are used for face recognition. In this process some variations occur that creates difficulties in face detection and those variations are illumination change, pose variation, RST variation, cluttering, occlusion.


·The process of voting starts with android application which is installed on the smart phone of voter. The voter has to login with voter id which was assigned during registration. ·After proper login, the voter is asked to send his/her photo for face matching which is the first authentication stage.

·Face matching is performed at server side. If the face recognition is successful, the server will generate an OTP and it will be sent on the voter’s registered mobile number. Otherwise, if recognition is unsuccessful, the voter is asked to send the photo again and not allowed for further process until voter is authenticated with face recognition. ·Then Voter will be asked to provide the OTP sent on his/her mobile number. If OTP verification is successful, voter will be allowed for the voting process. Else server will send another OTP after some pre-decided time and again the same process will be repeated. This is the second authentication stage. ·At the end, the voter will be allowed to vote and that response will be submitted to the server. Counting of votes and results will happen at server side.


We have designed an Android application which has to be used as a GUI for voting system. We have used OTP as an authentication in the application. This system generates the OTP which is done using a pair-based authentication scheme. Then it has to be decipher the OTP encrypted using playfair cipher process and send it to the server. The server checks if the both OTPs are matching or not. And further allows user for voting. A website is also designed for registration of voter and candidate. Voter or candidate can fill up the details through the website form and can register for the voting process. The website also shows the candidate details to the person who has logged in to the site. This website is interfaced with the XAMPP server which is our prototype server for this system. The server has database where all the details of voters and candidates are stored. It also stores the voting details and vote count. Already voted person will not be allowed for voting again because his/her voting history is recorded by the server. A.Resourse Utilization [ CPU, RAM, Server, Database] For Developing voting application the minimum requirement of hardware devices is 4GB of RAM minimum, monitor of any brand, at least 120 GB of hard disk and Intel processor P4 3.0MHZ.The software requirements are Windows 10/8/7 (32 or 64 bit), Java Development Kit(JDK) 8, Android studio and the languages required are JAVA, JavaScript, PHP and HTML. The XAMPP server is used with database. The backend language used for the server is PHP. The android application will be installed on a smartphone which must have android version of 5.1 or above and RAM of more than 1GB. The size of application is 560Kb. By using above requirements, the application can be developed and used. B.Android App Layout Following Fig.3 shows android application layout of AOVSAD system,