LSB based Image Steganography by using the Fast Marching Method

This paper presents a novel approach for image steganography based on the Least Significant Bit (LSB) method. Most traditional LSB methods choose the initial embedding location of the cover image randomly, and the secret messages are embedded sequentially without considering the image pixels’ values and positions. Our approach utilizes the user-selected seeds in the cover image to avoid the smooth/flat areas where cause a higher detection rate. Then the fast marching method is used to calculate T (the time of arrival of the front of the seeds) and propagate the seeds by computational dynamics. The front propagation process decides the embedding positions of the secret messages. The same algorithm can be used to retrieve the hidden information as well. The coordinates of the seeds are used as the shared key only known to the sender and receiver to add additional security protection. Peak Signal to Noise Ratio (PSNR) is evaluated to measure the quality of resulting images. The experiments show that the proposed approach generates results with high payload capacity and satisfied imperceptibility. Keywords—Image steganography; LSB; the fast marching method; coordinates; PSNR


I. INTRODUCTION
Steganography has been an ancient practice to hide secret information within a media in such a way other people cannot easily detect the presence of the hidden contents.Cryptography and steganography are both techniques used to prevent the third party from reading the secret messages.However, they differ in the respect that cryptography makes the data exposable but not understandable without having the proper key to decode, while steganography hides the secret data inside a media and this modification of the original media cannot be easily perceived.In nowadays, steganography is used in many legal or illegal applications.For example, embedded digital watermarking techniques are developed to identify the ownership of the property.It is also reported that terrorist groups had used steganography to exchange information due to their affordability compared to dedicated secure networks [1].
The basic structure of image steganography is composed of the following:  Secret-message: The information is to be hidden and delivered.
 Cover-image: An original image is used as a media to embed the secret-message.
 Stego-image: After the cover-image embeds the secretmessage, the resulting image is known as the stegoimage.
 Stego-key: Additional information is used for embedding and extracting the secret-message.The stego-key is a shared key known to the sender and receiver only.

II. RELATED WORK
Least Significant Bit (LSB) steganography is a popular technique in which the least significant bits (lowest bits) of pixels of the cover-image embed the secret-message.The changes to the cover-image are minimal and imperceptible to the human visual system [2].However, the secret-message can be easily detected in the traditional LSB methods since the embedding positions are generated randomly and data are embedded sequentially [3].These methods call for higher security features.
Steganographic methods which utilize a pixel's dependency on its neighborhood and psycho-visual redundancy to determine the smooth areas and edged areas in the gray level images are presented in [4].However, in this method distortion is introduced and anyone is possible to recover the image due to its lack of stego-key protection.The approach in [5] uses a secret key to hide a secret-message in different channels of the LSB of a cover-image to protect it from unauthorized receivers.This method does not consider the pixels' values and positions in the cover-image.Therefore, the smooth/flat regions in the cover-image will be contaminated and cause low visual quality after data hiding.Edge adaptive schemes have been investigated.For example, the edge-detecting filter is used in [6].Mean and standard deviation and canny edge detection are used in [7].Methods hiding data around the edge boundary of an object are proposed in [8].However, when the cover-image is mostly smooth or without sharp edges, the payload is limited in these approaches.
In our proposed method, we use the level set method to determine the embedding positions of the secret-message.The level set method (LSM) was proposed by S. Osher and J. Sethian in 1988 [9].LSM is a computational technique for tracking interface motion over time and has various applications including image processing [10], fluid dynamics and physical modeling.LSM involves propagating a continuous scalar variable."Considering G(t) to be a moving closed curve in two dimensions.An Eulerian formulation for the motion of the interface is produced.The motion of the interface propagates along its normal direction with speed F, where F can depend on many factors, including the curvature, normal direction, shape, position of the front, or underlying fluid velocity.The interface G(t) can thus be represented as the www.ijacsa.thesai.orgzero-height level set of a function ".For a more detailed description of level set methods, the reader is referred to Sethian's published book [11].
Let's assume that the interface either moves "outward" (F > 0) or "inward" (F < 0) during the interface motion.The arrival time of the interface front at each grid point (T(x,y)) can be calculated and used to determine the propagating process of the front.This is the so-called fast marching method.In this method, all the arrival time values are composed of a function T(x,y) which renders a surface.This surface tells the position of the interface front at any actual time T. "This surface is called the arrival time surface because it gives the arrival time of the interface passing at each grid point" [12].

The equation for the arrival time function is called boundary value formulation, which is
T 0 on , where Γ is the initial location of the interface.is the fast marching method exponential coefficient which is set to 60 in our algorithm.T was discretized by the quadratic equation [12]: D + and D -represent forward and backward difference operators.Equation ( 2) is solved at each grid point in the propagating process, and the root with the largest value is chosen as the correct viscosity result.
The advantages of using the fast marching method for LSB image steganography are the following:  The seeds initially selected can be encrypted as the stego-key to add additional security protection.
 The user can choose seeds in non-smooth/flat regions in the cover-image to avoid low visual quality data hiding.
The fast marching method enables image segmentation [13].
 The algorithm is straightforward to implement.The same algorithm can be used for embedding and retrieving the secret-message.

A. Finding the Embedding Positions by the Fast Marching Method
Equation ( 2) is applied in our image stenography algorithm.T=0 is assigned to the user-selected seeds in the cover-image.The user can select the seeds in the non-smooth/flat regions to avoid higher detection rate, and the seeds' positions can be encrypted as the stego-key.By solving (2), the front position at any time T can be obtained.This equation can be solved for each pixel in the cover-image until two times of the number of the hidden bytes is reached (one byte is hidden over two pixels).These pixels can then be mapped in a queue in the increasing order of T. The pixel with the smallest T is called first to hide the secret-message.In this way, the embedding order of pixels in the cover-image is obtained.Fig. 1 shows the user-selected seeds in non-smooth/flat regions, and the seeds propagate by using the fast marching method.The scheme of FMM has been briefly described above.A detailed process is shown in the following: 1) Initialize four vectors: far_away, alive, try and neighbor.
2) Assign max T (e.g., DBL_MAX in C++) for all pixels in the cover-image and set their status as far-away (push them into the far_away vector).
3) For each user-selected seed point: a) set the smallest T (zero) value.b) Remove it from the far_away vector and set the status as alive (push it into the alive vector).
c) Check its four adjacent points (up, down, left and right) in the cover-image and set their status as try (push them into the try vector).Calculate their T values by the following equation: T(x,y) 1/ exp(-1 * 60 * grad mag x y ) grad_mag is the gradient magnitude value of the pixel.The cover-image first uses a Gaussian smoothing filter.Then the gradient magnitude values are computed in all color channels, and the values in the channel with the largest magnitude are picked [14].

4) For each point in the try vector:
a) Pick the point with the smallest T. Set the point as alive (push it into the alive vector) and remove it from the try vector.
b) Check its four adjacent points (up, down, left and right) in the cover-image.If the neighbor point is alive status, do nothing.If it is in the try vector, push it into the neighbor vector.If it is in far_away vector, push it into both the try and neighbor vectors and remove it from the far_away vector.c) For each point (i, j) in the neighbor vector: Update its T. s1(a,b,c) and s2(a,b,c) are the functions to get the two roots of a quadratic function -b √ b 2 -4ac 2a .There are 16 possible roots to consider for (2) and the largest root is picked as T: double F 1.0 / exp(-1 * 60 * grad mag i j ) d) Repeat step 4 until the number of points in the alive vector is greater than two times the number of hidden bytes.The pixel points in the alive vector are ordered by T ascendingly.
Fig. 2 shows an example of embedding orders with two user-selected seeds in a cover-image.T is calculated by using the fast marching method based on the image pixels' values and positions.The bands in the same color represent the pixels on the bands with the same T values.Pixels embed the secretmessage in the increasing order of T.

B. Encoding the Secret-Message
After the embedding positions are obtained above, the algorithm starts the Least Significant Bit (LSB) encoding process.One byte of data is hidden into two adjacent points' R, G, B and Alpha channels in the alive vector.Any byte M from 0 to 255 can be extended to the form: If p 1 and p 2 are two adjacent elements in the alive vector of the cover-image and (p 1 r , p 1 g, p 1 b , p

C. Decoding the Secret-Message
Extracting the hidden data from the stego-image works similarly.The coordinates of the user-selected seed points can be encrypted as a shared stego-key.The extracting order is done by the fast marching method as the embedding process.If

IV. RESULTS AND ANALYSIS
The experimental results presented in this section compare the effectiveness of our proposed algorithm with existing methods.Several main factors affect an information hiding scheme: visual quality of the stego-images (HVS-human visual system) [15], embedding capacity, and error metrics such as PSNR.
Our experiment results show the proposed method achieves plausible HVS quality based on luminance similarity, structure correlation, edge similarity, and color similarity due to the nature of the fast marching method.It can have a larger payload capacity than methods such as [8].
We use the Mean Square Error (MSE) and the Peak Signal to Noise Ratio (PSNR) as the error metrics to evaluate stegoimage quality.The MSE is computed by averaging the cumulative squared error between the original image and the stego-image, whereas PSNR represents a measure of the peak error.The following is the equation to compute MSE composed of d number of channels: d m n The higher the value of PSNR, the closer is the stego-image to the cover-image.To compute the PSNR, the following equation is used: S R 10 log 10 ( A 2 SE ) I_MAX is the largest possible variation in the input image data type.It is 255 in case of the simple single byte per pixel per channel.
Table I is the results of PSNR on original LSB, edge-based LSB [7] and our method.Our method has higher PSNR values.Fig. 3 shows the cover-images Lena, Baboon and Pepper, the secret-message (image Baboon) and stego-images by using the proposed method.Table II is the comparison of PSNR of LSB with Four Neighbor method [4], Secret Key [5] and our method.

V. CONCLUSION
In this paper, a novel approach for LSB image steganography by using the fast marching method is presented.The approach can avoid non-smooth/flat regions and the userselected seeds can be used as the stego-key.The embedding and extracting positions are determined by the computational technique fast marching method based on image pixels' values and positions.The experiments show that the proposed method has plausible visual quality and desirable PSNR.Future work can include testing by using different kinds of steganalysis algorithms and extend the proposed method to other steganographic medias such as audio/video.

Fig. 1 .
Fig. 1.The user-Selected Seeds Propagate by the Fast Marching Method.

Fig. 2 .
Fig. 2. Illustration of the Embedding Order with Two User-Selected Seeds.
p 1 and p 2 are two adjacent elements in the alive vector of a stego-image and (p their RGB and Alpha values, the secret data can be constructed by:

Fig. 3 .
Fig. 3. Cover Images, Secret Messages and Stego Images by our Method.

TABLE I .
COMPARISON OF PSNR OF LSB, EG_LSB AND THE PROPOSED METHOD

TABLE II .
COMPARISON OF PSNR OF LSB WITH FOUR NEIGHBOR METHOD [4], SECRET KEY [5] AND THE PROPOSED METHOD