<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">CS</journal-id><journal-title-group><journal-title>Circuits and Systems</journal-title></journal-title-group><issn pub-type="epub">2153-1285</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/cs.2016.710272</article-id><article-id pub-id-type="publisher-id">CS-69965</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Computer Science&amp;Communications</subject><subject> Engineering</subject><subject> Physics&amp;Mathematics</subject></subj-group></article-categories><title-group><article-title>
 
 
  A Homomorphic Crypto System for Electronic Election Schemes
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Kannan</surname><given-names>Balasubramanian</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>M.</surname><given-names>Jayanthi</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib></contrib-group><aff id="aff1"><addr-line>Computer Science and Engineering, Mepco Schlenk Engineering College, Sivakasi, India</addr-line></aff><author-notes><corresp id="cor1">* E-mail:<email>jayanthimathanan@mepcoeng.ac.in(MJ)</email>;</corresp></author-notes><pub-date pub-type="epub"><day>02</day><month>08</month><year>2016</year></pub-date><volume>07</volume><issue>10</issue><fpage>3193</fpage><lpage>3203</lpage><history><date date-type="received"><day>5</day>	<month>May</month>	<year>2016</year></date><date date-type="rev-recd"><day>accepted</day>	<month>15</month>	<year>May</year>	</date><date date-type="accepted"><day>23</day>	<month>August</month>	<year>2016</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p>
 
 
  This research investigates the applications of homomorphic encryption systems in electronic voting schemes. We make use of Paillier cryptosystem which exhibits additive homomorphic properties. The other homomorphic cryptosystems RSA and Elgamal are not considered, since they exhibit only multiplicative homomorphic property. Our proposed method increases the level of security when compared to Elgamal method. It is more flexible when compared to previous schemes. We also propose data packing for efficient storage of election data. Finally, we demonstrate the advantages of the homomorphic encryption in voting schemes by comparing with other electronic voting scheme.
 
</p></abstract><kwd-group><kwd>Electronic Voting</kwd><kwd> Public Key</kwd><kwd> Homomorphic</kwd><kwd> Paillier</kwd><kwd> Data Packing</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><p>Homomorphic encryption is the encryption on the already encrypted data rather than on the original data by providing the result as it is done on the plain text. The complex mathematical operations can be performed on the cipher text without changing the nature of the encryption. There are several efficient partially homomorphic cryptosystems and a number of fully homomorphic cryptosystems. High computational and communication complexity involved in using homomorphic encryption for the practical applications. The homomorphic property of various cryptosystems can be used to create secure voting systems, collision-resistant hash functions, and private information retrieval schemes and enable widespread use of cloud computing by ensuring the confidentiality of processed data.</p><p>This paper focuses on the problem of Data Protection which allows the computation of encrypted data, so that secure Database Storage is achieved. Noise refers to the distortion of cipher texts (i.e., encoded text) that occurs after each operation (e.g., addition or multiplication) is performed. As more and more additions and multiplications are performed, the noise level becomes too high, and the resulting ciphertexts become indecipherable. Ciphertexts can be refreshed easily by decrypting them, but the idea behind homomorphic encryption is to not share the secret key required to do the decryption.</p></sec><sec id="s2"><title>2. Related Work</title><p>The introduction of Homomorphic encryption schemes was done by Rivest, Adleman and Dertouzos in [<xref ref-type="bibr" rid="scirp.69965-ref1">1</xref>] . They allow only computing over encrypted data either the product [<xref ref-type="bibr" rid="scirp.69965-ref2">2</xref>] or sum of the plaintext (Goldwasser-Micali and Paillier [<xref ref-type="bibr" rid="scirp.69965-ref3">3</xref>] ) Brickell and Yacobi pointed out in [<xref ref-type="bibr" rid="scirp.69965-ref4">4</xref>] some security flaws in the first proposals of Rivest et al. In 1999 Pascal Paillier proposed a provable secure encryption system that was an additive Homomorphic encryption. In 2005, Dan Boneh, EU-Jin Goh and Kobi Nissim [<xref ref-type="bibr" rid="scirp.69965-ref5">5</xref>] invented a system of provable security encryption, with which unlimited number of additions but only one multiplication can be performed [<xref ref-type="bibr" rid="scirp.69965-ref6">6</xref>] .</p><sec id="s2_1"><title>2.1. Encryption Schemes</title><p>Encryption schemes are designed to preserve confidentiality. There are two kinds of encryption schemes: symmetric and asymmetric encryption. Symmetric means that encryption and decryption are performed with the same key. Therefore, two persons who never met before cannot use this scheme directly. It has the advantage of being really fast and used as often as possible. In this category block cipher (AES) and stream ciphers (One-time pad, Snow 2.0), which are even faster [<xref ref-type="bibr" rid="scirp.69965-ref7">7</xref>] . In asymmetric the encryption key is public, as the decryption key remains private. It has a big drawback that is they are based on nontrivial mathematical computations, and much slower than the symmetric. The two most prominent examples are RSA and ElGamal. The Asymmetric encryption key is a Privacy preserving public key encryption [<xref ref-type="bibr" rid="scirp.69965-ref8">8</xref>] .</p><p>Private Key encryption schemes can be used for our purpose, but they use only one key for both encryption and decryption. We believe that conventional public-key encryption schemes with modular exponentiations are secure, but modular exponentiation is not a very simple operation. But it uses two keys each for encryption and decryption. It has three algorithms: KeyGen, Encrypt and Decrypt. Keygen algorithm is used to create Keys for encryption and decryption. The Encrypt algorithm encrypts the Plaintext into Ciphertext using the key. The Decryption algorithm decrypts the Ciphertext using the Key. A Homomorphic public key encryption scheme <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/33-7600964x6.png" xlink:type="simple"/></inline-formula> has four algorithms. The usual KeyGen, Encrypt and Decrypt and an additional algorithm Evaluate. <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/33-7600964x7.png" xlink:type="simple"/></inline-formula>= (KeyGen, Encrypt, Decrypt, Evaluate) Evaluate takes as input a public key pk, cipher text <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/33-7600964x8.png" xlink:type="simple"/></inline-formula> and outputs another cipher text C.</p></sec><sec id="s2_2"><title>2.2. Types of Homomorphic Encryption Schemes</title><p>There are two types of homomorphic encryption: fully homomorphic encryption (FHE) and somewhat homomorphic encryption (SHE). Each type differs in the number of operations that can be performed on encrypted data.</p><sec id="s2_2_1"><title>2.2.1. Somewhat Homomorphic Encryption</title><p>It can evaluate low degree polynomials homomorphically. SHE cryptosystems support a limited number of operations (i.e., any amount of addition, but only one multiplication) and are faster and more compact than FHE cryptosystems [<xref ref-type="bibr" rid="scirp.69965-ref9">9</xref>] .</p><disp-formula id="scirp.69965-formula540"><label>(1)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/33-7600964x9.png"  xlink:type="simple"/></disp-formula><p>F can be an addition or multiplication function. (sk, pk) are generated by the KeyGen function. A scheme is additively homomorphic if it considers addition operators, and multiplicatively homomorphic if it considers multiplication operators. Unpadded RSA, ElGamal, Goldwasser-Micali, Benaloh, Paillier are coming under this encryption scheme.</p></sec><sec id="s2_2_2"><title>2.2.2. Fully Homomorphic Encryption Schemes</title><p>FHE allows for an unlimited, arbitrary number of computations (both addition and multiplication) to be performed on encrypted data. Fully homomorphic encryption can be trivially realized from any secure, encryption scheme, by an algorithm Evaluate that simply attaches a description of the C to the ciphertext tuple, and a Decrypt procedure that first decrypts all the ciphertexts and then evaluates C on the corresponding plaintext bits. Craig Gentry firstly constructed a “somewhat homomorphic” encryption (SHE) scheme that supports evaluation of low degree polynomials. Then he “squashed” the decryption algorithm to obtain a lower circuit depth so that the somewhat scheme is capable of evaluating its own decryption circuit. Finally, he used a “bootstrapping” technique to achieve a fully homomorphic encryption scheme [<xref ref-type="bibr" rid="scirp.69965-ref10">10</xref>] .</p><p>Craig Gentry’s technique is from a bootstrappable somewhat homomorphic scheme to the fully Homomorphic. The essence of fully homomorphic encryption is simple. In Fully Homomorphic Encryption, parties that do not know the plaintext data can perform computations on it by performing computations on the corresponding ciphertexts. Given ciphertext<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/33-7600964x10.png" xlink:type="simple"/></inline-formula>, fully homomorphic encryption should allow to output a cipher</p><p>text that encrypts <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/33-7600964x11.png" xlink:type="simple"/></inline-formula> for the function F, as long as that function can be efficiently com-</p><p>puted. No information about <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/33-7600964x12.png" xlink:type="simple"/></inline-formula> or<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/33-7600964x13.png" xlink:type="simple"/></inline-formula>, or any intermediate plaintext values, should leak. The inputs, output and intermediate values are always encrypted.</p><p>A fully homomorphic encryption scheme uses only simple integer arithmetic. However, constructing fully homomorphic signatures or even homomorphic signatures for more complex functions remains an important open problem.</p></sec></sec><sec id="s2_3"><title>2.3. Properties of Homomorphic Encryption Schemes</title><p>It has two properties, namely Additive Homomorphic encryption and Multiplicative Homomorphic encryption.</p><sec id="s2_3_1"><title>2.3.1. Additive Homomorphic Encryption Schemes</title><disp-formula id="scirp.69965-formula541"><label>(2)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/33-7600964x14.png"  xlink:type="simple"/></disp-formula><p>Z<sub>n </sub>denote the set of nonnegative integers less than n. <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/33-7600964x15.png" xlink:type="simple"/></inline-formula>denote the set of integers that are relatively prime to n. g is a random number where it has ordered multiple of n. n is the product of two large primes p and q.</p><disp-formula id="scirp.69965-formula542"><graphic  xlink:href="http://html.scirp.org/file/33-7600964x16.png"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.69965-formula543"><graphic  xlink:href="http://html.scirp.org/file/33-7600964x17.png"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.69965-formula544"><graphic  xlink:href="http://html.scirp.org/file/33-7600964x18.png"  xlink:type="simple"/></disp-formula><p>It is Additive [<xref ref-type="bibr" rid="scirp.69965-ref11">11</xref>] . The product of two cipher texts decrypts to the sum of their corresponding plaintexts. The product of cipher text with a plain text raising g decrypt to the sum of the corresponding plaintexts. The Paillier encryption scheme is an Additive Homomorphic encryption.</p></sec><sec id="s2_3_2"><title>2.3.2. Multiplicative Homomorphic Encryption</title><p>The following property illustrates multiplicative homomorphism.</p><disp-formula id="scirp.69965-formula545"><label>(3)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/33-7600964x19.png"  xlink:type="simple"/></disp-formula><p>The product of two cipher text decrypts to the product of their corresponding plaintext. RSA, ELGamal are the Multiplicative Encryption Schemes. (e, n) are public keys.</p><disp-formula id="scirp.69965-formula546"><label>(4)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/33-7600964x20.png"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.69965-formula547"><label>(5)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/33-7600964x21.png"  xlink:type="simple"/></disp-formula></sec></sec></sec><sec id="s3"><title>3. Electronic Election Schemes</title><p>Paper-based voting systems have been the standard since the mid-19th century. In Elections like National or Local government elections, voters vote for a number of candidates. After voting the winning candidates are computed from the set of votes. Most of the citizens are registered as voters. The rest of them must register as voters. After the end of voting talliers count their tallies. In an e-voting the voters and talliers use the technology to speed up the voting process. First the voters enter their votes to the voting platform. Then the votes get transmitted to a central machine that computes the winning candidate. Some information like the number of votes for a candidate, Number of votes in a particular city is displayed. Both the Voting platform Database and the Central Machine Database are encrypted using the encryption techniques. Central machine gets the encrypted, compressed database to improve the secrecy.</p>Implementation of Homomorphism and Data Packing<p>Secure e-voting can be achieved by using the homomorphic encryption. Homomorphism is an algebraic property, particularly useful in electronic voting schemes because it allows applying operations on sets of encrypted ballots without the need of decrypting them. It allows the votes to be tabulated before decryption and improving privacy. The recent groundbreaking work of homomorphic encryption shows how to maintain privacy of outsourced data. With homomorphic encryption scheme one can electronically access the outsourced data by the way of accessing it. For example, in additive homomorphic encryption, the product of two cipher texts is a third cipher text that encrypts the sum of the two original plaintexts. Let M<sub>1</sub>, M<sub>2</sub> are the two messages. E (M) is the encryption of message m under encryption scheme [<xref ref-type="bibr" rid="scirp.69965-ref12">12</xref>] .</p><disp-formula id="scirp.69965-formula548"><label>(6)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/33-7600964x22.png"  xlink:type="simple"/></disp-formula><p>Electronic Voting Phase Flow Chart</p><p>The Flow Chart (<xref ref-type="fig" rid="fig1">Figure 1</xref>) displays the Electronic Voting Phase usage. Initially the User gives his votes to the Proposed re-encryption Scheme using Voting Platform. It is connected to the Internet and do all the authorizations. So that only eligible persons can vote. Multiple votes are not allowed. The Proposed Schemes work on Z<sup>2</sup> workspace. When it is applied once again it works on Z<sup>4</sup> workspace.</p><p>Encryption and Re-encryption both occupies more space. So the Data Packing is used to pack the encrypted data. The Packed data is once again unzipped to get back the data. Then the encrypted data is retrieved to find out the Winner Candidate. The Voting Platform has both the encryption and data packing methods. It is our Proposed scheme where the votes are encrypted, re-encrypted, zipped and sent through the Insecure Channel. When needed, it is decrypted and unzipped to find the winning candidate [<xref ref-type="bibr" rid="scirp.69965-ref13">13</xref>] .</p><p>Vote Validation is done on the Voting Platform after getting the Vote. If it is not valid, it is not added. If it is valid it is taken as a valid vote. The verifier authority in the Voting Platform checks the credential of the voter and take care of it. This proposed voting scheme is secure since it satisfies eligibility, privacy, fairness, robustness, individual verifiability and universal verifiability. Any Participant or passive observer finally can check whether these calculations are correct. The voter can see whether his vote is valid or not and do one more time if wrong.</p><p>Since it is entered in the Voting <xref ref-type="table" rid="table">Table </xref>the voter can verify that his vote is considered or not. But all votes remain secret. Only eligible voters are allowed to cast votes. The Proposed scheme has more security than the traditional voting scheme.</p><fig id="fig1"  position="float"><label><xref ref-type="fig" rid="fig1">Figure 1</xref></label><caption><title> Flow chart of proposed system</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/33-7600964x23.png"/></fig><p>The operation can be performed on the underlying messages without revealing them [<xref ref-type="bibr" rid="scirp.69965-ref10">10</xref>] . For Election scheme additive encryption is most useful. Voting applications may use additive homomorphism to allow tallying to be done before decryption. With other forms of encryption, all the ballots are dissociated from their identifying pieces of information and then decrypted and tallied. If homomorphic encryption is used, the tallying can be done while the votes are still encrypted, and the final total can then be decrypted. This effectively hides the contents of the original ballots while providing a publicly computable tally. Basically a value is set to represent a particular candidate. If there are two candidates, then the summation gives the winner candidate. By comparing the resultant value and the present value the winning candidate is announced. A Unique identifier is used for each voter to avoid multiple voting. Paillier is additively homomorphic and computationally efficient to decrypt. One of the main advantages of Paillier encryption is that it is an additively homomorphic scheme [<xref ref-type="bibr" rid="scirp.69965-ref13">13</xref>] .</p><p>Algorithm 1: Paillier Encryption Algorithm-Additive Homomorphic Algorithm</p><p>Step 1: Select two large primes, p and q.</p><p>Step 2: Calculate the product n = p &#215; q, such that gcd(n, Φ(n)) = 1,where Φ(n) is Euler Function.</p><p>Step 3: Choose a random number g, where g has order multiple of n or</p><disp-formula id="scirp.69965-formula549"><graphic  xlink:href="http://html.scirp.org/file/33-7600964x24.png"  xlink:type="simple"/></disp-formula><p>where <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/33-7600964x25.png" xlink:type="simple"/></inline-formula> and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/33-7600964x25.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/33-7600964x26.png" xlink:type="simple"/></inline-formula></p><p>Step 4: The public key is composed of (g, n), while the private key is Composed of (p,q, λ). <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/33-7600964x27.png" xlink:type="simple"/></inline-formula></p><p>Step 5: The Encryption of a message M&lt; n is given by C = g<sup>M</sup>r<sup>n</sup> mod n<sup>2</sup></p><p>Step 6: The Decryption of cipher text C is given by:</p><disp-formula id="scirp.69965-formula550"><label>(7)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/33-7600964x28.png"  xlink:type="simple"/></disp-formula><p>Choose some M<sub>1</sub>, M<sub>2</sub> ∈ Z<sub>n</sub> and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/33-7600964x29.png" xlink:type="simple"/></inline-formula></p><p>Let C<sub>1</sub> = E[M<sub>1</sub>, r<sub>1</sub>], C<sub>2</sub> = E[M<sub>2</sub>, r<sub>2</sub>],</p><disp-formula id="scirp.69965-formula551"><label>(8)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/33-7600964x30.png"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.69965-formula552"><label>(9)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/33-7600964x31.png"  xlink:type="simple"/></disp-formula><p>Let<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/33-7600964x32.png" xlink:type="simple"/></inline-formula>,<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/33-7600964x32.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/33-7600964x33.png" xlink:type="simple"/></inline-formula>.</p><disp-formula id="scirp.69965-formula553"><label>(10)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/33-7600964x34.png"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.69965-formula554"><label>(11)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/33-7600964x35.png"  xlink:type="simple"/></disp-formula><p>It is a valid encryption of M<sub>1</sub> + M<sub>2</sub>,</p><disp-formula id="scirp.69965-formula555"><label>(12)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/33-7600964x36.png"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.69965-formula556"><label>(13)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/33-7600964x37.png"  xlink:type="simple"/></disp-formula><p>It satisfies the Additive Homomorphic property</p><disp-formula id="scirp.69965-formula557"><label>(14)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/33-7600964x38.png"  xlink:type="simple"/></disp-formula><p>Evaluation of compression on the resultant cipher texts is Data packing. Hence the compression technique can be evaluated on the output cipher texts, after all applications of the Evaluate algorithm have been completed.</p></sec><sec id="s4"><title>4. Existing System</title><p>In the existing voting System (shown in <xref ref-type="fig" rid="fig2">Figure 2</xref>) Symmetric key encryption scheme using a private key (K). The Database which receives the voting interface data used the Key K for encryption. It is less secure than our system. The length and strength of the Cryptography keys are considered important. The keys used for encryption and decryption must be strong enough to produce strong encryption. They must be protected from unauthorized users and must be available when they are needed [<xref ref-type="bibr" rid="scirp.69965-ref14">14</xref>] .</p></sec><sec id="s5"><title>5. Proposed System</title><p><xref ref-type="table" rid="table">Table </xref>1 denotes the List of Votes and its value. CMK value is 10<sup>0</sup>, BMK is 10<sup>1</sup> and so on.</p><p><xref ref-type="table" rid="table">Table </xref>2 has both the vote and encrypted value of the vote. The three steps of our proposed system [<xref ref-type="fig" rid="fig3">Figure 3</xref>] are: The system access control process that is to authenticate the voter to the election server, the voting process, and collecting data process. The Proposed system uses the Public Key encryption technique for encryption. In <xref ref-type="fig" rid="fig2">Figure 2</xref> the system uses Private Key (SK1) and Public Key (PK1) pair. The Database which gets information from the Voting interface uses the Key pair for encryption. Since it uses the Public key encryption schemes it is more secure. Once again, it is encrypted with the next Public Key encryption pair (PK2, SK2) and (PK3, SK3) [<xref ref-type="bibr" rid="scirp.69965-ref15">15</xref>] .</p><fig id="fig2"  position="float"><label><xref ref-type="fig" rid="fig2">Figure 2</xref></label><caption><title> Existing encryption scheme</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/33-7600964x39.png"/></fig><table-wrap id="table1" ><label><xref ref-type="table" rid="table">Table </xref>1</label><caption><title> Voters list</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >VOTERS NAME</th><th align="center" valign="middle" >Message M</th><th align="center" valign="middle" >CMK (10<sup>0</sup>)</th><th align="center" valign="middle" >BMK (10<sup>1</sup>)</th><th align="center" valign="middle" >AMK (10<sup>2</sup>)</th><th align="center" valign="middle" >DMK (10<sup>3</sup>)</th><th align="center" valign="middle" >EMK (10<sup>4</sup>)</th></tr></thead><tr><td align="center" valign="middle" >A</td><td align="center" valign="middle" >M = 10<sup>0</sup> = 1</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" >*</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >B</td><td align="center" valign="middle" >M = 10<sup>3</sup> = 1000</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" >*</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >C</td><td align="center" valign="middle" >M = 10<sup>1</sup> = 10</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >*</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >D</td><td align="center" valign="middle" >M = 10<sup>0</sup> = 1</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" >*</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >E</td><td align="center" valign="middle" >M = 10<sup>2</sup> = 100</td><td align="center" valign="middle" >*</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >R</td><td align="center" valign="middle" >M = 10<sup>4</sup> = 10,000</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" >*</td></tr><tr><td align="center" valign="middle" ></td><td align="center" valign="middle" >TOTAL = 11,211</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >1</td></tr></tbody></table></table-wrap><fig id="fig3"  position="float"><label><xref ref-type="fig" rid="fig3">Figure 3</xref></label><caption><title> Proposed system of Electronic voting</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/33-7600964x40.png"/></fig><table-wrap id="table2" ><label><xref ref-type="table" rid="table">Table </xref>2</label><caption><title> Vote values vs encrypted value</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >VOTER NAME</th><th align="center" valign="middle" >MESSAGE (M)</th><th align="center" valign="middle" >RANDOM VALUE r</th><th align="center" valign="middle" >ENCRYPTED VALUE C</th></tr></thead><tr><td align="center" valign="middle" >ANBU</td><td align="center" valign="middle" >M = 10<sup>0</sup> = 1</td><td align="center" valign="middle" >660,820</td><td align="center" valign="middle" >818,466,297,129</td></tr><tr><td align="center" valign="middle" >BALA</td><td align="center" valign="middle" >M = 10<sup>3</sup> = 1000</td><td align="center" valign="middle" >468,581</td><td align="center" valign="middle" >2,439,962,883,397</td></tr><tr><td align="center" valign="middle" >CITRA</td><td align="center" valign="middle" >M = 10<sup>1</sup> = 10</td><td align="center" valign="middle" >387,219</td><td align="center" valign="middle" >2,286,056,462,773</td></tr><tr><td align="center" valign="middle" >DEVI</td><td align="center" valign="middle" >M = 10<sup>2</sup> = 100</td><td align="center" valign="middle" >35,116</td><td align="center" valign="middle" >2,732,935,861,399</td></tr><tr><td align="center" valign="middle" >ESWAR</td><td align="center" valign="middle" >M = 10<sup>2</sup> = 100</td><td align="center" valign="middle" >948,382</td><td align="center" valign="middle" >1,145,696,910,521</td></tr><tr><td align="center" valign="middle" >RAVI</td><td align="center" valign="middle" >M = 10<sup>4</sup> = 10,000</td><td align="center" valign="middle" >337,224</td><td align="center" valign="middle" >1,787,008,921,297</td></tr></tbody></table></table-wrap><p>Z<sub>n</sub>―Set of integers n;</p><p><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/33-7600964x41.png" xlink:type="simple"/></inline-formula>―Set of integers coprime to n;</p><p>Z<sub>n</sub><sub> </sub>2<sup>*</sup>―Set of integers coprime to n<sup>2</sup>;</p><p>N<sub>v</sub>―Number of Voters;</p><p>N<sub>c</sub>―Number of Candidates.</p><p>Vote is in numeric form and it gets encrypted using Paillier encryption. Each encryption needs a random number, so that same vote will be encrypted in different ways [<xref ref-type="bibr" rid="scirp.69965-ref17">17</xref>] .</p><p>Vote messages considered are,</p><p>1<sup>st</sup> Candidate: 10<sup>0</sup>.</p><p>2<sup>nd</sup> Candidate: 10<sup>1</sup>.<sup> </sup></p><p>N<sub>c</sub> th Candidate: 10<sup>Nc−1</sup>.<sup> </sup></p><p>Only authorized people can vote in our system. The authorities calculate the encrypted vote, which is the product of all encrypted votes modulo n<sup>2</sup>. The Voter interface with unique identifier checks and allows only the authorized voter can vote. Replacing a vote is also not allowed in our system. In cryptographic algorithm the procedures of Key generation, Encryption and Decryption is used. It also provides zero knowledge proofs that the contents of the encrypted vote check for the validity [<xref ref-type="bibr" rid="scirp.69965-ref16">16</xref>] . After voting has closed, the voting authorities use the Encryption Schemes. Then it is sent to the Main Database called the Central Voting Database.</p><p>Encryption</p><disp-formula id="scirp.69965-formula558"><label>(15)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/33-7600964x42.png"  xlink:type="simple"/></disp-formula><p>E(M<sub>1</sub>) = C<sub>1</sub> = 818466297129, E(M<sub>2</sub>) = C<sub>2</sub> = 2439962883397, E(M<sub>3</sub>) = C<sub>3</sub> = 2286056462773</p><p>E(M<sub>4</sub>) = C<sub>4</sub> = 2732935861399, E(M<sub>5</sub>) = C<sub>5</sub> = 1145696910521, E(M<sub>6</sub>) = C<sub>6</sub> = 1787008921297</p><p>Decryption</p><p><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/33-7600964x43.png" xlink:type="simple"/></inline-formula>, λ = 833228, n = 1669039, D(C<sub>1</sub>) = 1, D(C<sub>2</sub>) = 1000, D(C<sub>3</sub>) = 10, D(C<sub>4</sub>) = 100, D(C<sub>5</sub>) = 100, D(C<sub>6</sub>) = 1000</p><p>Winner Candidate</p><disp-formula id="scirp.69965-formula559"><label>(16)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/33-7600964x44.png"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.69965-formula560"><graphic  xlink:href="http://html.scirp.org/file/33-7600964x45.png"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.69965-formula561"><label>(17)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/33-7600964x46.png"  xlink:type="simple"/></disp-formula><p>The winner candidate is 2 &#215; 10<sup>2</sup> = AMK. <xref ref-type="table" rid="table">Table </xref>1 shows the List of Votes given by the voters. <xref ref-type="table" rid="table">Table </xref>2 shows Voters value and its Encrypted Values. This verifies the sum of all plain votes is equivalent to the encrypted value of all the votes [<xref ref-type="bibr" rid="scirp.69965-ref17">17</xref>] . The Voters select a certain winner from the candidate list. Each and every vote of the voter is encrypted. Finally, some talliers count the votes and declare the voting result. E(M) encrypts the Message M, D(C) decrypts the Ciphertext. In this system, tallying is performed without revealing any vote. It also uses the Data packing technique to make the encrypted data to be compressed. So it occupies minimum space than the earlier one. Any hacker who tries to access the voter database data cannot easily find the Key Pairs. Three pairs of keys are used for decryption. After Unpacking the database, it is decrypted to see the Winner Candidate List [<xref ref-type="bibr" rid="scirp.69965-ref17">17</xref>] .</p></sec><sec id="s6"><title>6. Benefits of the Proposed System</title><p>The following are the benefits of the Proposed System:</p><p>1. It has the homomorphic property which is useful for voting. It is semantically secure.</p><p>2. It is more efficient than others E-Voting system. It allows the voter to vote for his/her own personal computer (PC) without any extra cost and effort.</p><p>3. Voters feel confident that their votes are counted.</p><p>4. It is very simple to use, hence it needs only the basic requirements such as; PC, internet connection and a valid roof.</p></sec><sec id="s7"><title>7. Experiments and Analysis</title><p><xref ref-type="table" rid="table">Table </xref>3 shows the speed of Encryption on Paillier and Elgamal algorithms. It is noted in seconds. When compared to Elgamal encryption, Paillier is somewhat very faster. When the Key size increased the seconds are also increased.</p><p><xref ref-type="table" rid="table">Table </xref>4 shows the various key sizes of Paillier and Elgamal.</p><p>This shows the symmetric and asymmetric key size comparison.</p><p>In Proposed system the Existing system is revised. The encrypted Voters DB is given to the Central machine by doing Compression. So it is more secured and Compact one. Then it is decrypted to get the Winner Candidate. <xref ref-type="table" rid="table">Table </xref>3 specifies the various Key sizes for the Symmetric and Asymmetric encryption for the proposed work of</p><p>the Homomorphic election scheme. <xref ref-type="table" rid="table">Table </xref>4 denotes the various Keys used in the Algorithm and the time to do the encryption in its scheme. <xref ref-type="fig" rid="fig4">Figure 4</xref> shows the Security performance of Symmetric and Asymmetric Encryption algorithms with varying key sizes.</p><p><xref ref-type="fig" rid="fig5">Figure 5</xref> shows the time taken for Addition and Multiplication for various Key Sizes. When compared to Elgamal the Paillier encryption is faster. In the existing system, it gets the votes from the voting platform and it stores in the database [<xref ref-type="bibr" rid="scirp.69965-ref18">18</xref>] . That database is encrypted using the Key. Then it is transferred to the Central Machine Database. The central Machine database is decrypted to get the Winner Candidates List. When the size of the Voter list is very high, then Paillier method is very much useful.</p><fig id="fig4"  position="float"><label><xref ref-type="fig" rid="fig4">Figure 4</xref></label><caption><title> Security performance vs key size of symmetric and asymmetric encryption</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/33-7600964x47.png"/></fig><fig id="fig5"  position="float"><label><xref ref-type="fig" rid="fig5">Figure 5</xref></label><caption><title> Encryption time of paillier vs elgamal</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/33-7600964x48.png"/></fig><table-wrap id="table3" ><label><xref ref-type="table" rid="table">Table </xref>3</label><caption><title> Paillier and elgamal encryption time</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Key</th><th align="center" valign="middle" >Paillier Encryption(sec)</th><th align="center" valign="middle" >Elgamal Encryption(sec)</th></tr></thead><tr><td align="center" valign="middle" >256</td><td align="center" valign="middle" >0.7</td><td align="center" valign="middle" >39</td></tr><tr><td align="center" valign="middle" >512</td><td align="center" valign="middle" >0.7</td><td align="center" valign="middle" >38</td></tr><tr><td align="center" valign="middle" >1024</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >41</td></tr><tr><td align="center" valign="middle" >2048</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >41</td></tr><tr><td align="center" valign="middle" >4096</td><td align="center" valign="middle" >1.2</td><td align="center" valign="middle" >42</td></tr><tr><td align="center" valign="middle" >8192</td><td align="center" valign="middle" >1.5</td><td align="center" valign="middle" >42</td></tr><tr><td align="center" valign="middle" >16384</td><td align="center" valign="middle" >1.5</td><td align="center" valign="middle" >50</td></tr><tr><td align="center" valign="middle" >32768</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >100</td></tr><tr><td align="center" valign="middle" >65536</td><td align="center" valign="middle" >2.9</td><td align="center" valign="middle" >177</td></tr></tbody></table></table-wrap><table-wrap id="table4" ><label><xref ref-type="table" rid="table">Table </xref>4</label><caption><title> Various key sizes for encryption</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Key Size (Symmetric) bits</th><th align="center" valign="middle" >Key Size (Asymmetric) (bits)</th></tr></thead><tr><td align="center" valign="middle" >80</td><td align="center" valign="middle" >1024</td></tr><tr><td align="center" valign="middle" >112</td><td align="center" valign="middle" >2048</td></tr><tr><td align="center" valign="middle" >128</td><td align="center" valign="middle" >3072</td></tr><tr><td align="center" valign="middle" >192</td><td align="center" valign="middle" >7680</td></tr><tr><td align="center" valign="middle" >256</td><td align="center" valign="middle" >15,360</td></tr></tbody></table></table-wrap></sec><sec id="s8"><title>8. Applications of Homomorphic Encryption</title><p>The cloud has more storage capabilities and computing power. A major application of FHE is to cloud computing [<xref ref-type="bibr" rid="scirp.69965-ref13">13</xref>] . One solution for providing secure cloud computing on untrusted public clouds is the use of homomorphic encryption: a method of encryption which allows computations on encrypted data, without the need to fully decrypt the data on the cloud. The technique of homomorphic encryption also lends itself to other important cryptographic applications such as multi-party computation [<xref ref-type="bibr" rid="scirp.69965-ref15">15</xref>] . Solutions of Homomorphic encryption dedicated to numerous application contexts like secret sharing schemes, threshold schemes, zero-knowledge proofs, oblivious transfer commitment schemes, anonymity, privacy, electronic voting, electronic auctions, lottery protocols, protection of mobile agents, multiparty computation, mix-nets, watermarking or finger printing protocols and so forth.</p></sec><sec id="s9"><title>9. Conclusion</title><p>We demonstrated the use of Paillier homomorphic encryption in the Electronic Voting scheme. The RSA, Elgamal public key cryptosystem which exhibit multiplicative homomorphic property cannot be used in electronic voting. Furthermore, we compared symmetric key encryption and Asymmetric key encryption for electronic voting and compared their key sizes [<xref ref-type="bibr" rid="scirp.69965-ref19">19</xref>] . Our work demonstrates the homomorphic encryption schemes which are faster than other encryption methods. We also made use of data packing techniques to efficiently store data in electronic voting. So the combination of homomorphic encryption using Paillier cryptosystem and data packing can significantly improve the storage and processing performance in the electronic voting scheme.</p></sec><sec id="s10"><title>Cite this paper</title><p>Kannan Balasubramanian,M. Jayanthi, (2016) A Homomorphic Crypto System for Electronic Election Schemes. Circuits and Systems,07,3193-3203. doi: 10.4236/cs.2016.710272</p></sec></body><back><ref-list><title>References</title><ref id="scirp.69965-ref1"><label>1</label><mixed-citation publication-type="other" xlink:type="simple">Fontaine and Galand (2009) A Survey of Homomorphic Encryption for Nonspecialists Journal of Information Security.</mixed-citation></ref><ref id="scirp.69965-ref2"><label>2</label><mixed-citation publication-type="other" xlink:type="simple">Colin, A.R.B. (2004) Multiplicative Homomorphic E-Voting. Progress in Cryptology-INDOCRYPT 5th International Conference on Cryptology in India, 20-22.</mixed-citation></ref><ref id="scirp.69965-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">Bellare, M. and O’Neill, A. (2013) Semantically-Secure, Functional Encryption: Possibility Results, Impossibility Results and the Quest for a General Definition. Cryptology and Network Security, 218-234. http://dx.doi.org/10.1007/978-3-319-02937-5_12</mixed-citation></ref><ref id="scirp.69965-ref4"><label>4</label><mixed-citation publication-type="other" xlink:type="simple">Boneh, D., Goh, E. and Nissim, K. (2005) Evaluating 2-DNF Formulas on Cipher Texts. Theory of Cryptography Conference, TCC’2005, Lecture Notes in Computer Science, 325-341.</mixed-citation></ref><ref id="scirp.69965-ref5"><label>5</label><mixed-citation publication-type="other" xlink:type="simple">Boneh, D. and Lewi, K. (2015) Key Homomorphic PRFs and Their Applications. IACR Cryptology ePrint Archive, 220.</mixed-citation></ref><ref id="scirp.69965-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">Garg, S., Gentry, C., Halevi, S. and Zhandry, M. (2014) Fully Secure Attribute Based Encryption from Multilinear Maps. Cryptology ePrint Archive, Report. http://print.iacr.org/2014/622</mixed-citation></ref><ref id="scirp.69965-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">Hayes, B. (2012) Alice and Bob in Cipher Space American Scientist. http://www.americanscientist.org/issues/pub/2012/5/</mixed-citation></ref><ref id="scirp.69965-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">Katz, J. and Thiruvengadam, A. (2015) Feasibility&amp; Infeasibility of Adaptively Secure Fully Homomorphic Encryption. IACR Cryptology ePrint Archive, 280.</mixed-citation></ref><ref id="scirp.69965-ref9"><label>9</label><mixed-citation publication-type="other" xlink:type="simple">Aguilar, M.C., et al. (2011) Improving Additive and Multiplicative Homomorphic Encryption Schemes Based on Worst- Case Hardness Assumptions. IACR Cryptology ePrint Archive, 607.</mixed-citation></ref><ref id="scirp.69965-ref10"><label>10</label><mixed-citation publication-type="other" xlink:type="simple">Schoenmaker, B. and Tuyls, P. (2006) Efficient Binary Conversion for Paillier Encrypted Values. Advances in Cryptology-EUROCRYPT’06, Springer, Berlin, 522-537.</mixed-citation></ref><ref id="scirp.69965-ref11"><label>11</label><mixed-citation publication-type="other" xlink:type="simple">Qiong, S.M. and Zhang, M.W. (2015) Efficient Public Key Encryption with Equality Test Supporting Flexible Authorization. IEEE Transactions on Information Forensics and Security, 10.</mixed-citation></ref><ref id="scirp.69965-ref12"><label>12</label><mixed-citation publication-type="other" xlink:type="simple">Martenvan Dijk, S.D. (2015) Onion ORAM: A Constant Bandwidth and Constant Client Storage ORAM (without FHE or SWHE) IACR Cryptology ePrint Archive.</mixed-citation></ref><ref id="scirp.69965-ref13"><label>13</label><mixed-citation publication-type="other" xlink:type="simple">Ravindran, S. and Kalpana, P. (2013) Data Storage Security Using Partially Homomorphic Encryption in a Cloud. International Journal of Advanced Research in Computer Science and Software Engineering, 3, 603-606.</mixed-citation></ref><ref id="scirp.69965-ref14"><label>14</label><mixed-citation publication-type="other" xlink:type="simple">Han, W.W. (2014) A Provably Secure Public Key Encryption Scheme Based on Isogeny Star. The International Arab Journal of Information Technology.</mixed-citation></ref><ref id="scirp.69965-ref15"><label>15</label><mixed-citation publication-type="other" xlink:type="simple">Jing, Y., Fan, M.Y., Wang, G.W. and Kong, Z.Y. (2014) Simulation Study Based on Somewhat Homomorphic Encryption. Journal of Computer and Communications.</mixed-citation></ref><ref id="scirp.69965-ref16"><label>16</label><mixed-citation publication-type="other" xlink:type="simple">Naresh, V.S. and Murthy, N.V.E.S. (2015) A New Two-Round Dynamic Authenticated Contributory Group Key Agreement Protocol Using Elliptic Curve Diffie-Hellman with Privacy Preserving Public Key Infrastructure. Sadhana, 40, 2143-2161.</mixed-citation></ref><ref id="scirp.69965-ref17"><label>17</label><mixed-citation publication-type="other" xlink:type="simple">(2011) HSR Hochschule fur Technik Rapperswil Homomorphic Tallying with Paillier Cryptosystem. Publicationes Mathematicae Debrecen, 479-496.</mixed-citation></ref><ref id="scirp.69965-ref18"><label>18</label><mixed-citation publication-type="other" xlink:type="simple">Damgard, I., Jurik, M. and Nielson, J. (2010) A Generalization of Paillier’s Public Key System with Applications to Electronic Voting. International Journal of Information Security, 9, 371-385. http://dx.doi.org/10.1007/s10207-010-0119-9</mixed-citation></ref><ref id="scirp.69965-ref19"><label>19</label><mixed-citation publication-type="other" xlink:type="simple">Goldwasser, S. and Micali, S. (1984) Probabilistic Encryption. Journal of Computer and System Sciences, 28, 270-299. http://dx.doi.org/10.1016/0022-0000(84)90070-9</mixed-citation></ref></ref-list></back></article>