You are on page 1of 4

2011 Second International Conference on Emerging Applications of Information Technology

Online Voting System Powered By Biometric Security Using Steganography

Shivendra Katiyar, Kullai Reddy Meka, Ferdous A. Barbhuiya, Sukumar Nandi


Department of Computer Science and Engineering
Indian Institute of Technology Guwahati, India - 781039
{s.katiyar, kullai, ferdous, sukumar}@iitg.ernet.in

Abstract—Using Cryptography and Steganography at the in ability of voting from anywhere. That is why the actual
same time, we try to provide Biometric as well as Password notion of online voting is missing in those systems.
security to voter accounts. The scheme uses images as cover Rest of the paper is organized as follows. In the next sec-
objects for Steganography and as keys for Cryptography. The
key image is a Biometric measure, such as a fingerprint image. tion basic methodology is explained in subsections namely
Proper use of Cryptography greatly reduces the risks in these cover image creation, secret key expansion using hashing,
systems as the hackers have to find both secret key and the embedding algorithm, authentication algorithm and voter
template. The basic idea is to merge the secret key with the account maintenance. Analysis is done in section 3. Finally,
cover image on the basis of key image. The result of this process we conclude in the last section.
produces a stego image which looks quite similar to the cover
image but not detectable by human eye. The system targets II. P ROPOSED M ETHODOLOGY
the authentication requirement of a voting system. The algorithm uses image based steganographic and cryp-
Keywords-Online Voting, Steganography, Biometric. tographic system proposed in [7]. The Steganography part
is needed as we want to involve biometric identity to
I. I NTRODUCTION
provide added security. Mostly, Steganography uses images
Integrity of the election process will determine the in- as cover media because after digitalization images contain
tegrity of democracy itself. So the election system must be the quantization noise which provides space to embed data.
secure and robust against a variety of fraudulent behaviors, The general model of Steganography says if you want
should be transparent and comprehensible that voters and to send some secret message then choose a cover image,
candidates can accept the results of an election [3]. But in find its redundant bits and replace these bits with data bits
history, there are examples of elections being manipulated of message. The message can be easily extracted by doing
in order to influence their outcome. In a voting system, the same operations on the other end. Least significant bit
whether electronic or using traditional paper ballots, the insertion is a common approach to embed information in a
system should meet the following criteria: cover file given by [6]. This process overwrites the LSB of a
1. Anonymity: Anonymity of ballot should be preserved, pixel value with a message bit. If we choose a 24-bit image
both to guarantee the voters safety when voting against a as cover, we can easily store 3 bits in each pixel. Human
malevolent candidate and to guarantee that voter have no eye will not be able to find the difference in any case [4].
proof that proves which candidates received their votes. Unfortunately, this process of LSB modification changes
2. Tamper-resistant: The voting system must also be the statistical properties of the cover image, so eavesdroppers
tamper-proof to thwart a wide range of attacks, including can detect the distortions in the resulting stego image.
ballot stuffing by voters and incorrect tallying by insiders. This is quite viable that we cant embed anybodys personal
3. Human factors: A voting system must be comprehen- information in this manner. So what we can do is that,
sible and usable by the entire voting population, regardless we can encrypt the message before embedding, or we can
of age, infirmity or disability. perform steganography providing strong encryption at the
Other requirements of such a system could be viewed as same time. The method can easily work with still images as
authentication, scalability, speed and accuracy. Among these, it yields random outputs, in order to make steganalysis more
authentication can be viewed as the most critical issue. As difficult it can cipher the message in a more secure manner.
online voting is risky, it is difficult to come up with a system There are some pre-requisites to support such a system.
which is perfect in all senses. Once we are sure that a voter Firstly, each and every individual in the country should be
is genuine, we can easily address other issues like anonymity provided with a Personal Identification Number, such as
and tamper resistance. SSN (Social Security numbers) in some countries. This is
If other security is done well, electronic voting could be needed for maintenance of voter accounts in the database.
a great improvement over paper systems [3]. Flaws in any Secondly, we need Thumb Impressions (fingerprint images)
of these aspects of a voting system, however, can lead to of all the individuals. Thirdly, during the account creation
indecisive or incorrect election results. Some of the existing every individual will be provided with a system generated
solutions of computerized voting systems are explained by Secret key which he/she should not disclose to anybody.
Armen and Morelli [9] and highlighted their vulnerabilities. This will be needed to cast the vote.
They include Punch Card Systems, Global Election Man- Assuming all voter’s information in a country is securely
agement System (GEMS) and Direct Recording Electronic collected, biometric reader available for voting, the system
(DRE). As these systems are stand alone systems, they lack is online during the election period only, the methodology

978-0-7695-4329-1/11 $26.00 © 2011 IEEE 288


DOI 10.1109/EAIT.2011.70
is as follows. To cast a vote, a voter logs in to the system by be remembered by everybody. For explanation purpose we
entering the personal identification number and secret key. are assuming it to be a 4-digit number, similar to ATM PIN.
Along with this voter has to give the thumb impression on This 4-digit PIN can easily be represented using 2 bytes.
the fingerprint sensor. The system will generate the cover But 2 byte data looks very much vulnerable in terms of
image and embed the secret key into it according to the length. As we have to finally embed it into the image,
predefined procedure to generate the stego image. Now which is quite big. The cover image is a 24-bit image
this stego image will be sent securely to the server for where every pixel is represented using three bytes. So, we
voter authentication. Fingerprint forgery may be restricted by have 3 ∗ 216 byte data in total. Now hiding only 2 bytes
using advanced fingerprint readers which employ Ultrasonic in this much space will not fully exploit the resources in
and Capacitance. terms of cryptography. This is because the algorithm we
At the server side, it will use the Optical Character are using provides both cryptography and steganography at
Recognition technique to read the personal identification the same time. Steganography says its good as the statistical
number represented on the image. After reading it, the server properties of the cover image will remain intact due to under
will find out the details of that individual from the database. performed modification [8]. The eavesdroppers will never be
These details will be his/her fingerprint image and secret key. able to deduce that some data is hidden in the image. But if
Using these details, the image can be decoded to find out the somehow they know that it is a stego image, they can easily
embedded message which should be the secret key of that extract the PIN.
individual. Once authentication is complete, the voter will From the cryptography point of view, the key image will
be allowed to vote. In this next page, all the details regarding remain under utilized as well. As the fingerprint image is
the voting boundaries of that individual will be shown. Here also of the same dimension, we will be exploiting very less
voter can select the desired candidate and finalize the vote. features of the key image. So, to increase the complexity of
After casting the vote, the account will be closed and in the analysis, the 2 byte secret key is expanded to 32 byte key
database the voted bit will be set to one for that voter. Figure by applying SHA 256 hashing algorithm [1]. Now these
2.1 shows the basic mechanism: 256 bits will become a part of the actual secret message.
When the secret message is embedded in the cover image,
its statistical properties will not remain same. The stego
image will remain more complex to be analyzed because
more features of the key image are utilized in this case. So,
even if eavesdroppers know that this is a stego image, it
would be more difficult for them to predict the embedded
data.
Figure 2.1 C. Generation of the secret message
Now we will introduce all the steps to be performed for In this phase of the methodology, we will get a 288 bit
logging into a voter account in a little more detail. secret message from a 16 bit secret key. Firstly, the secret
A. Cover Image Creation key is concatenated with the time-stamp value. The time-
Every voter should have a 16-digit personal identification stamp is a 32 bit value which represents the current date.
number. This number will be automatically written over Now we will apply SHA 256 algorithm to get a 256 bit hash
a base image in predefined font style & size. Let us use code for that key. Now the same time-stamp is concatenated
256*256 pixels bitmap cover image. The base image should with this hash code to get the secret message. So, our secret
be clear so that the text written over it is machine readable. message will be of 288 bit length.
This image will be finally modified into a stego image and As the actual secret key is never embedded in the stego
sent over insecure channel. The base image is a default image, there will be no chance of predicting secret key from
image for the system, same for all. Cover image is a simple it. The mechanism is shown in Figure 2.3:
inscription of personal identification number over the base
image. So, the cover image for every voter will be same
except the digits written over it shown in the Figure 2.2:

Figure 2.3

Figure 2.2
D. Description of Embedding Algorithm
B. Secret Key Expansion Using Hashing The embedding algorithm makes use of a stego-
The secret key plays very important role in the whole cryptographic model. The model easily unifies cryptographic
process. It should not be compromised in any case. There is a and steganographic models. It basically results as a stegano-
limitation with the secret key here, as the system is designed graphic one with the addition of a new element as the key
for general public which is quite negligent in these issues, image. It finally delivers cryptographic functionality while
we cant keep the key too long. It should be short enough to preserving its steganographic nature.

289
The output of this embedding process is a stego image 5) Initially, stego image, SI [] = CI []: SI [] = {2, 32, 15,
S and the inputs are expanded secret key concatenated 16, 80, 07, 92, 99, 51, 60}
with time-stamp, i.e. secret message, a cover image and After modify SI using embedding algorithm, the result is
the key image. In this embedding process we are going to showed in Table 1: From the above algorithm, final stego
modify the 256*256 pixels cover image given by the array
CI[] of 3 ∗ 216 size. In terms of cryptography, performing Table I
permutations on input data increases the level of confusion Y IELDING S TEGO I MAGE
([1], [2]). More is the level of confusion, more it will become SM[i] CI[Random[i]] KI[Random[i]] SI[Random[i]]
1 CI[2] = 15 KI[2] = 11 SI[2] = 14
unpredictable. In this phase we distribute the bits of secret 0 CI[5] = 07 KI[5] = 21 SI[5] = 07
message throughout the image in a random manner. 1 CI[7] = 99 KI[7] = 86 SI[7] = 99
As we need to embed 288 bits of secret message into 0 CI[9] = 60 KI[9] = 31 SI[9] = 61
1 CI[1] = 32 KI[1] = 12 SI[1] = 33
cover image by encryption, we need to determine the bytes
of cover image which we are going to modify. These are
determined by random function with secret key as seed. image is: SI [] = {2, 31, 14, 16, 80, 07, 92, 99, 51, 61}
Here, we have array Random[] of size 288 with values E. Description of Authentication Algorithm
ranging from 1 to 3 ∗ 216 . Initially stego image array SI[]
is same as that of cover image array CI[]. We have a key In the extraction process, firstly the personal identification
image array KI[] of 3 ∗ 216 bytes. So, in order to yield number from the Stego image is read using OCR. Now,
stego image S we are going to modify the array SI[] by from the matching entry in the voter database, we read the
the following embedding algorithm. key Image and Secret key of that individual. The key to
Embedding Algorithm successful comparison is the time-stamp value. The time-
Input: CI[],KI[],Random[],SecretMsg[] Out- stamp (e.g. Date) delivers the security from replay attacks,
put: SI[] so that the same stego image can not be used again in future.
Begin Using this secret key as seed we are generating the array
SI[ ] = CI[ ] Random[] of size 288. From the stego image we are
for Every bit of Secret Message SecretMsg[i] do forming the array SI[]. Also, we have array KI[] given by
if SecretMsg[i] = 1 then key image. Using these we can extract the SecretMsg[]
if CI[Random[i]] and KI[Random[i]] both either
even or odd then by applying the algorithm given below.
if odd then Authentication Algorithm
SI[Random[i]] = CI[Random[i]] - 1 Input: SI[],KI[],Random[],SecretKey
else Output: Authentic Person/ Not an Authentic Person
SI[Random[i]] = CI[Random[i]] +1 Begin
end 𝑆𝑒𝑐𝑟𝑒𝑡𝑀 𝑠𝑔[], 𝐷𝑎𝑡𝑒[32], 𝑆𝑒𝑐𝑟𝑒𝑡𝐾𝑒𝑦𝐷 𝑎𝑡𝑒, 𝑗 = 0
else for i=0 to 287 do
SI[Random[i]] = CI[Random[i]] if SI[Random[i]] and KI[Random[i]] both either even or
end odd then
else SecretMsg [i] = 0
if CI[Random[i]] and KI[Random[i]] both either else
even or odd then SecretMsg [i] = 1
SI[Random[i]] = CI[Random[i]] end
else end
SI[Random[i]] = CI[Random[i]] + 1 for i = 256 to 287 do
end Date [j++] =SecretMsg [i]
end end
end 𝑆𝑒𝑐𝑟𝑒𝑡𝐾𝑒𝑦𝐷 𝑎𝑡𝑒 = 𝐶𝑜𝑛𝑐𝑎𝑡𝑒𝑛𝑎𝑡𝑒(𝑆𝑒𝑐𝑟𝑒𝑡𝐾𝑒𝑦, 𝐷𝑎𝑡𝑒)
End if 𝐶𝑜𝑚𝑝𝑎𝑟𝑒(𝑆𝑒𝑐𝑟𝑒𝑡𝑀 𝑠𝑔[], 𝑆𝐻𝐴256(𝑆𝑒𝑐𝑟𝑒𝑡𝐾𝑒𝑦𝐷 𝑎𝑡𝑒))
According to the algorithm, if secret message bit is one and then
Return: Authentic Person
both cover image and key image byte values are odd we are else
making stego image byte value one less than cover image Return: Not an Authentic Person
byte value, else one more than that. If secret message bit is end
zero and both cover image and key image byte values are End
even or odd we are keeping stego image byte value same In the above algorithm, we are checking bytes of stego
as cover image byte value, else one more than that. We image and key image, if both are odd or even we are taking
should notice that during extraction we have to apply the the secret message as one otherwise zero. Using the Date
same random function with the same seed. For example, value contained in the secret message and SecretKey we can
1) Cover image array of size 10: CI [] = {2, 32, 15, 16, 80, verify the authenticity. Previous example is continued,
07, 92, 99, 51, 60} 1) From the above embedding algorithm we have:
2) Key image array of size 10: KI [] = {5, 12, 11, 07, 98,
SI [] = {2, 31, 14, 16, 80, 07, 92, 99, 51, 61}
21, 28, 86, 24, 31}
2) From Database we have:
3) Random array of size 5: RA [] = {2, 5, 7, 9, 10}
4) Scret Message of size 5 bits: SM [] = {1, 0, 1, 0, 1} KI [] = {5, 12, 11, 07, 98, 21, 28, 86, 24, 31}
Extraction of secret message is shown in Table II:

290
Table II key is never reused. In our case, the key image never changes
O BTAINING THE S ECRET M ESSAGE but the data we are embedding changes every time. Also, the
KI[Random[i]] SI[Random[i]] SM[i] authentication algorithm needs the hash code, which can
KI[2] = 11 SI[2] = 14 1
KI[5] = 21 SI[5] = 07 0 not be replaced successfully until the attacker knows the
KI[7] = 86 SI[7] = 99 1 secret key. So, collectively we can say that the cryptographic
KI[9] = 31 SI[9] = 61 0 performance of this algorithm is good.
KI[1] = 12 SI[1] = 33 1
B. Steganographic Performance
F. Voter Account Maintenance The aim of steganography is to hide information imper-
Once any individual passes the authenticity criteria, he/she ceptibly into a cover, so that the presence of hidden data
will be logged into his/her voting account. We can easily cannot be diagnosed. Here we have used LSB steganography,
restrict a voter from logging into his/her voting account in which the lowest bit plane of a bitmap image is used
more than once during elections. Once a particular voter to convey the secret data. Because the eye cannot detect
is authenticated by the system, a secure channel will be the very small perturbations it introduces into an image and
established using https and then he/she will be able to cast simple to implement. In this algorithm, the secret message
the vote. The vote will remain secret in every sense, i.e., is fewer bits in length than the number of pixels in the
it will not be reflected anywhere in the database that which cover image also the pseudo random permutation ensures
user has voted for whom. Finally, the account will be closed that changes are spread uniformly throughout the image.
and that user will not be able to log back in by any means More is the number of bits modified; more will be the
again. This completes the voting process. The authentication change in the statistical properties of any image ([6], [5]).
mechanism makes use of both, biometric measures as well Here we are modifying only 0.017 percent of bits available
as secret key. If any of these properties are tempered by any in the cover image making it difficult to be detected as
individual, it can be easily detected and the request will be steganographic one. So, from the steganographic perspective,
rejected from the server side. the statistical properties of the cover image are least hurt,
III. A NALYSIS hence resulting in better security.
In this section we analyze the performance of our algo- IV. C ONCLUSION
rithm with respect to both cryptography and steganography. In this paper we have presented a method for integrating
A. Cryptographic Performance cryptography and steganography. The strength of our system
The embedding process consists of three major portions. resides in the new concept of key image. We are also able to
These are hashing, the pseudo random function and one time change the cover coefficients randomly. This strategy does
pad. For hashing we are using SHA 256, which gives us 256 not give any chance to steganalytic tools of searching for
bit hash code. This hash code depends upon secret key and a predictable set of modifications. Also, considering the
the time-stamp value making it different for every individual complexity of elections, we have provided sufficient proof
every time he/she votes. Also, if someone gets the required of authenticity of an individual in form of both biometric
bits out of the stego image, secret key could still can not be measures and secret key. As future work, we will be trying to
predicted because of hashing. The only concern with SHA improve two considerable aspects of the algorithm, namely,
256 is its speed. Any delay is undesirable in this system as speed and dependence on pseudo random function.
many people will be voting all around the country. Also, we R EFERENCES
[1] William Stallings, ”Cryptography and Network Security, Prin-
have to use hashing on both ends for each and every request ciples and Practices”, Third Edition, pp. 67-68 and 317-375,
which adds to our concerns. Prentice Hall, 2003.
The pseudo random function used in the algorithm makes [2] Bruce Schneier, ”Applied Cryptography”, Second Edition:
it more secure. It selects 288 numbers between the range 1 Protocols, Algorithms, and Source Code in C, John Wiley and
Sons, 1996.
to 3 ∗ 216 evenly. The message bits are embedded according [3] Tadayoshi Kohno, Adam Stubblefield, Aviel D. Rubin, and Dan
to the sequence generated by this function. The random S. Wallach, ”Analysis of an Electronic Voting System”, Proc.
function also adds some level of confusion in the whole IEEE Symposium on Security and Privacy (May, 2004), found
process, as all the bits of the secret message are embedded at http://avirubin.com/vote/analysis/index.html
[4] Johnson, N. F. and Jajodia, S., ”Exploring steganography:
out of the original ordered sequence. The only concern with Seeing the unseen”, IEEE Computer Magazine, pp. 26-34,
pseudo random function is that, it should not be open. If February 1998.
somehow it is compromised, the attacker can fetch the voter [5] Provos, N. and Honeyman, P., ”Hide and seek: An introduction
key by trying all possible keys. So, the pseudo random to steganography”, IEEE Security and Privacy, 2003.
[6] Sutaone, M.S. and Khandare, M.V., ”Image based steganogra-
function should be implemented with utmost security. phy using LSB insertion technique”, IEEE WMMN, pp. 146-
Third and the most important step is the actual embedding 151, January 2008.
of bits. The mechanism is similar to one time padding tech- [7] Bloisi, D. and Iocchi, L., ”Image based Steganography and
nique which is theoretically unbreakable. If a cryptanalyst Cryptography”, In Proc. of 2nd Int. Conf. on Computer Vision
Theory and Applications (VISAPP), pp. 127-134, 2007.
has a cipher text string encrypted using a random key which [8] Kharrazi, M., Sencar, H. T., and Memon, N., ”Image steganog-
has been used only once, the cryptanalyst can do no better raphy: Concepts and practice”, In WSPC Lecture Notes Se-
than to guess the plain text of the same length. One more ries, 2004.
advantage of this technique is the speed. It can be performed [9] Armen, C. and Morelli, R., ”E-Voting and Computer Science:
Teaching About the Risks of Electronic Voting Technology”,
very quickly. The algorithm is quite similar to Vernam cipher ACM ITiCSE, 2005.
[7] which also does one time pad and is found to be strong if

291

You might also like