You are on page 1of 3

1

Blockchain centered Homomorphic Encryption:


A solution for E-balloting
First A. Author, Fellow, IEEE, Second B. Author, and Third C. Author, Jr., Member, IEEE

 voter is given the opportunity to generate signature for his


Abstract—There is a big question arising in the today’s votes so that verifier can verify whether the vote has been
world of increased technology. If we can bank online and received from authorized voter.
shop online, why we can’t vote online? Experts say, there
is no way to guarantee that the security, privacy, and B. HOMOMORPHIC ENCRYPTION
transparency requirements for elections can all be met Homomorphic encryption is a form of encryption that allows
with any practical technology in the foreseeable future. computation on cipher texts, generating an encrypted result
The attacks available for online voting are also available in which, when decrypted, matches the result of the operations as if
online banking and online shopping. But why it is more they had been performed on the plaintext. The purpose of
dangerous because, due to attacks in online voting system, homomorphic encryption is to allow computation on encrypted
a wrong individual may be selected or some correct votes data. Homomorphic encryption can be used to securely chain
can be rejected. The technical security, privacy, and together different services without exposing sensitive data. In this
transparency requirements for voting are structurally
paper, Partial Homomorphism is being used. The additive
different from e-commerce and are actually much more
property of ElGamal ECC is used for tallying the individual
stringent than those for e-commerce transactions. In
ballots without decrypting the ballots individually.
particular, the voting security and privacy requirements
are unique and in tension in a way that has no analog in C. BLOCK CHAIN
the e-commerce world. In this paper, a secure online
By the definition of Blockchain, ”The Blockchain is an
voting system is implemented using Elliptic Curve
incorruptible digital ledger of economic transactions that can be
Cryptosystem for encryption of votes and Homomorphic
programmed to record not just financial transactions but virtually
Encryption for tallying the results. Blockchain is the
everything of value.” By storing data across its network, the
trending security measure. So we use Blockchain to store
the encrypted ballots. Blockchain eliminates the risks that come with data being held
centrally. Here Blockchain is used to store the encrypted ballots
Index Terms— Blockchain, Homomorphic Encryption, so that no person can modify the ballot before tallying phase.
ElGamal ECC, E-Balloting, Online voting
II. RELATED WORK
In the paper [1], each vote is encrypted using ElGamal
I. INTRODUCTION cryptosystem. To satisfy additive homomorphic property they
The secure voting system is designed such that people can use exponential ElGamal cryptosystem. The system depends
open the website and cast their vote at any place and anytime upon honesty of authorities. At least one of the authority is
they want and also ensuring confidentiality of votes and required to be honest. The paper [2] suggests the enhanced
verification of integrity and validity of election results. version of the standard ElGamal encryption scheme which
supports multiplicative homomorphism and resists more the
A. ELGAMAL WITH ECC confidentiality attacks. Generator of the multiplicative group
is secured. Confidentiality of outsourced data into third party
Elliptic curve cryptography (ECC) is a public-key is ensured. No efficient algorithm can recover private key. It is
cryptography system which is based on discrete logarithms semantically secured. It loses main property of standard
structure of elliptic curves over finite fields. In ECC is used for ElGamal algorithms such as confidentiality of key exchange
authentication, key exchange and encryption of messages. ECC and digital signature. The paper [3] suggests a Secure Privacy
uses an elliptic curve over a finite field (P) of the form, Preserving Data Aggregation Scheme (SPPDA) which utilizes
y 2 = x3 + ax + b (mod P) the homomorphic property of the bilinear ElGamal
Elliptic ElGamal is less expensive in computation compared cryptosystem to perform privacy preserving secure
with AES and RSA. In RSA we need to generate a large prime computations and combine it with aggregate signature scheme,
number and in private key cryptosystems like AES and DES, enabling data authenticity, integrity in wireless Body Area
many rounds of computation is need to generate key and for Network. The homomorphic aggregation scheme proposed is
encryption. Hackers have already found a way to extract key more complex. Computation overhead is observed. The paper
in DES. Hence ECC was found to be advantageous. Also the [4] presents an optimized realization of an elliptic curve based
2

additive homomorphic encryption to be used in the TinyPEDS Each authority has a protected directory to store his public and
framework in WSN. The main optimization techniques private key. No authority is accessible to another authority’s
employed are pseudo-Mersenne prime reduction on the finite directory.
field level and the Interleave method and the signed MOF
representation for the point multiplication. The paper [5] 2) Voter Authentication and Authorization:
discusses the recording of voting result using Blockchain The voter who wants to participate in the election, must
algorithm from every place of election. By adopting enroll them-selves by submitting their Voter ID and other ID
Blockchain in the distribution of databases on e-voting proofs like Aadhaar card, etc., Once the Voter ID is verified, a
systems can reduce one of the cheating sources of database unique reference key is generated and sent to the voter which
manipulation. The use of hash values makes this system more can be used to login into the voting system at the time of
secure and the use of digital signature more reliable. election.

3) Key Generation of Authorities and Voters:


III. PROPOSED METHODOLOGY
Before the election starts, the five authorities must generate a
The overall architecture of an online voting system involves: pair of public and private keys (APK, ASK). These keys are
Initialization, Registration, Voting, Tallying and stored in the respective directory of the authorities. Then all
Announcement of results. Security must be included in these the authorities broadcast their public keys to compute the
phases so that the vote casted by the right voter is not ignored Cumulative Public Key (CPK). This CPK is published in the
and the right candidate is as the result of the election. Public Bulletin Board. This is the key generation phase of the
The entities involved in this system are five authorities, authorities. Once the election begins, the authenticated voters
candidates (Max. of 64), voters and a Public bulletin board. In generate a pair of public and private keys (VPK, VSK). The
this voting system, five authorities are required. Each having a key generation follows the ElGamal Key Generation scheme.
pair of public key and private key. All the authorities together The algorithm for Key Generation is,
generate a public key called the Cumulative Public Key
(CPK). We assume that at least one authority should be Algorithm 1: Key Generation of Elliptic ElGamal system
honest. Candidates can register them by giving their names 1 Input: A random number X
month prior the election. Our system can support up to 64 Output: Public Key and Secret Key Pair (PK, SK)
candidates. Voters can enroll themselves prior the election by Initialization;
submitting their Voter ID card and other proofs like Aadhaar 1) Select a number X such that 0<X<P-2
card. The authority validates the voter with the Voters List 2) Compute Y such that Y = X.P (ECC product)
Database and registers the voter for election. The Public 3) Return Y and X as PK and SK respectively.
Bulletin Board is a secured broadcast channel that is visible to
all the entities as well as outsiders. The authority posts the
CPK in the Public Bulletin Board. 4) Encrypted Vote Casting:
Each Voter after authentication and key generation selects one

Candidate from the list of candidates. The selected candidate


B. MODULAR DECOMPOSTION OF THE Figure 1. Overall Architecture
PROPOSED is encrypted using the CPK from the PBB and the voters own
METHODOLOGY secret key (VSK). The cipher texts are C1, C2. Here the cipher
This online voting system divided into six modules. They texts in the form of coordinates on the elliptic curve.
Encryption of the message m is done by, selection of a point
are,
Pm on the elliptic curve. P m is encrypted using the CPK of the
1) Combined Authority Authentication: authorities and secret key of the voter. The exponentiation in
The system consists of five Authorities. Each authority has ElGamal is replaced by ECC multiplication and multiplication
a unique Authority ID. He is authenticated to the system using in ElGamal is replaced by ECC addition. ECC addition and
One Time Pad which is sent to their mobile phone or e-mail. ECC multiplication is computationally expensive. But here we
3

use small prime number. Hence, reducing the overhead of the with ECC which is more secured compared to other
computation. The voter needs to generate signature for the cryptography and is also relatively less computation. In this
vote castes which will be verified by the authority to ensure paper the additive homomorphic property of ECC is used for
that the vote has been from authorized voter. While verifying computation of results and Blockchain for storing the
the signature the authority cannot decrypt the vote of encrypted ballots.
particular voter. He can only verify whether the vote has been
casted by authorized voter or not. The algorithm for V. REFERENCES
encryption of vote is given. [1] X. Yang, X. Yi, S. Nepal, A. Kelarev and F. Han, "A
Secure Verifiable Ranked Choice Online Voting System
Based on Homomorphic Encryption," in IEEE Access, vol.
6, pp. 20506-20519, 2018.
Algorithm 2 Encryption of Vote Mi by Voter Vi
[2] K. El Makkaoui, A. Beni-Hssane and A. Ezzati, "Cloud-
Input: Generator (G), Voter’s Secret Key (R), CPK, Vote M ElGamal: An efficient homomorphic encryption
Output: C1,C2 (cipher texts) scheme," 2016 International Conference on Wireless
Initialization; Networks and Mobile Communications (WINCOM), Fez,
1) Compute C1 = ECC.MUL(G,R) 2016, pp. 63-66.
2) Compute T = ECC.MUL(CPK,R) [3] A. Ara, M. Al-Rodhaan, Y. Tian and A. Al-Dhelaan, "A
3) Compute C2 = ECC.ADD(M,T) Secure Privacy-Preserving Data Aggregation Scheme Based
4) Return C1,C2 on Bilinear ElGamal Cryptosystem for Remote Health
Monitoring Systems," in IEEE Access, vol. 5, pp. 12601-
12617, 2017.
[4] R. Hanifatunnisa and B. Rahardjo, "Blockchain based e-
5) Vote Authentication using DSA voting recording system design," 2017 11th International
The signatures sent by the voters while casting the votes are Conference on Telecommunication Systems Services and
verified by a random authority. He verifies whether the vote is Applications (TSSA), Lombok, 2017, pp. 1-6.
casted by authorized voter or not. If the verification is found to [5] Fu Minfeng and Chen Wei, "Elliptic curve cryptosystem
be false then the vote is assumed to be a false vote and it is ElGamal encryption and transmission scheme," 2010
ignored. If the vote is verified to be true then the vote is International Conference on Computer Application and
accounted for tallying purpose. The authority also verifies System Modeling (ICCASM 2010), Taiyuan, 2010, pp. V6-
whether he particular voter has casted only one vote. If 51-V6-53.
multiple votes are detected then the vote is ignored.

Algorithm 3 Digital Signature Verification


Input: Generator (G), Voter’s Public Key (Y), S1, S2, Hash
(H), Order (N)
Output: True / False
Initialization;

1. Compute W = INVERSE(S2,N)
2. Compute V1 = H * W (mod N)
3. Compute V2 = S1 *W (mod N)
4. Compute T1 = ECC.MUL(G,V1)
5. Compute T2 = ECC.MUL(Y,V2)
6. Compute V = ECC.ADD(T1,T2)
7. IF V(mod N) == S1 THEN return
8. ELSE return false

6) Homomorphic Decryption for result computation


We use Homomorphic property of Elliptic ElGamal for
computing the results. ElGamal exhibits Partial
Homomorphism. Instead of decrypting each ballots
individually, the ballots are add and by decrypted using the
additive property of Elliptic Curve Cryptography, the results
are revealed. The voters can verify the results by checking the
Public Bulletin Board and verify whether their vote has been
modified or not.
IV. CONCLUSION
Thus we design a secure online voting system using block
chain. In this paper, the encryption algorithm used is ElGamal

You might also like