The Implementation of Electronic Voting System for Student Representation Council using reCAPTCHA

The electronic voting system (E-voting System) is a web-based application that enables voters to record safe and confidential votes electronically. This research aims to develop an E-Voting System by exploiting the ‘reCAPTCHA’ security component for a private international college. The Waterfall Model is deemed the most suitable to be used after data was gathered prior to developing the system and it is also considered simple to be employed. The functional testing was conducted with thirty students and results revealed that 63% of the respondents are in agreement that the traditional voting system should be supplanted with electronic voting system, especially to cut down the time in the voting process. Ultimately, the system developed demonstrated that it efficient, reliable and displayed transparency in the E-voting System.


Introduction
Election is the utmost leading method for associates to have ability to speak in the leadership and direction of their association. People feel a greater sense of value, authority, and obligation when they are allowed to vote in fair and open elections. Other than that, online voting service allow members of associations, peoples, and other independent organizations by making voting easy and useful [1].
According to Fish S [1], online voting decreases voting costs by controlling manufacture costs. In electronic votes, paper, postage and postal rates are all significantly lower than for traditional methods of polling. Also, employees will save time when electronic polls remove the need to collect ballot packets and tabulate votes manually. Moreover, he claims that there are no rejected, mismarked or null votes for online voting. The figures will be measured automatically, removing the need for manual tabulation and reckoning. Computerized tabulation helps administrators of elections to reveal the outcomes easily.
reCAPTCHA has been the most effective and reliable CAPTCHA program in recent years. The main property that distinguishes it from standard text-based CAPTCHAs is the method of creating problems that they are a by-product of digitizing huge quantities of data. Each time the algorithm for optical character recognition (OCR) fails to recognize one word properly, it is considered difficult to digitize and is applied to the reCAPTCHA program after further distortions. It means that the word in question is not audible by robots at once. ReCAPTCHA is used on several of the Internet's most popular sites, including Facebook, Twitter and Craigslist. According to reCAPTCHA, the apps overcome over 200 million tasks every day [2]. Google's reCAPTCHA software is the most commonly deployed captcha program, and many popular websites have implemented it to discourage computer bots from carrying out nefarious activities. Google confirmed that a new reCAPTCHA system is being implemented to make it more human-friendly and safe [3].

Problem Statement
Time Consumption -The student of (Kolej Teknologi Antarabangsa Cybernatics) KTAC is currently using the traditional system which is vote using paper ballot. The current traditional system is no longer suitable and convenient because there are many students that study in that college. This is not suitable because the organization need to hire others to calculate the vote or paper ballot during the elections. Use paper ballot is time consuming, but it creates a lot of work for the people participating in the counting of ballots. This will increase the time and costing for the institutions during this program.
Cost Increase -The manual system voting also increase the cost to hire more staff during the election process to avoid the fraud and lack of process during the elections. The rate of paper ballot expenditure is much greater than that of electronic voting. For the election commission, the use of electronic voting is quite economical.
Lack of Security -Poor security system because one can get easily the document and change whatever they want, loss of information. The manual election systems may not secure. For example, student can use other student document to proceed with the fake votes during election. Moreover, in few places where the traditional system is corrupt, they can easily insert several fake paper votes in the ballot and then it becomes impossible to track the honest votes. Paper is a flammable material, so, under certain situations, the document in which the votes were registered in the referendum could be lost or damage and then the records of the votes cannot be recovered.
Votes Counting -The manual system that being used is not accurate for the result because there is too many students' votes in one time. Sometimes the staff accidentally skip to count votes and makes the result not tally with the student's votes. The traditional system also not accurate during the calculation when the election finished. Using the computerized system will helps to improve the accuracy and can prevent frauds during the elections.

Objectives
More Secure -The system will be more secure and prevent from frauds or fake vote from other student. The system must be secure to prevent frauds, malicious attack and hacker. The system login will be completely secure with developer will implement the reCAPTCHA during login the system. The reCAPTCHA security is easy use on human but hard for bots. The reCAPTCHA security implementation is letting the valid user to pass through the system with ease. Bots is an interactive program for executing basic and repetitive tasks that would be time-consuming, uncommon or difficult to do for a human being. Bots can be used for productive tasks, but they are also frequently used for malicious purposes. Moreover, developer implement one time password which is for user enter valid code that have been sent to email. This method also can avoid fraud during election. Lastly, developer implement security for database. This security is called password hashing. Password hashing executes a password with one-way process, transforming the password into another string named the hashed password. Hashing password is for storing password securely in database.
Reduce Cost -The new system will reduce more cost of hiring other staff that will be on duty during the election. Moreover, the system will reduce cost for buying more paper for votes, so students can vote use the new system and paperless. The system helps to reduce cost because anything will process using system and electronically. The data of the students also save in the database and students no need to do a registration before voting using a form paper. The database of E-Voting System connect to the Campus Management System so the staff do not wasting time to do a registration for student.
Result More Accurate -The electronic voting system also can helps staff to view the result and more accurate instead staff need to counts the paper during the election. So the termination will be come out with the result more accurate using electronic voting system compare to the traditional voting system. This result is faster come out and display in the system compare to traditional that need to be counts first. The result also display live and update so the students and staff can view the result whenever they want.
More Convenient -The system is user friendly and easy to understand and user easy to use. This system is convenient and suitable to implement at the institution. This is because developer made this system used a basic system design that user can understand. The flow of the system also easy and user can understand. The flow is very simple makes everyone use the system can understand very well.
Once Vote Only -The system allow voter to vote one candidate only for each position. After vote have been cast, voters cannot allow to login into the system again. Voter can login unless voter do not cast any vote during election. This method will make sure the register voter tally with the result after election to make sure there is no unregistered student allow to vote.

Literature Review
Electronic voting systems can be used to register voters, tally ballots, and record votes [4]. Online voting is a web-based system that promotes the digital election process and surveys. This program has been set up to simplify the organisation of elections and make it convenient for voters to vote remotely from their personal computers while maintaining confidentiality, privacy and auditing capability [5]. Several categories of CAPTCHAs are image CAPTCHA, text CAPTCHA, voice CAPTCHA and video CAPTCHA [6].
Authentication is the mechanism to recognize and verify an entity before granting access to any secured service such as a personal account. This double layer of encryption, named two-factor authentication, provides a route that involves passwords (username / email and password) registration, accompanied by the development and confirmation of the One Time Password (OTP). The OTP is a numeric code that is created spontaneously and uniquely for each authentication case. It adds an additional layer of security, as the produced password is a fresh set of digits each time an authentication is attempted and offers the benefit of being random for the next session provided [7].
One explanation e-voting faces such a protection threat is that any successful attack would be highprofile, an aspect that motivates much of the hacker activity up to date. Even worse, the most extreme assaults will come from someone who is inspired by the ability to change the result without anyone knowing [8].
ReCAPTCHA offers an alternative for the visually impaired. Our standard audio CAPTCHAs are easy to solve for your legitimate users. On the other side, bots can get a much tougher CAPTCHA audio designed to block them [9].

Methodology
Methodology that has been used to develop this system is waterfall model as shown in Figure 1. The primary distribution on the cascade model is credited to Walter Royce's article in 1970 [10]. This concept of waterfall is an example of a sequential process. Software development process is divided into different phases in this model, and each step consists of a series of tasks and has different goals. First, we had to concentrate on preparation, time management, target date, expenditures and the execution of a whole program. Waterfall model can help users to obtain a better understanding of developments in information systems development in the text on the paper. This is because the system specification in text provided is clear and easily understood by users. In this methodology, the involvement of users in the initial phase in the development of systems to ensure the systems achieve the objectives required by the user.

Requirement Analysis Phase
The first phase of waterfall methodology is system analysis and requirements. The first phase involves understanding what need to be design and what is the function and purpose of the system that will be develop. The developer has supplied a questionnaire to users so the developer can identify the user and client needs. This phase developers need do brainstorming and generate more ideas and to understand the requirement. Moreover, developers need to do research about the previous system similar for what he want to develop to get the ideas. After the requirement collected, developer should identify the overall direction that the project will take through the creation of the project strategy documents. The primary attraction of the analytical process is the selection of criteria. Assessment of specifications, also referred to as requirements development, is the process of determining user needs for a new or modified product.

System Design
In this step the criteria requirements are learned from the first process and the planned of system design. System Design helps determine the hardware and system specifications and helps define the overall design of the system. The developer need to generate the idea on how the product will look like. Moreover, the developer need to take serious the client needed to make the project successful. The design for this system is very simple and easy to understand.

Coding Implementation
The basic role of this phase is to convert designing into code using the programming language decided in designing phase. This is one of the longest phases in software development life cycle. This is a few points which we need to take care in this phase. Before begin the actual coding, you should spend some time on selecting development tool, which will be suitable for your debugging, coding, modification and designing needs. There should be a regular review meeting with lecturer need to conduct in this stage. It helps to identify the prospective defects in an early stage and helps to improve product and coding quality.

System Testing
In this phase, every code that implement need to testing to make sure if it works as expected. Moreover, developer need to perform all the testing activities functional and non-functional to make sure that the system meets the requirements. The developer aim to find defects within the system as well as verifying whether the system behaves as expected and according to what was documented in the requirements analysis phase. It is possible that defects are identified in the testing phase. When defect been identified, the developers will make sure to fix the problem and find a solution to make sure the system running and well function before ready to deployment.

System Deployment
After the system testing successfully passed, the system can be used and deploy at the client organization. Perform a stability check in the environment after the application is deployed to ensure the application does not break. Make sure system well function and can run smoothly as client needed before deployment. After client satisfied, the system can be deploy at the client organization to be use.

System Maintenance
The final phase is system maintenance. This step occurs after installation, and involves making modifications to the system or an individual component to alter attributes or improve performance. These modifications arise either due to change requests initiated by the client. Other than that, in case client encounters and defect, make sure to note and fix the issues faced. The application is always enhanced to incorporate more features, update the environment with the latest features.

Results
This section discusses the findings and the result of data gathering from dissemination of questionnaires to KTAC students. The questionnaires includes 17 questions and it is about E-Voting system. The total respondents we collected for the data is for 30 students. Based from the survey, results revealed that 63% of the respondents agree that the traditional voting system should be supplanted with electronic voting system, especially to cut down the time in the voting process.

System Modelling
System modeling is the process of developing intellectual models of a system, with each model offering a different view or perception of that system. Moreover, system modelling helps the analyst to know the functionality of the system and models that are used to communicate with customers. System modeling will also represent the view of the whole system in a visual diagram and clearly shows the functionality of the whole system.

Flow chart Diagram
A flowchart is a visual representation for the sequence of steps and decisions that need to perform as a process. Each step in the sequence is noted within a diagram shape. Steps are linked by connecting lines and directional arrows. This will allows anyone to view the flowchart and logically follow the process from beginning to end. Figure 2 shows a flowchart for voter. The process flow start when user (voter) need to solve CAPTCHA that show by the system. Then, system will verify CAPTCHA, if it is correct, user need to enter their ID and password but if the answer is incorrect, user need to re-solve CAPTCHA. System will give one time password (OTP) code to verify the user.

Figure 2. Flowchart for Voter
If the login is correct, system will verify either user has done voting previously. Message box will appear that "voter allow one vote only" if user have done voting previously and user is allow to vote if system cannot find the record about user. Figure 3 illustrates a flowchart for administrator (student welfare). The process flow begin with start symbol to indicate that the process is started after voter enter IOP Publishing doi:10.1088/1757-899X/1062/1/012043 7 student ID and password. If the user ID and password is correct the system will view the dashboard. After that, students will be registered as a voters and the system will register the candidate, add position, edit election title, view report and print the result. Admin also can update their account and last step they can log out from the system. Figure 3 shows the flowchart for admin.

Use Case Diagram
This will allows anyone to view the flowchart and logically follow the process from beginning to end. Use cases are a set of actions, services, and functions that the system needs to perform. For E-Voting system using reCAPTCHA, there are two actors involved which are voters (students) and administrator (student's welfare).
Based on Figure 4, it shows that voters are able to login to the system by solving CAPTCHA. The system can detect either voters has been done voting previously or not. Figure 5 shows that administrator can manage all the information about candidate.

Conclusions
This research has shown that the developed electronic voting system will detect either the voters have been vote for the students representative candidate twice using reCAPTCHA. Security is very important in developing E-Voting website. This electronic voting system will give the organizations an opportunity to increase the efficiency, reliability and transparency of an elections.