A new steganography method which preserves histogram: Generalization of LSB++
Introduction
Steganography is the art and science of hidden communication. A steganography system embeds hidden content in unremarkable cover media so as not to arouse an eavesdropper’s suspicion. Essentially, the information hiding process in a steganographic system starts by identifying a cover medium’s redundant bits. The embedding process creates a stego medium by replacing these redundant bits with data from the hidden message [24]. In an effort to hide a secret message in redundant bits, Yang et al. [35] proposed an adaptive LSB steganography method using adjacent pixel value differencing (PVD). This method determines the number of message bits which could be hidden into these pixels. More message bits are embedded for a higher difference value. Similarly, Hong [9] proposed a new scheme using the concept of pixel value differentiation and a patched reference table (PVD-PRT) to provide a better image quality and extendable embedding capacity. Furthermore, Lee et al. presented a practical method of using a cover image to hide the secret message using tri-way pixel-value differencing. The goal of the proposed approach is to provide secrecy while avoiding the detection by dual statistics steganalysis [15]. In addition, Hong and Chen [10] proposed a steganography method based on pixel pair matching (PPM). This method utilizes the values of pixel pairs as a reference coordinate. To hide the message bits, this method first searches for a coordinate in the neighborhood set of this pixel pair based on the message bits. Then, this method replaces the pixel pair with the selected coordinate to embed the message bits.
Matrix embedding techniques [5], [26], [29] and VQ based methods [30], [16] are two well known groups of data hiding methods. Fridrich and Soukal proposed two methods based on matrix embedding [5]. The first technique is based on a family of codes constructed from simplex codes and the second one is based on random linear codes of small dimension. One of the weaknesses of matrix embedding techniques is the low robustness against active attacks. Considering this weakness, Sarkar et al. [26] proposed a matrix embedding hiding method using powerful repeat accumulate (RA) codes for error correction, to solve this difficulty. Furthermore, Wang et al. [29] introduced a steganography method to improve the embedding speed of matrix embedding by extending the matrix via some referential columns. Furthermore, Amirtharajan and Balaguru Rayappan proposed an Adaptive Random (AR) k-bit embedding approach which has been attempted to enhance the quality of stego images [2]. VQ based steganography methods hide the message bits into a Vector Quantization (VQ)-compressed image. For example, Wang et al. [30] proposed a technique called Adjoining State-Codebook Mapping (ASCM) to map the content of an image block to an index in the corresponding state-codebooks. Similarly, Lee et al. [16] proposed a VQ based steganography method which explores the correlation of neighboring blocks of a VQ-compressed image to detect some holes for hiding the message bits.
In other works on embedding secret messages in cover objects, Fakhredanesh et al. [3], [4] presented two image steganography methods. The first method locates regions suitable for embedding by the contourlet transform [3], whereas the second one assumes Watson’s visual model for the cover image statistics and presents a new steganography method which uses this model to improve perceptual undetectability [4].
Modifying the cover medium changes its statistical properties, so eavesdroppers can detect the distortions in the resulting stego medium’s statistical properties. The process of finding these distortions is called statistical steganalysis [25]. Many steganalysis methods are proposed which use these properties to detect stego images. Furthermore, Lyu and Farid [20] proposed a novel steganalysis method which extracts the first and higher order magnitude and phase statistics of images to detect stego from cover images. In another effort, Pevny et al. [23] investigated the difference between neighboring pixels before and after embedding using the first and second order Markov chains. They extracted some statistical features from the transition probability matrices and used a SVM classifier to detect stego images.
Histogram and co-occurrence matrices are two important statistical representations used in some steganalysis methods. These techniques utilize the changes made by data hiding to these properties to detect stego covers, and can be applied to any digital media in any embedding domain.
Westfeld and Pfitzmann [31] proposed a histogram based steganalysis method. They found that the embedding process alters the frequencies of cover values. Therefore, they proposed a Chi-Square test as a method for detecting stego images from clear covers. Furthermore, Harmsen and Pearlman [8] defined a Histogram Characteristic Function Center of Mass (HCF-COM) to detect the changes in image histogram after embedding. By extracting this feature, they were able to detect stego signal. To detect the stego images under more general conditions, this method was extended by Ker [13]. He then proposed a steganalysis method for the case when the two least significant bits of the pixels are used [14]. In addition, Liu et al. presented a scheme of steganalysis of the least significant bit (LSB) matching steganography based on feature mining and pattern recognition techniques [17], and Zhang et al. presented a least significant bit (LSB) matching steganography detection method based on the statistical modeling of the pixel difference distributions [36].
To defeat the histogram based steganalysis methods, many efforts have been made by researchers to protect the histograms of images. One of the first solutions to defeat these attacks was LSB matching. LSB matching increases or decreases the pixel values with the same probabilities when the least significant bit of the pixel value is not equal to the message bit. The LSB matching revised (LSBMR) [22], Near-optimal solution-pair-wise LSB matching via an immune programming strategy [33], and LSBMR-based edge-adaptive [19] are three versions of the LSB matching steganography methods. Tan and Li [28] showed that the readjusting step of LSBMR-based edge-adaptive [19] produces some effects in the long exponential tail of the histogram of the absolute difference of the pixel pairs. By using these effects, they proposed a steganalysis technique that could detect stego images and could estimate the used threshold in the data hiding process. In addition, Ghazanfari et al. [6], [25] proposed an adaptive steganography method based on the LSB matching which increases the capacity up to 150% [6] and 158% [25]. Their second work [25] is the extension of their previous scheme [6] into the DCT domain. Sun et al. [27] presented a low capacity data hiding approach which completely preserved the histogram of the image.
Marçal and Pereira [21] proposed a steganography method based on reversible histogram transformation functions (RHTF) for the digital images. By using a secret key and RHTF, the secret information can be successfully embedded into the LSBs of an image. Lou and Hu [18] showed that this method causes some artifacts; so the stego images could be detected easily. They proposed an improved version of this method by using multi embedding keys. Although both methods are secure against histogram based steganalysis, they do not preserve the cover histogram completely.
The LSB+ method suggested by Wu et al. [32] preserved the image histogram in spatial domain by embedding some extra bits in images. This method, however, results in statistical and perceptual distortions. Similarly, Provos [24] proposed a similar approach which preserves the primary histogram, but in the discrete cosine transform (DCT) domain. In our previous work [7], a new technique for image steganography, called LSB++, was proposed, which improves the LSB+ by keeping some pixels from changing, results in reducing the number of extra bits.
In this paper, we improve the LSB++ method by proposing a technique to distinguish the sensitive pixels and keep them from extra bit embedding, as the embedding process causes fewer traces in the co-occurrence matrixes. Our previous work considers only one least significant bit of the cover elements for hiding the secret message, whereas the improved LSB++ method hides the secret message in more than one least significant bit of the cover elements. In addition, we present a procedure to apply our previous work to preserve the DCT coefficients histogram of jpeg images.
In the following sections, we first describe some background materials including histogram and co-occurrence matrix traces, LSB+ and our previous improvement on LSB+ method (i.e. LSB++). Then, in Section 3, a method is proposed for selecting a suitable lock key among candidate keys. In Section 4, the generalization of LSB++ to use more than one least significant bit is presented. We discuss using the LSB++ method in the DCT domain in Section 5. The performance of the proposed method is investigated and discussed in Section 6. In Section 7 the experimental procedures and results are shown. Finally, the concluding remarks are given in Section 8.
Section snippets
Background
In this paper, the image pixels and the DCT coefficients are both called cover elements. Therefore, the cover elements in the spatial and transform domains would be the pixels and the DCT coefficients, respectively. In this section, some prerequisites including histogram and co-occurrence matrix traces, LSB+ and our previous improvement on LSB+ (i.e. LSB++) are described.
Selection of the lock key
The statistical information of media covers is generally divided into first and higher order statistical properties. Histogram is the most important first order statistical information. In our previous work, a new method which preserves the histogram of cover media is illustrated [7]. But there are some novel steganalysis methods which use higher order statistical information. The higher order statistical properties consider the dependency of cover elements. The co-occurrence matrices provide
Generalization of LSB++ method
Generally, only the LSB bit of the cover pixels or coefficients is used to conceal the secret message. However, some steganography methods use more than one bit for this purpose. In this section, the extension of the proposed method is presented for the case where more than one bits are used in steganography.
The extended definitions of bin and unit, described in Section 2.3, will be used here. Suppose that S LSB bits are used in the embedding process. Therefore, there are B = 2S bins in each unit
Applying the method in the DCT domain
In this section, we focus on data hiding in the quantized DCT coefficients of jpeg images using the proposed technique. The Discrete Cosine Transform (DCT) is used for jpeg images to transform them into the frequency domain. It does this by grouping the pixels into 8 × 8 blocks and transforming them from 64 values into 64 frequency components. The next step of jpeg compression quantizes these frequencies using a quantization table. The goal of this step is to eliminate the high frequency values.
Performance evaluation
Suppose that S LSB bits are used for hiding the secret message and suppose that hi, i = 1…2S are the frequencies of bins in a unit and Min is the minimum value among hi, i = 1…2S. The maximum and minimum lengths of the secret message which could be hidden in this unit are 2S × Min and Min bits, respectively. In addition, the maximum and minimum capacities are obtained when hi s (i.e. ) of this unit are equal and when Min is equal to zero, respectively.
Furthermore, suppose that hi, i = 1…2S are
Experiments
We used the images of UCID [12] database (Version 2 – includes 1338 images with different textural properties) in our experiments. Each image is converted to grayscale, and resized to 500 × 500 pixels. Fig. 6 shows six images of this database.
In the first experiment, we show that how our improvement on LSB++ (selecting best lock key among all candidate lock keys) reduces data hiding traces in co-occurrence matrixes. For this, we hide a pseudorandom message with 0.3 and 0.6 bpp (bit per pixel) in
Conclusions
Histogram is the most important first order statistics used by some steganalysis methods. LSB+ and outguess are two well-known steganography methods that are secured against these attacks. Our previous work (LSB++) was an improvement on LSB+ method which prohibits some cover elements from changing, resulting in reducing the amount of extra bits.
The LSB++ is secured against histogram based attacks; but there are some steganalysis methods which use higher order statistics such as the
References (36)
- et al.
An intelligent chaotic embedding approach to enhance stego-image quality
Informat. Sci.
(2012) High-payload image hiding with quality recovery using tri-way pixel-value differencing
Informat. Sci.
(2012)Image complexity and feature mining for steganalysis of least significant bit matching steganography
Informat. Sci.
(2008)- et al.
LSB steganographic method based on reversible histogram transformation function for resisting statistical steganalysis
Informat. Sci.
(2012) - et al.
Near-optimal solution to pair-wise LSB matching via an immune programming strategy
Informat. Sci.
(2010) Steganalysis of LSB matching based on statistical modeling of pixel difference distributions
Informat. Sci.
(2010)- et al.
Detection of LSB±1 steganography based on co-occurrence matrix and bit plane clipping
J. Electron. Imag.
(2010) - et al.
Adaptive image steganography using contourlet transform
J. Electron. Imag.
(2013) - Mohammad Fakhredanesh, Reza Safabakhsh, Mohammad Rahmati, A model-based image steganography method using Watson’s...
- et al.
Matrix embedding for large payloads
IEEE Trans. Informat. Forensics Secur.
(2006)