^{1}

^{1}

^{*}

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.

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.

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.

The introduction of Homomorphic encryption schemes was done by Rivest, Adleman and Dertouzos in [

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 [

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

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.

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 [

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.

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 [

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

text that encrypts

puted. No information about

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.

It has two properties, namely Additive Homomorphic encryption and Multiplicative Homomorphic encryption.

Z_{n }denote the set of nonnegative integers less than n.

It is Additive [

The following property illustrates multiplicative homomorphism.

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.

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.

Implementation of Homomorphism and Data PackingSecure 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_{1}, M_{2} are the two messages. E (M) is the encryption of message m under encryption scheme [

Electronic Voting Phase Flow Chart

The Flow Chart (^{2} workspace. When it is applied once again it works on Z^{4} workspace.

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 [

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.

Since it is entered in the Voting

The operation can be performed on the underlying messages without revealing them [

Algorithm 1: Paillier Encryption Algorithm-Additive Homomorphic Algorithm

Step 1: Select two large primes, p and q.

Step 2: Calculate the product n = p × q, such that gcd(n, Φ(n)) = 1,where Φ(n) is Euler Function.

Step 3: Choose a random number g, where g has order multiple of n or

where

Step 4: The public key is composed of (g, n), while the private key is Composed of (p,q, λ).

Step 5: The Encryption of a message M< n is given by C = g^{M}r^{n} mod n^{2}

Step 6: The Decryption of cipher text C is given by:

Choose some M_{1}, M_{2} ∈ Z_{n} and

Let C_{1} = E[M_{1}, r_{1}], C_{2} = E[M_{2}, r_{2}],

Let

It is a valid encryption of M_{1} + M_{2},

It satisfies the Additive Homomorphic property

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.

In the existing voting System (shown in

^{0}, BMK is 10^{1} and so on.

VOTERS NAME | Message M | CMK (10^{0}) | BMK (10^{1}) | AMK (10^{2}) | DMK (10^{3}) | EMK (10^{4}) |
---|---|---|---|---|---|---|

A | M = 10^{0} = 1 | * | ||||

B | M = 10^{3} = 1000 | * | ||||

C | M = 10^{1} = 10 | * | ||||

D | M = 10^{0} = 1 | * | ||||

E | M = 10^{2} = 100 | * | ||||

R | M = 10^{4} = 10,000 | * | ||||

TOTAL = 11,211 | 1 | 1 | 2 | 1 | 1 |

VOTER NAME | MESSAGE (M) | RANDOM VALUE r | ENCRYPTED VALUE C |
---|---|---|---|

ANBU | M = 10^{0} = 1 | 660,820 | 818,466,297,129 |

BALA | M = 10^{3} = 1000 | 468,581 | 2,439,962,883,397 |

CITRA | M = 10^{1} = 10 | 387,219 | 2,286,056,462,773 |

DEVI | M = 10^{2} = 100 | 35,116 | 2,732,935,861,399 |

ESWAR | M = 10^{2} = 100 | 948,382 | 1,145,696,910,521 |

RAVI | M = 10^{4} = 10,000 | 337,224 | 1,787,008,921,297 |

Z_{n}―Set of integers n;

Z_{n}_{ }2^{*}―Set of integers coprime to n^{2};

N_{v}―Number of Voters;

N_{c}―Number of Candidates.

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 [

Vote messages considered are,

1^{st} Candidate: 10^{0}.

2^{nd} Candidate: 10^{1}.^{ }

N_{c} th Candidate: 10^{Nc−1}.^{ }

Only authorized people can vote in our system. The authorities calculate the encrypted vote, which is the product of all encrypted votes modulo n^{2}. 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 [

Encryption

E(M_{1}) = C_{1} = 818466297129, E(M_{2}) = C_{2} = 2439962883397, E(M_{3}) = C_{3} = 2286056462773

E(M_{4}) = C_{4} = 2732935861399, E(M_{5}) = C_{5} = 1145696910521, E(M_{6}) = C_{6} = 1787008921297

Decryption

_{1}) = 1, D(C_{2}) = 1000, D(C_{3}) = 10, D(C_{4}) = 100, D(C_{5}) = 100, D(C_{6}) = 1000

Winner Candidate

The winner candidate is 2 × 10^{2} = AMK.

The following are the benefits of the Proposed System:

1. It has the homomorphic property which is useful for voting. It is semantically secure.

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.

3. Voters feel confident that their votes are counted.

4. It is very simple to use, hence it needs only the basic requirements such as; PC, internet connection and a valid roof.

This shows the symmetric and asymmetric key size comparison.

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.

the Homomorphic election scheme.

Key | Paillier Encryption(sec) | Elgamal Encryption(sec) |
---|---|---|

256 | 0.7 | 39 |

512 | 0.7 | 38 |

1024 | 1 | 41 |

2048 | 1 | 41 |

4096 | 1.2 | 42 |

8192 | 1.5 | 42 |

16384 | 1.5 | 50 |

32768 | 2 | 100 |

65536 | 2.9 | 177 |

Key Size (Symmetric) bits | Key Size (Asymmetric) (bits) |
---|---|

80 | 1024 |

112 | 2048 |

128 | 3072 |

192 | 7680 |

256 | 15,360 |

The cloud has more storage capabilities and computing power. A major application of FHE is to cloud computing [

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 [

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