Online Voting System using Homomorphic Encryption

. An important part of a democratically fair society are elections. The conventional democratic framework becomes hard for the individuals who can’t visit the polling stall for casting their votes. With quick advancement of data innovation, online Internet voting framework is all the more intriguing to use for the nations where vote casting cooperation is low and it is too helpful for people living far o ﬀ from their homes. Security is a major worry for Internet voting system. The proposed framework guarantees security prerequisites for example, validation, precision, secrecy, receipt-freeness, unwavering quality, obviousness and reasonable-ness in the political race.


Introduction
Election are backbone of a democracy, so its important that it should be fair. The way to select your representative is by voting. In traditional voting system voters have to reach polling station and cast their vote, it gets difficult for elderly and for those living far from their homes or living in the remote locality. Voting through internet allows voters to give their votes to their representatives from anywhere through internet. online voting system is an application of cryptography. This promises an efficient and secure way of casting and calculating the votes.
Making an voting system on internet has many challenges to overcome. Some major issues are voting in a secured manner and accompanying many voters. There are some internet voting system that cannot work in situation with many voters. Our proposal uses Homomorphic encryption to over come these issues.
Homomorphic approach in Internet and systems administration applications, [8]security is significant worry in the present time of IT. The tremendous measure of data traded across the Internet is helpless against security dangers and assaults. Cryptography gives secure trade of scrambled information by shared key. The significant worry with this methodology is information protection as anyone with the key can get to the information. In addition, client loses command over information once it is transferred to the cloud Client must impart a key to play out any activities. We need to download and unscramble the information and afterward play out the activity. These methodologies lead to security issue and rehashed encryption decoding. So in this system we have decided to go for Homomorphic encryption.
A homomorphic encryption [10] strategy permits client to work on ciphertext. At the point when client decodes the resultant figure, it is same as though tasks are done on plaintext. In this manner, utilizing homomorphic encryption guarantees clients that their information is secure in all state: stockpiling, transmission and preparing. Assume if someone wants to sum two numbers together eg 10 and 20 which are stored in form on encrypted number as 98746 and 654421 respectively after that the result of addition 10+20=30 is also stored in encrypted number as 783356. In traditional way they have to first decrypt the two numbers than add them and show the results. Consider than same situation for a large set of database example salary record of all employees working in a firm , if we use the traditional way we have to decrypt all records related to salary of each and every employee , thus exposing data (salary ) [11] for employees . But if we would use Homomorphic encryption we can easy compute salary on all employees without decrypting there data. The computation is done directly on the encrypted data using Homomorphic encryption .Homomorphic encryption can either be completely or halfway homomorphic encryption. A fully homomorphic encryption system provides both multiplication as well as addition of ciphertext. Partially homomorphic encryption supports either additive homomorphic or multiplicative homomorphic encryption. Such plan can perform predetermined number of activities. For instance partial homomorphic encryption plans can do multiple addition with one multiplication.
Pascal Paillier gave Paillier cryptosystem in 1999. This cryptosystem is an public key system. Paillier cryptosystem is an partial homomorphic encryption [3] scheme that can can perform addition operation on ciphered data. The properties of Paillier's system are: 1) It is a symmetric key cryptographic scheme [6], which encrypts message using public key and retrieve message back from ciphertext using corresponding private key.
2) Paillier has probabilistic nature [3]. Every time the ciphertext is encrypted using Pallier system a new cipher text is generated, due to which it is difficult to uniquely identify whether both the ciphertext are generated for same message or not.
The proposed online voting system is effective , robust and simple using paillier cryptosystem.Paillier cryptosystem is an additive homomorpic encryption system which enables to do operation on encrypted number without decrypting it. Thus using this property of homomorphic encryption the proposed system provides users with availability , confidentiality and integrity.
This paper is divided in to six sections , the brief introduction is given in section one, section 2 explains what is Homomorphic encryption and its properties with Pallier cryptosystem in brief with key generation , encryption , decryption algorithm, the proposed methodology is discussed in third section , the result and analysis is discussed in section four followed by conclusion in section five.

Homomorphic Encryption
R. Rivest, M. Dertouzos and Leo. Adleman presented the idea of Homomorphic cryptosystem, long after the development of RSA [1]. It enables to operate on encrypted data. Let E be an encryption function used to encrypt plaintext, x as plaintext and f() as operation to implement , So homomorphic encryption is defined as : f(E(x1),E(x2)....E(xn)) = E(f(x1,x2....xn)) Additive Homomorphism : Binary operation is denoted by + ,so additive homomorphic is described as Pallier Cryptography supports additive homomorphic property.

Paillier Cryptosystem
One of the well known scheme for homomorphic cryptography is Paillier [4]. It was invented by Pascal Paillier in 1999. It can encrypt many bits in single operation with an constant factor of expansion and also an efficient decryption. Pallier cryptosystem is defined by four terms: key generation, encryption, decryption and homomorphic operation. [4].

Key generation
Consider q and p are two big random prime numbers which are mutually exclusive of one another ,that is [12] gcd(qp, (q − 1)(p − 1)) = 1. The above property is assured if both prime number are equal to each other in length. [3] Compute n=qp and λ = lcm(q − 1, p − 1). Randomly select g as integer where g∈ Z * n 2 The existence of multiplicative inverse ensure that the order of g is divisible by n by the following equation: µ = (L(g λ modn 2 )) −1 modn, [18] where function L(x)=x-1 n . Note that this a b does not mean the multiplication of a times the multiplicative inverse of b, i.e., the biggest integer value v≥ 0 to satisfy the relation a≥ vb. The public key (encryption) is (n,g). The private key (decryption) is (λ, µ).. If using q,p of same length, a simpler version of the key generation steps could be to set g=n+1,λ = ϕ(n),, where ϕ(n) = (p − 1)(q − 1)

Encryption
Let x denote a message that we want to [4] encrypted where 0≤ x < n. Select r randomly where , r∈ Z * n 2 and 0<r<n (i.e ensure gcd(n,r)=1) Compute ciphertext as: c=g x · r n modn 2

Decryption
Let c be the encrypted text from which plaintext need to be extracted, where c∈ Z * n 2 The original message can be computed as : x=L(c λ modn 2 ) · µmodn decryption is one exponentiation modulo n 2 ." [17]

Homomorphic characteristics
The importance of Paillier algorithm is due to its homomorphic properties and it can able to generate nondeterministic encryption. [5] As function of encryption is additive, following functions are described below:

Homomorphic multiplication on plaintexts
An plaintext in encrypted form when raised to the power of one another plaintext in encrypted form will give the product of the two plaintexts when decrypted, D(E(x 2 , r 2 ) x 1 modn 2 ) = x 1 x 2 modn. ) The product of constant with plaintext in encrypted form is a decryption result of an plaintext in encrypted form is raised with a constant k.
D(E(x 1 , r 1 ) k modn 2 ) = kx 1 modn. In any case, in the event that we are given the Paillier encryptions of two messages ,it is highly unlikely to register an encryption of the result of these messages without the utilization of private key.

Proposed Methodology
In today's competitive worlds most of the lot of things are created on online platform similarly in internet voting system voter can cast their votes without visiting the election booth. Online voting system utilizes homomorphic encryption to count votes. The final outcome is taken from encrypted collection of votes without decrypting them, [4]. so it remains unknown who voted whom. In this system integrity and anonymity of the voter remains hidden. The voter should have to create their own account on this portal by verified government documents. The several stages for online voting system are given below. User will enter their basic details and will add there voter id which will be crossed checked with the election commission database. After successful registration, user will able to cast a vote through e-voting system.
2) Authentication stage: This stage comes after registration stage. In this stage user will authenticate themselves using login id(which will be there voter id) and password that was set by the user in registration phase . Thus using user id and password users can get uniquely authenticated.
3) Voting stage: In this stage voter can give their vote . They can give vote to their selected candidate . The vote given by voters to their selected candidates are then encrypted using Paillier encryption. The encrypted votes are stored in database which will be then tallied in tally stage.

4) calculation stage:
In this phase Votes that are stored in encrypted (using homomorphic encyption) form in database are added to get total no of votes received by the respective parties.
Consider we have two numbers 10 and 20, we have to perform the addition on encrypted numbers by using pailliar algorithm . In the above mentioned example it is observed that a new ciphertext is generated for a given number whenever it is encrypted, this feature helps to maintain the integrity and enhance the complexity of computation data [15] 4 Result And Analysis Voter will Register themselves on the portal by giving some basic details as their Fullname,password, voter id, gender, state. after fill the details user's voter id will be authenticated with government database of voter id.     In existing system, Voter cast their votes online through e-voting system and the vote is stored in encrypted form using Paillier algorithm. The ballots are shuffled and apply the rotational method on votes for storing votes in database which increase the time and space complexity so the overall cost of the system will increases. The proposed system allows voter to cast the votes and store it in encrypted form using Paillier cryptosystem for maintaining the integrity of data. When vote casted for specific candidate, votes of that candidate stored in encrypted form and null value is in encrypted form automatically set to the remaining candidates in database. This will provide more security as the vote in encrypted form is updated in database for all candidates. The attacker as well as the admin or the employees who have access to the database will not able to distinguish between the ballots stored for the candidate is a vote cast by the voter or a null value. The final count of votes for each candidate is calculated using homomorphic addition property of Paillier cryptosystem. The proposed system is more faster and provides more security as all votes are stored in encrypted form and this will help in maintaining the three traids of the cyber security i.e. Availability , Confidentiality and Integrity of the system .

Conclusion
Voting through internet has attracted many people specifically people living far from their homes than traditional system of voting. From past few years a lot of researchers have started seeking interest in this field due to transparency and security concern. This research paper describes the internet voting system using Paillier algorithm and its homomorphic characteristics. This system gives a assurance of data confidentiality and data integrity in which it will uses homomorphic properties for calculation of votes in there encrypted form and then decrypting them to get only total votes thus keeping it secure. This system is equivalent to system in which votes are taken in unencrypted form and then added to get then total votes received by the party. Thus it provides us with the use fullness of traditional system plus the security and modularity of modern system.