Vous êtes sur la page 1sur 5

Security Approach for LSB Steganography Based

FPGA Implementation

Abdullah AlWatyan, Wesam Mater, Omar Almutairi, Aisha Al-Noori and Saed Abed
Mohammed Almutairi Computer Engineering Department
Computer Engineering Department Kuwait University
Kuwait University Kuwait, Kuwait
Kuwait, Kuwait s.abed@ku.edu.kw

Abstract Secrecy in communication is critical for people steganographic techniques deal with the frequencies of the
that have sensitive information. Steganography is a field that image to hide the secret data.
secures sensitive information by hiding it inside media files (such
as images). What makes the concept of steganography powerful is The image steganography system presented in this paper is
that the secret message is hidden cleverly within the media file an automated tool that provides two levels of security for the
and thus carried around invisibly. Our paper proposed an secret data in an automated process. The first level of security
automated method to secure a message using two levels of is encrypting the secret data based on our encryption method
security. In the first level, the data is encrypted by our encryption named Character Bit Shuffler (CBS) algorithm that is
method developed in Java and named Character Bit Shuffler developed using Java programming language. The second level
(CBS). Then in the second level, the encrypted data is hidden of security is hiding the encrypted secret data inside an image
inside an image using the Least Significant Bit (LSB) technique by using our proposed steganographic method. The objective
that changes only the last bits of the image pixels. The advantage of this work is to combine the concepts of cryptography and
of the LSB method is that it is simple as well as it maintains the steganography to improve the security of the secret data
quality of the image. A 1-1-0 LSB scheme will be used on 32-bit without degrading the image quality.
images in this paper. Experimental results that measure the
image quality of our proposed approach are presented at the end The steganographic method that the system uses is a spatial
of the paper. domain method called the Least Significant Bit (LSB) method.
The LSB method deals with the pixels of an image to hide the
Keywords Steganography; Cryptography; PSNR; Least secret data. It takes each bit of the secret data and replaces it
Significant Bit (LSB); FPGA; CBS. with the LSB of the pixel. The system implements the
steganography techniques using a Field-Programmable Gate
Array (FPGA) and the programming language used to
I. INTRODUCTION
implement the design is Verilog Hardware Description
Steganography is the art and the science of concealing and Language.
hiding secret data inside media files like images, videos and
audios. Steganographic techniques try to hide the existence of
the secret data [1]. This is different from cryptographic
techniques which try to make the secret data unreadable.
Steganographic techniques can be utilized to hide the
copyrights information inside digital media.
A steganographic technique has three main objects: the
secret data, the cover file (the media file that is used to hide the
secret data) and lastly the stego-file (the cover file with the
secret data hidden inside it). A powerful steganographic
technique should focus on maintaining and optimizing three
essential properties: robustness (the resistance of eliminating Fig. 1. Image steganography system.
the secret data from the stego-file), imperceptibility (the
property of not being able to distinguish between the stego-file As shown in Fig. 1, the input files of the system are the
and the cover file) and capacity (the maximum amount of secret data and the cover image. The secret data is encrypted
secret data that the cover file can conceal) [1]. Steganography using CBS algorithm (software). The encrypted data and the
can be applied in two domains: the spatial domain and the cover image are automatically sent to the FPGA board
frequency domain [2, 3]. In the spatial domain, the (hardware) after they are converted into a Memory
steganographic techniques deal with the pixels of the image to Initialization File (MIF) format. The MIF file is used to
hide the secret data. In the frequency domain, the initialize the RAM with the input data. The FPGA

978-1-5090-5454-1/17/$31.00 2017 IEEE


implementation hides the encrypted data inside the cover image the work in [4] using different methodologies of LSB
and outputs the stego-image. techniques and Texture methodology. The LSB techniques
used have different values and variety for the least bits used,
The process of hiding secret data should be done in a short using 1 to 4, 1 to 4 random and mixed n-bit. While in the
time and with low error rate. More importantly, the hidden textured method, the secret bits are embedded in the
message should be hard to detect and extract. Moreover, low embeddable neighborhood of 3x3 scheme with correct choice
power consumption is required and preferred. The proposed of threshold.
system achieved a PSNR average of 54.16 dB. The system also
has 80% less area compared to other work. Akhtar et al. [5] represented a new LSB technique that
improves the quality of stego-files. The technique is about
The rest of the paper is organized as follows. Section II inverting the LSB of the cover file when certain conditions are
presents the related literature to our work. Section III discusses met. This technique helps in reducing the number of bits that
the proposed steganography scheme. Section IV discusses the are needed to be changed inside the cover file. Also, it helps in
proposed methodology in details. Section V provides improving the PSNR. Certain number of bits need to be stored
experimental results and discussions about it. Finally, section in the stego-file to help in knowing which method of inversion
VI concludes the paper and presents some future trends. is used in order to extract the hidden data. The technique
comes in two schemes. The first one does not need the original
II. RELATED WORK cover file to extract the hidden data. The second one needs the
This section covers both the spatial domain and the original image to extract the hidden data. However, it results
transfer domain steganography. In spatial domain work, we in improving the PSNR and the quality of the stego-file.
highlight the most important used techniques and mainly the The authors in [6] provided two improved algorithms of
LSB method while the transform domain work concentrates the LSB techniques which are the LSB matching revisited
on the Discrete Cosine Transformation (DCT) techniques. (LSBMR) algorithm and the edge adaptive image
The authors in [1] represented an overview of the steganography based on LSBMR. These algorithms use image
steganography art. They defined the steganography as the art processing technique that is called Sobel edge detection to
of concealing data inside media files. Also, they showed the improve the quality of hiding the data.
differences between steganography, watermarking and Mahmoudpour and Mirzakuchaki [7] proposed a
cryptography and stated Watermarking and particularly steganography implementation in FPGA board using n-bit
steganography tend to conceal presence of hidden data while LSB algorithm. Also, randomization techniques and Zhanges
cryptography makes data gibberish. The paper presented a LSB algorithm were proposed to counter the weakness of the
way to measure the quality of a certain steganography LSB methodology, which can eliminate the asymmetry of the
technique. The measuring is based on three parameters which LSB bit choice. Moreover, the user can choose how many bits
are imperceptibility, capacity and robustness. The to embed per pixel. The security is improved by using a
imperceptibility is defined as the property of not being able to message bit randomizer (xor encryption with linear feedback
distinguish between the stego-file and the cover file. The shift register) to make it harder for the attackers to construct
capacity is the maximum amount of secret data that the cover the hidden message without a secret key. Furthermore, the
file can conceal. The robustness is the resistance of eliminating authors applied another layer of security to the LSB method
the secret data from the stego-file. The authors stated some by using pixel interleaver technique. The location of the
applications of the steganography which are identification, hidden messages bits is selected randomly through the whole
copyright protection, and annotation. image making it harder to detect the location of the bits.
Thangadurai and Devi [2] compared between the In [8], the authors used a combination of LSB insertion
steganography and the cryptography. In cryptography, the and discrete wavelet transform compression to hide data inside
encryption prevents unauthorized persons from discovering another file. This implementations strong point is the high
the contents of communication. However, in steganography, it speed processing time which makes it very useful for real time
prevents the discovery of existence of communication. In applications. However, the authors research used 8-bit gray
addition, the authors described LSB technique as hiding data scale images for hiding the information since it is much easier
inside the least siginficant bit of the image pixels. They stated compared to color images.
that the LSB technique is easy to use. Though, the hidden data
is easy to be extracted by attackers. The LSB technique can be The authors in [9] proposed a DCT technique that is used
applied for different file formats like PNG and GIF. to divide cover images into three main frequencies. These
frequencies are high, middle and low frequencies. This
In [3], the authors proposed a steganography technique uses the coefficients of the image to encode the
implementation using LSB technique on an FPGA hardware. secret image using LSB while avoiding visual distortion. This
The FPGA recieves the cover image and secret data, applies technique requires keys that should be known only by the two
the LSB technique and outputs the stego-image. The authors end users.
used an n-bit LSB technique that allows the user to choose
how many secret data bits to hide per pixel. The number of Based on the above litreature review, we can conclude that
bits are ranged from 1 to 8 bits per pixel. The paper showed the LSB is a very interesting method. The standard method of
that the PSNR (peak signal to noise ratio) results decrease the LSB lacks the security and the capacity. However, there
with the increase of used LSBs. The authors in [3] expanded are other LSB methods that increase the level of the security
and the capacity. Besides that, the implementation of the LSB
method is easy to enhance, build and evaluate.

III. THE 1-1-0 LSB SCHEME


The steganographic method used in this paper is the
LSB method. It replaces each LSB of the pixels with the secret
data bits.

Example:
Let us assume that we have:
Cover image pixels: (10110011) (10001100) (01100011)
Secret data bits: (011) Fig. 2. 3 bit LSB example.
Stego-image pixels (10110010) (10001101) (01100011)
Fig. 3 shows an example of embedding two bits inside each
As seen in the example, two of the image pixels are pixel. As seen in Fig. 3, the process is fixed. This means that
changed to hide the secret data bits inside the LSB of these for each iteration of hiding one byte of the secret data, four
pixels. However, one of the image pixels (the last one) did not image pixels are needed. In short, there is only one case that is
change because it was similar to the secret data bit by chance. the secret bits starts from the Red channel and ends at the
When hiding data inside an image using this technique, the Green channel.
probability for the image pixels to change from zero to one or
from one to zero is 50%. This means that on average, half of
the image pixels are going to be changed. Images consist of
pixels represented in bits. The images used in this paper consist
of 32 bits. These 32 bits represent 4 color channels namely red,
green, blue and alpha channels. Each channel is represented by
8 bits. Data can only be embedded inside the red, the green and
the blue channels. The alpha channel should not be modified.
The reason behind that is that the alpha channel controls the
image transparency and it is easy to spot any manipulation in
this channel. Therefore, three channels out of four can be used
to embed data namely the RGB channels. This means that the
maximum number of bits that can be embedded inside a single Fig. 3. 2 bit LSB example.
image pixel using 1 bit-LSB method is 3 bits. However, using
the three channels to embed 3 bits of the secret data inside each
pixel has two negative effects. First, changing the color of all IV. PROPOSED METHODOLOGY
the RGB channels can result in increasing the damage to the
The system consists of two main parts, the hardware part
quality of the image. Second, the complexity of the embedding
(FPGA) and the Software part (Java code). Each operation of
process is rapidly increased.
the Java code is discussed separately below as well as the
Fig. 2 shows two secret data Bytes being embedded in the hardware implementation.
RGB channels of each pixel. As seen in Fig. 2, the first three
bits of the first Byte of the secret data were embedded in the A. Encrypting The Secret Data
first pixel. The second three bits were embedded in the second The secret data is encrypted automatically after receiving it
pixel. The first Byte of the secret message now has two bits from the user. For encryption, we used our developed
remaining and they are going to be hidden in the third pixel. algorithm named the Character Bit Shuffler (CBS). CBS takes
Now, there is one unused bit in the third pixel. Therefore, the the characters of the secret data and shuffles the bits of each
next secret data Byte should start being embedded from this Byte separately. CBS has five modes of encryption schemes.
unused bit. Then, move to the next pixel until it is completely The mode that is going to be used depends on the size of the
embedded. It can be noticed that there are three cases that secret data.
could occur during the embedding operation. In the first case,
the first bit of a message byte starts from the Red channel. In
B. Converting The Input Files into an MIF
the second case, the first bit of a message byte starts from the
Green channel. In the third case, the first bit of a message byte We developed a Java code to create an MIF by creating a
starts from the Blue channel. Having three cases will increase string that starts with an MIF header followed by the encrypted
the complexity of the hardware implementation. Using two secret data and the image data followed by an MIF trailer.
channels to hide the secret data makes the process simpler. After that, the MIF is sent automatically to the FPGA
Also, changing two bits only results in a better image implementation to continue the process.
imperceptibility than in changing three bits.
C. Embeding module (Hardware) D. Extracting Module (Hardware)
After initializing the RAM with the MIF, the control unit Just like the embedding operation, the control unit starts
starts the operation by sending the addresses to the RAM. the operation by sending the addresses to the RAM. Upon
Upon receiving the addresses, the RAM sends the cover image receiving the addresses, the RAM sends the stego-image Bytes
Bytes and the secret data Bytes to the embedding module. The to the extracting module. The extracting module takes the
embedding module then takes the bits of the secret data and Bytes of the stego-image and extracts the secret data from the
embeds them in the LSB of each cover image Byte. After that, LSB of each Byte. After that, the extracting module sends the
the embedding module sends the result, which is the stego- result, which is the secret data Bytes to the RAM to store
image Bytes, to the RAM to store them. The control unit them. The control unit specifies the address where the secret
specifies the address where the stego-image Bytes are stored. data Bytes are stored.
After embedding all the secret data Bytes, the RAM After extracting all the secret data Bytes, the RAM
contents are going to be the stego-image Bytes, which is the contents are going to be the final result which is the encrypted
final result of the embedding operation. Then the RAM secret data. Then, the RAM outputs the encrypted secret data.
outputs the Stego-image. The embedding operation takes six The extracting operation takes 20 clock cycles to extract four
clock cycles to embed two bits inside one image pixel. Fig. 4 Bytes of the secret data from 16 image pixels. In other words,
shows the RTL of the embedding module. the extracting module extracts two bits per image pixel.

E. The Complete Hardwre Implementation


In the previous sections, the embedding operation and the
extracting operation were implemented separately. Now, we
combined them together in one Verilog code. Fig. 5 shows the
final RTL view of the complete design.

Fig. 4. RTL view of the embedding module.

Fig. 5. RTL view of the complete system.


V. EXPERIMENTAL RESULTS AND DISCUSSIONS TABLE III. LUTS USAGE COMPARISON
Logic element usage by number of LUT inputs
A. Embedding Secret Data Test 4 input functions
3 input functions Less than 2 input
functions
The system has been tested with different images of size Proposed
100x100 as seen in Table I. Secret data of size 1857 Bytes (text 451 136 198
System
file that has ASCII characters) has been automatically Paper [8] 2330 N/A N/A
encrypted and hidden inside these images. The PSNR of each
stego image is also presented in Table I. The average PSNR of
the results is 54.16 dB. VI. CONCLUSION AND FUTURE WORK
In this paper, we implemented a two level security scheme.
TABLE I. PSNR TEST ON DIFFERENT IMAGES We were able to encrypt then embed the secret data inside an
image. The operations of encrypting the secret data and
Original image Stego-image PSNR
embedding are carried out automatically. The 1-1-0 LSB
method that we proposed yields a PSNR with an average of
54.16 dB. Thus proving that the resulting stego-images have
strong imperceptibility. The capacity of secret data that can be
54.14 hidden using this scheme is good enough because it uses 2 bits
instead of 1 bit. The proposed method has a reduction in area of
80% compared to other work in the literature.
Future work will take upon the video steganography and
add it to the proposed system. This will greatly increase the
system capacity and enhance the level of the overall security of
the system after implementing encryption and random frame
54.14 embedding.

REFERENCES

[1] A. Altaay, S. bin Sahib, M. Zamani, An introduction to image


steganography techniques, International Conference on Advanced
Computer Science Applications and Technologies, pp. 122-126, 2012.
[2] K.Thangadurai, G. Devi, An analysis of LSB based image
54.19 steganography techniques, International Conference on Computer
Communication and Informatics (ICCCI -2014), Coimbatore, INDIA,
pp. 1-4, Jan. 03 05, 2014.
[3] B.J. Mohd, S. Abed, T. Al-Hayajneh, S. Alouneh, FPGA Hardware of
the LSB steganography method, In Proc. of the IEEE International
Conference on Computer, Information and Telecommunication Systems
(CITS 2012), Amman, Jordan, pp. 5 8, 2012.
A comparison with paper [7] is shown in Table II. The
[4] B.J. Mohd, T. Hayajneh, S. abed, A. Itradat, Analysis and modeling of
average PSNR of our 1-1-0 LSB method is compared with [7] FPGA implementations of spatial steganography methods, Journal of
Zhang LSB PSNR average (we took the best values from the Circuits, Systems, and Computers, World Scientific Publishing
Zhang LSB and took their average). Our scheme has better Company, Vol. 23, No. 2, DOI: 10.1142/S0218126614500182, 2014.
PSNR average than [7]. [5] N. Akhtar, S. Khan, P. Johri, An improved inverted LSB image
steganography, International Conference on Issues and Challenges in
TABLE II. PSNR COMPARISON Intelligent Computing Techniques (ICICT), Ghaziabad, pp. 749-755,
2014.
Embedding scheme PSNR average [6] Z. Fouroozesh, J. Al jaam, Image steganography based on LSBMR
Proposed using sobel edge detection, Third International Conference on e-
1-1-0 LSB 54.16
System Technologies and Networks for Development (ICeND), Beirut, pp. 141-
Paper [7] Zhang LSB 51.20 145, 2014.
[7] S. Mahmoudpour, S. Mirzakuchaki, Hardware Architecture for a
Message Hiding Algorithm with Novel Randomizers, International
B. Area Results Journal of Computer Applications (0975 8887), Vol. 37-No.7, pp. 46-
53, 2012
Table III shows the area of our design in terms of LUTs. [8] Maya C S, Sabarinath G, An optimized FPGA implementation of LSB
Table III also includes a comparison with [8]. The comparison replacement steganography using DWT, International Journal of
shows that our proposed system uses 80.64% less 4-input Advanced Research in Electrical , Electronics and Instrumentation
Engineering, Vol. 2, special issue 1, pp. 586-593, 2013.
LUTs.
[9] H. Patel, P. Dave, Steganography technique based on DCT
coefficients, International Journal of Engineering Research and
Applications, Vol. 2, Issue 1, pp.713-717, 2012.

Vous aimerez peut-être aussi