Research Article
Open Access
Secure Electronic Voting Application Based on
Face Recognition and Ciphering
Zinah J Mohammed Ameen*
Computer Engineering Department, University of Technology, Baghdad, Iraq
*Corresponding author: Zinah J Mohammed Ameen, Computer Engineering Department, University of Technology, Baghdad, Iraq, E-mail:
@
Received: July 26, 2018; Accepted: August 02, 2018; Published: August 10, 2018
Citation: Zinah JMA (2018) Secure Electronic Voting Application Based on Face Recognition and Ciphering. J Comp Sci Appl Inform Technol. 3(2): 1-11. DOI: 10.15226/2474-9257/3/2/00131
Abstract
Voting is the fundamental right for every nation. An Electronic
Voting (E-Voting) system is a voting system in which the election
process is notated, saved, stored and processed digitally, that makes
the voting management task better than traditional paper based
method. However, security remains the bottleneck of each system.
Therefore, the need of designing a secure e-voting system is very
important. This paper introduced a secure e-voting web application.
Depending on secure voter authentication using biometrics besides
steganography and cryptosystem. A local neighborhood intensity
pattern of feature descriptor method is used to identify the allowable
and authorized voters. RSA public key algorithm is proposed to
encrypt a voter choice, then based on a secret key dedicated to each
voter with the input voter instant image the encrypted data with RSA
algorithm is encrypted again before casting to the server using spread
spectrum steganography technique.
Keywords: LNIP recognition face; Web application; SSIS steganography;
Keywords: LNIP recognition face; Web application; SSIS steganography;
Introduction
Voting theory began formally in 18th century and many
proposals for voting systems have been made over since. There
have been several studies on using electronic technologies to
improve the process of voting. When designing an e-voting
system, it is essential to consider ways in which the voting tasks
are performed electronically without sacrificing voter privacy or
introducing opportunities for fraud [1]. Integrity of the voting
process is an important issue in the integrity of the democracy
itself. Therefore, the whole system of election must be secure
and robust against a variety of fraudulent behaviors [2]. There
is no measurement for agreeable security standard, because
the standard depends on type of the information. An agreeable
security level is always an adjustment between usability and
strength of the security method [3]. In the recent years, automated
method of recognizing a person is going to be more popular by
using biometric system. A biometric has shown an increasing
interest in many fields such as surveillances, human computer
interface and security identification. Biometric recognition is
an automated method of recognizing an individual by means of
comparing the feature vector derived from the behavioral and
the physiological distinctiveness such as finger print, iris, face
recognition etc. [4]. Face detection and recognition is becoming
increasingly important. There are multiple cues available and can
be used as features. Facial features are extracted and compared
using support vector machine classification algorithm [5]. Paper
layout is organized as follow section 2 briefly discusses the
previous similar work, section summarizes the secure e-voting
system, section 3 and 5 explains the proposed system design and
implementation. Finally conclusion is discussed in section 5.
Related work
Firas Hazzaa, et al. [1] proposed an e-voting system based on
fingerprint. This system is implemented using C#. Neha Gandhi
introduced an online voting system based on fingerprint then
encrypted the result using SHA 256 with MD5 [2]. Patil RH, et
al. [6] proposed a secure e-voting system using face recognition
and dactyl gram method. A. Geetha, et al. [7] implemented a
face recognition algorithm based on local derivate tetra pattern.
Matma Jain, et al. [8] introduced an adaptive circular queue image
steganography with RSA cryptosystem.
Secure E-voting System
E-voting application is a web based public voting system
deployed to make election process easy to use and speed
competent [6]. Objective behind the development of this system
is to simplify the process of organizing elections and make it
easy for voters to vote remotely from their home computers
or smart devices while taking into consideration better
security, anonymity and providing auditioning capabilities [3].
Problems like prohibited unauthorized election, incorrect use of
cryptography, vulnerabilities to network threat. E-voting system
is more susceptible to attacks such that voting results can be
easily manipulated, hence may result in fraud. To avoid that this
paper proposed the use of biometric face recognition in order
to authenticate the eligible voters then voters’ choice would be
encrypted twice first using cryptography methodology then with
steganography technique.
Facial Recognition
Biometrics is becoming a primary component of a personal
identification solution, since biometric identifiers cannot be
participated or misplaced, and they represent any individual’s
identity. Biometric recognition refers to the use of iris, fingerprint,
face palm and speech characteristics called biometric identifiers
[1]. In recent years, face recognition plays an important role in
intensive research. With the current discerned world security
situation, governments as well as private sector require
reliable methods to accurately identify individuals without
overlay contravene on rights to privacy or requiring significant
compliance on the part of the individual being recognized. A
number of techniques have been applied to face recognition and
they can be divided into two categories [7]:
• Geometric feature matching
• Template matching
The performance of face recognition techniques have increased severely. However, the robustness of face recognition needs enhancement. The results of most techniques are effected by circumferential changes, such as illumination deviations, expression disparity and pose variations [9].
Local Binary Pattern (LBP) is defined as a grayscale invariant texture measure; it is a useful tool to model texture images. LBP has shown excellent performance in many comparative studies, in terms of both speed and discrimination performance [10]. In this method, a small window of an image is considered and intensity difference between the center pixel and its N neighbors [11]. The original LBP manipulator labels the pixels of an image by thresholding the 3 × 3 neighborhood of each pixel with the value of the central pixel and concatenating the results to form a number. As illustrating in figure 1, obtaining an LBP micro pattern when the threshold is set to zero [10].
• Geometric feature matching
• Template matching
The performance of face recognition techniques have increased severely. However, the robustness of face recognition needs enhancement. The results of most techniques are effected by circumferential changes, such as illumination deviations, expression disparity and pose variations [9].
Local Binary Pattern (LBP) is defined as a grayscale invariant texture measure; it is a useful tool to model texture images. LBP has shown excellent performance in many comparative studies, in terms of both speed and discrimination performance [10]. In this method, a small window of an image is considered and intensity difference between the center pixel and its N neighbors [11]. The original LBP manipulator labels the pixels of an image by thresholding the 3 × 3 neighborhood of each pixel with the value of the central pixel and concatenating the results to form a number. As illustrating in figure 1, obtaining an LBP micro pattern when the threshold is set to zero [10].
Figure 1: LBP Basic Operator
LBP local pattern is calculated by comparing between the
centers symmetric pixels with neighboring pixels without taking
into consideration other relative intensity difference between
each pixel with other adjacent pixels other than the center one.
For these reason, an extension of an LBP is chosen for this paper,
Local Neighborhood Intensity Pattern (LNIP) that considers two
neighboring pixels for binary pattern calculation. LNIP considers
the radius of unit distance since closest neighboring pixels carries
more discriminating information for texture descriptors. Thus by
using a 3×3 window to calculate the binary pattern by exploring
the mutual information with respect to the adjacent neighbors.
Figure 2 defines the meaning of adjacent neighbors in a 3×3
window.
Figure 2: Explains the adjacent neighbor relation for each of the 8 neighbors (Zi i=1,2,…8) of ZC , Zi has 4 adjacent neighbors if i is even otherwise, Zi has only 2 adjacent neighbors for odd values of i.
For signed LNIPS, the sign of relative difference between one
of the 8 neighbors of the center pixel (ZC) and its corresponding
adjacent neighbors Zi. An N bit pattern with respect to Zi where N
is the number of element in Si. A binary pattern A1,i corresponding
to Zi using equation (1). Similarly, another binary pattern A2,i
of same size considering the same neighboring as in Si using
equation (2).
The single bit with respect to Zi is evaluated simply by
comparing the change in the structure of these two binary
patterns A1,i and A2,i. The structural change in the bit pattern is
calculated by taking bitwise XOR operation between these two
patterns. In order to calculate the information of total deviation
of these neighbors from a particular pixel (Zi) LNIPM is used.
Mi is the mean deviation about the ith neighbor of Zc from its
corresponding Si as indicated in equation (3) calculated for all the
8 neighboring pixels of Zc in a 3 × 3 window. Tc is the threshold
value calculated by taking the mean deviation of the neighbors Zi
about the center Zc as shown in equation (4). The final magnitude
pattern value corresponding to Zc is calculated using equation (5).
This enhancement step was necessary by making the
patterns more resistant to illumination changes and the mutual
relationship among the adjacent neighbors is well explored in this
pattern. Besides that, not only the sign of the intensity variation
between the central pixel and one of its neighbors Zi was taken
into account, but also the sign of variation values between Zi and
its adjacent neighbors along with the central pixels. Most of the
local patterns including premier LBP concentrate mainly on the
sign information ignoring the magnitude. The sign information
is more important for any binary pattern it cannot be removed
be as it plays a contributory role to supply complementary
information texture descriptor. Therefore, both sign pattern
LNIPS and magnitude pattern LNIPM poses complementary
information that gives superior performance as compared with
the original LBP [11].
Steganography and Cryptography
With the strong development of computing, large amounts of
media are continuously being downloaded and streamed across
the Internet. The variety of these media leads to difficulties in
analyzing normal and abnormal content. Also, as most processes
in the Internet are driven by humans, estimating behavior and
analyzing abnormality is a complicated process that may require
high computing power and sophisticated algorithms [12]. The
main purpose of Steganography, which means ‘writing in hiding’
is to hide data in a cover media so that others will not be able
to notice it. Mainly it is of three categories, (i) steganography in
image, (ii) steganography in audio, and (iii) steganography in
video [2]. In image steganography the confidential message is
concealed inside an image in such a way that the change in quality
of the image cannot be noticed. Image steganography techniques
can be classified into two major classes: spatial domain
techniques and frequency domain techniques. In spatial domain
techniques the confidential message is concealed inside the image
by applying some manipulation over the different pixels of the
image. In frequency domain techniques the image is converted to
another form by applying a transformation like discrete wavelet
transform and then the message is concealed by applying any
of the ordinary embedding techniques. The image in which a
confidential message concealed is called the stego-image. There
are different categories of spatial domain, (i) LSB steganography,
(ii) RGB based steganography, (iii) pixel value differencing
steganography, (iv) mapping based steganography, (v) palette
based steganography, (vi) collage based steganography, (vii)
spread spectrum steganography, (viii) code based steganography,
and (ix) others [13].
A steganography system is a quintuple ℘ =(C, M, K, DK, EK), where 𝐶 is the set of all coverings used in communication, 𝑀 is the set of all confidential messages that need to be transported using the coverings, 𝐾 the set of confidential keys, 𝐸𝐾: 𝐶 × 𝑀 × 𝐾 → 𝐶, and 𝐷𝐾: 𝐶 × 𝐾 → 𝑀 two functions, the embedding and the extraction functions respectively such that: 𝐷𝐾(𝐸𝐾(𝒄, 𝒎, 𝒌), 𝒌) = 𝒎 [12].
Spread Spectrum Image Steganography (SSIS) is an example of robust steganography algorithm since it can hold some amount of distortion before message wastage. The fundamental concept of SSIS is the embedding of the concealed information within noise, which is then added to the digital image. This noise is typical of the noise inherent to the image acquisition process and, if kept at low levels, is not perceptible to the human eye nor is susceptive to detection by computer analysis [12].
The encoding algorithm takes as input the steganography key, the input message, the cover image and the output is the stegoimage [13]. The major processes of the stegosystem encoder are sketched in figure 3.
As indicated in figure 3, the voter’ choice is first encrypted with RSA cryptosystem. The steps of RSA ciphering is summarizes as fellow:
i. Choose P and Q randomly, both should be a prime number.
ii. Calculate N = P × Q, ɸ(N) = (P-1)×(Q-1).
iii. Choose an integer E, such that GCD(ɸ(N),E) = 1, 1< E< ɸ(N).
iv. Calculate D, such that (D × E)% ɸ(N)=1
v. Public Key (E,N) and Private Key (D,N), public key is used for encryption while private key is used for decryption.
A steganography system is a quintuple ℘ =(C, M, K, DK, EK), where 𝐶 is the set of all coverings used in communication, 𝑀 is the set of all confidential messages that need to be transported using the coverings, 𝐾 the set of confidential keys, 𝐸𝐾: 𝐶 × 𝑀 × 𝐾 → 𝐶, and 𝐷𝐾: 𝐶 × 𝐾 → 𝑀 two functions, the embedding and the extraction functions respectively such that: 𝐷𝐾(𝐸𝐾(𝒄, 𝒎, 𝒌), 𝒌) = 𝒎 [12].
Spread Spectrum Image Steganography (SSIS) is an example of robust steganography algorithm since it can hold some amount of distortion before message wastage. The fundamental concept of SSIS is the embedding of the concealed information within noise, which is then added to the digital image. This noise is typical of the noise inherent to the image acquisition process and, if kept at low levels, is not perceptible to the human eye nor is susceptive to detection by computer analysis [12].
The encoding algorithm takes as input the steganography key, the input message, the cover image and the output is the stegoimage [13]. The major processes of the stegosystem encoder are sketched in figure 3.
As indicated in figure 3, the voter’ choice is first encrypted with RSA cryptosystem. The steps of RSA ciphering is summarizes as fellow:
i. Choose P and Q randomly, both should be a prime number.
ii. Calculate N = P × Q, ɸ(N) = (P-1)×(Q-1).
iii. Choose an integer E, such that GCD(ɸ(N),E) = 1, 1< E< ɸ(N).
iv. Calculate D, such that (D × E)% ɸ(N)=1
v. Public Key (E,N) and Private Key (D,N), public key is used for encryption while private key is used for decryption.
Figure 3: Stegosystem using SSIS
Proposed System Design
Figure 4 summarizes the use case diagram for the two main
personnel who are deal with this system. The main tasks for both
of them is shown in this figure, the administrator is responsible
for managing the whole voting process even registering people
who are allowed to vote. On the other hand, voters have only to
enter their voter’s ID number as written in their electoral card
besides capturing an instant image for authorization process.
Figure 5 and 6 describes the sequence diagrams for both system
administrator and voters
The authorization process applied in this system is based on face recognition. Face recognition steps summarize in figure 7.
The authorization process applied in this system is based on face recognition. Face recognition steps summarize in figure 7.
Figure 4: System Use Case Diagram
Figure 5: Administrator Sequence Diagram
Figure 6: Voter Sequence Diagram
Figure 7: Flow Diagram of Face Detection Methodology
Image retrieval from server database is implemented using
Local Neighborhood Intensity Pattern feature (LNIP). Five
distance equations are used to calculate image matching for both
the input voter’s instant image and the stored images, based on
those equations images with highest matching values are put at
the beginning in order to decide whether this person could vote
or not.
For integrity insurance of the whole process especially voting remotely, this secure e-voting system provides besides secure login, additional security issues represented by steganography and RSA ciphering. Figure (8) presents the ciphering method implemented in this system for safely casting voter’s choice. By encrypting his/her decision first with RSA algorithm then the input image of 512×512 pixels is used as a cover image with voter’s ID number as key. Spread Spectrum Image Steganography (SSIS) approach is applied to get the stego-image, at this step the stego-image is posted to the server.
For integrity insurance of the whole process especially voting remotely, this secure e-voting system provides besides secure login, additional security issues represented by steganography and RSA ciphering. Figure (8) presents the ciphering method implemented in this system for safely casting voter’s choice. By encrypting his/her decision first with RSA algorithm then the input image of 512×512 pixels is used as a cover image with voter’s ID number as key. Spread Spectrum Image Steganography (SSIS) approach is applied to get the stego-image, at this step the stego-image is posted to the server.
Proposed System Implementation
For implementing this system PHP version 5.6 is used with
SQL server version 5.2 for executing server side scripting side by
side with Matlab version 9.1 to implement face image processing
algorithm then encrypt the voter’s choice using RSA algorithm
and SSIS steganography approach.
Figure 8: Flow Diagram of ciphering voters’ choice Methodology
First the administrator login to set the system ready as
indicated in figure 9. Then if the electoral period is started, voters
would be able to access the application and make a choice as
indicated in figure 10. The eligible voters require an ID number
besides an instant image to verify their identity. An instant image
is capturing with limited size and clear Facial features as shown
in figure 11.
Figure 9: Administrator Login Stepogy
Figure 10: Voter Login
Figure 11: Voter’s instant image
In case if the entered ID number is correct and voter’s image
retrieved from server database, a voter ID card information
would be presented as indicated in figure 12.
Each eligible voter is allowed to vote only once, otherwise a message indicating that the person with this ID number had already been voted and is unable to vote again as shown in figure 13.
This system guaranteed the right if a voter chooses to repeal his ID number without making a choice as indicated in figure 14. A confirmation message is appeared in case a voter decided not to vote as shown in figure 15.
Otherwise, a voter can make a choice among the appeared electoral lists and their members then casting his/her choice as indicated in figure 16.
Each eligible voter is allowed to vote only once, otherwise a message indicating that the person with this ID number had already been voted and is unable to vote again as shown in figure 13.
This system guaranteed the right if a voter chooses to repeal his ID number without making a choice as indicated in figure 14. A confirmation message is appeared in case a voter decided not to vote as shown in figure 15.
Otherwise, a voter can make a choice among the appeared electoral lists and their members then casting his/her choice as indicated in figure 16.
Figure 12: Voter ID card Information
Figure 13: Election right is done once only
Figure 14: voting or repealing your voter ID number
Figure 15: Card Revocation Confirmation Message
Figure 16: Election lists with members
Conclusion
This paper discusses the designing and implementing of
a secure e-voting web application. Security is provided in two
approaches, first a voter’s authorization process is applied based
on (LNIP) method for face recognition besides his/her unique
voter ID number, otherwise he/she is deprived of the election
process. Secondly, and to ensure that voter’s choice is transferred
securely without altering, Cryptography and steganography
methodologies are used to introduce two levels of security. RSA
public key algorithm is applied to encrypt a voter’s choice to
provide confidently at the first level then, by using his/her instant
image as a cover image side by side with the Voter ID number
as a key to from a stego-image that will be sent to the server. If
any attack by a hacker or eavesdropping is happened, it would
be difficult to him to retrieve the original text especially within
the allowed electoral period. This system was experimented on
thirty persons; twenty-three were recognized and able to vote.
This system could be distributed to cover the whole country with
more servers and administrators.
ReferencesTop
- Hazzaa F, Kadry S. New System of E-Voting using Fingerprint. International Journal of Emerging Technology and Advanced Engineering. 2012;2(10):355-363.
- Neha G. Study on Security of Online Voting System using Biometrics and Steganography. International Journal of Computer Science and Communication. 2014;5(1):29-32.
- Alaguvel R, Gananavel G, Jagadhambal K. Biometrics using Electronic Voting System with Embedded Security. International Journal of Advanced Research in Computer Engineering and Technology. 2013;2(3):1065-1072.
- Mukesh DR, Bharat SB. Face Recognition using Local Patterns. International Journal on Recent and Innovation Trends in Computing and Communication. 2015;3(10):5884-5889.
- Annadate MN, Sunil Gandhi S, Nivita Ravi K, Pushkar Satish N. Online Voting System using Biometric Verification. International Journal of Advanced Research in Computer and Communication Engineering. 2017;6(4):276-281.
- Patil Rahul H, Tarte Babita B, Wadekar Sapana S, Zurunge Bahakti S, Phursule Rajesh. A Secure E-Voting System using Face Recognition and Dactylogram. International Engineering Research Journal. 2016;2(2):758-762.
- Geetha M, Mohamed S, Vetharaj YJ. Face Recognition based on Local Deivative Tera Pattern. Journal on Image and Video Processing. 2017;7(3):1393-1400.
- Mamta J, Saroj Kumar L, Sunil Kumar V. Adaptive Circular queue image Steganography with RSA cryptosystem. Perspectives in Science. 2016;8:417-420.
- Sharadamani D, Naga Raju C. Face Recognition using Gradient Derivative Local Binary Pattern. International Journal of Applied Engineering Research. 2017;12(7):1316-1323.
- Zhang B, Gao Y, Zhao S, Liu J. Local Derivative Pattern versus Local Binary Pattern: Face Recognition with High-Order Local Pattern Descriptor. IEEE Transactions on Image Processing. 2010;19(2):533-544.
- Prithaj B, Ayan Kumar B, Avirup B, Partha Pratim R, Subrahmny M. Local Neighborhood Intensity Pattern- A New texture Feature descriptor for image Retrieval. Expert Systems with Applications. 2018;113.
- Dragos D, Ioan-Mihail S, Emil S. Steganography Techniques. Excellence Research Grants Program, University of Politechnica of Bucharest. 2016.
- Nurhayati, Ahmad SS. Steganography for inserting message on digital image using least significant bit and AES cryptographic algorithm. IEEE International Conference on Cyber and IT Service Management. 2016.
- Padmasri B, Amutha Surabi M. Spread Spectrum Image Steganography with advanced encryption key Implementation. International Journal of Advanced Research in Computer Science and Software Engineering. 2013;3(3):713-720.