Secure E-voting System by Utilizing Homomorphic Properties of the Encryption Algorithm

The use of cryptography in the e-voting system to secure data is a must to ensure the authenticity of the data. In contrast to common encryption algorithms, homomorphic encryption algorithms had unique properties that can perform mathematical operations against ciphertext. This paper proposed the use of the Paillier and Okamoto-Uchiyama algorithms as two homomorphic encryption algorithms that have the additional properties so that it can calculate the results of voting data that has been encrypted without having to be decrypted first. The main purpose is to avoid manipulation and data falsification during vote tallying process by comparing the advantages and disadvantages of each algorithm


Introduction
There are numerous issues with the electronic vote casting system, together with system errors, network safety, information security, and so on.One of the primary issues is cheating committed by either insider or outsider, especially for some important role holders with authority that can access the system itself.To overcome these issues, cryptography can be used as a safety approach.Cryptography technique is used to encrypt the information such as voter's data, voter's choice, and the voting result before that data stored on the server.Therefore the system can ensure authenticity and security of voting information [1].The different cryptographic algorithm can be implemented in this system, a few of them are Paillier and Okamoto-Uchiyama algorithm.
The paillier algorithm, as well as the Okamoto-Uchiyama algorithm, are asymmetric cryptographic algorithms that utilized the public key to encrypt messages, whereas the other key is called private key to decrypt the messages [2]- [3].As shown by Rivest, Adleman, and Dertouzos in an encryption system, a data system can simply store and recover encrypted information for users.Decryption is needed for further operation.The information is not secure anymore after it is decrypted [4]."Privacy homomorphism", the new concept that allows direct calculation of encrypted information without decryption was proposed.With homomorphic encryption, the operations on the encrypted information including additions and multiplications may be carried out with the aid of using the public key algorithm.This algorithm also has homomorphic property, that could carry out mathematical calculations using messages which are still encrypted, also know as ciphertext.
This research centered on the effectiveness of Paillier and Okamoto-Uchiyama algorithms in terms of encrypting and decrypting the data while carrying out in e-voting system.as well as the accuracy of the calculation final result of the ballots using the homomorphic property of both algorithms, which is a unique property that not all kinds of asymmetric algorithms have it [5].

Research Method
As already described before, there are two keys needed in both Paillier and Okamoto-Uchiyama algorithms to perform encryption and decryption.To achieve that, there are several numbers that need to be generated before with following procedure. , when function L is defined as  ()=(−1) /  [6].After following those steps before, we could get the public-key for encryption (,) and the private-key for decryption (λ,).

Encryption Process
Encryption is a process to scramble the actual data into something that can not be understood or at least does not reveal the actual meaning of the information.For Paillier algorithm, the message  that needs to be encrypted must be integer where  ∈ ℤ.Then select a random number  with  ∈ ℤ  * .After that compute ciphertext =      2 [6].As for Okamoto-Uchiyama algorithm, the message  must be integer where  ∈ ℤ/ℤ.Then choose random number of  with  ∈ ℤ  * .After that, compute to acquire ciphertext  =   ℎ    [7].

Decryption Process
Decrypting the previously disguised messages are needed to obtain the actual information.For Paillier algorithm, the ciphertext to be decrypted is c, where  ∈ ℤ 2 .we can obtain the plaintext message using = ( λ

2
) * μ mod n [6].As for Okamoto-Uchiyama algorithm, we need to first define an auxiliary function . With the assist of this function, the decryption method to acquire message  is mod p [7].

Implementation
For the whole election process, there are at least three important parts representing the e-voting system.That is from the side of the selector, from the server side, and from the administrator side.Figure 1 represents the system design that used in this research.
Whole design referred above will be applied in e-voting application using MySQL for its database and with Java programming language.Figure 2 shows the GUI mockup for a ballot paper in a software application.Figure 3 shows the preview of MySQL databases that will be used to stored election data in this e-voting system.The voter selected the candidate using a computer that is connected to the internet.Then the ballot will be encrypted automatically and stored on the server in the ciphertext form.Every voter could have a unique ciphertext even though they selected the same candidates.The server will do the tallying process with all the encrypted data using the homomorphic properties owned by each algorithm.To obtain the voting final result, the admin has to do the decryption procedure.

Results and Analysis
The sample will contain 20 voters that will choose four different candidates.After every voter finishes deciding on the candidates, their vote's data will be encrypted through the encryption program.Table 1 indicates that even though the voters select same candidates, every ciphertext will be unique.
Now we will encrypt every message m as shown in the table above using keys and formulation as defined before.Table 2 shows the ciphertext from each message that being encrypted by both algorithms.For the tallying process with homomorphic properties of Paillier algorithm, the server will sum up all encrypted data and mod by n.
Then the admin can decrypt   to get message .Using decryption formula : As for Okamoto-Uchiyama algorithm.The server will multiply all encrypted messages.Then the admin can decrypt   to get message .Using decryption formula: = 4637 Eventually, the final result of this vote casting is decided.From the final result from both algorithms before, m=4637, this means that candidate C1 has four votes, candidate C2 has six votes, candidate C3 has three votes, and candidate C4 has 7 votes.So the candidate C4 is the winner of this election.
If we count number manually the selections in Table 1, four voters select candidate C1, six voters select candidate C2, three voters select candidate C3, and seven voters select candidate C4.The final result will be equal to the final result as calculated earlier.
We can see, the size of the ciphertext is a whole lot larger than the plaintext (original message), due to the fact these algorithms primarily based on big prime numbers of  and  with pretty complex calculation to perform factoring or discrete logarithm, along with calculating values of n=p 2 q for Okamoto-Uchiyama algorithm, which may be very big compared with Paillier algorithm, which generally has a value of n=pq.
The function of random number  in both algorithms is to make the result of encryption message that has exactly same value will different result of ciphertext.Therefore, these algorithms can guarantee the uniqueness of the data to be stored.
From the experimental results above shows that the ciphertext size of the Okamoto-Uchiyama algorithm is smaller than the Paillier algorithm.While for expansion factor of ciphertext size to prime size  and , the Okamoto-Uchiyama algorithm has size three times bigger and four times bigger for the Paillier algorithm.As for the runtime of encrypting and decrypting process, Okamoto-Uchiyama algorithm is faster than the Paillier algorithm.But for the tallying process, the Paillier algorithm is much faster because each message is only summed so it does not generate many larger numbers than each initial ciphertext, while in the Okamoto-Uchiyama algorithm it will be several times larger than the initial ciphertext because each message will be multiplied .
The homomorphic properties that we use in this study proved to produce accurate results between calculated result using ciphertext that similar with desirable result that calculated manually after decrypted.So, we can use that property to anticipate cheating by the outsider to manipulate the stored data or trying to interrupt the tally process.
With the usage of homomorphic properties in these algorithms, we can anticipate cheating by either insider or outsider that try interrupt the tallying process or manipulate the stored data.This sample also proved to produce an exactly same result between tallying done manually and decrypted result after tallying using ciphertext by the program.

Conclusion
In this research, the use of Paillier and Okamoto-Uchiyama homomorphic encryption algorithms in e-voting system can utilize homomorphic properties of the algorithm to calculate the votes that processed by the system and ensure data confidentiality.These algorithms also produce a unique value for each ciphertext even with the exact same plaintext (original message).The desirable result that calculated manually is similar to the final result after being decrypted that calculated using the homomorphic method.The Okamoto-Uchiyama algorithm has a smaller ciphertext size than the Paillier algorithm but has a longer tallying processing time.