You are on page 1of 16

Commun Nonlinear Sci Numer Simulat 17 (2012) 3287–3302

Contents lists available at SciVerse ScienceDirect

Commun Nonlinear Sci Numer Simulat


journal homepage: www.elsevier.com/locate/cnsns

Steganographic algorithm based on a chaotic map


Ali Kanso a,⇑, Hala S. Own b
a
Department of Mathematics, Kuwait University, P.O. Box 5969, Safat 13060, Kuwait
b
Department of Solar and Space Research, National Research Institute of Astronomy and Geophysics, El-Marsad Street, P.O. Box 11421, Helwan, Egypt

a r t i c l e i n f o a b s t r a c t

Article history: In this paper, we suggest a new steganographic spatial domain algorithm based on a single
Received 7 January 2011 chaotic map. Unlike most existing steganographic algorithms, the proposed algorithm uses
Received in revised form 18 October 2011 one chaotic map to determine the pixel position of the host color image, the channel (red,
Accepted 18 December 2011
green or blue) and the bit position of the targeted value in which a sensitive information bit
Available online 28 December 2011
can be hidden. Furthermore, this algorithm can be regarded as a variable-sized embedding
algorithm. Experimental results demonstrate that this algorithm can defeat many existing
Keywords:
steganalytic attacks. In comparison with existing steganographic spatial domain based
Steganography
LSBs
algorithms, the suggested algorithm is shown to have some advantages over existing ones,
Chaos namely, larger key space and a higher level of security against some existing attacks.
Ó 2011 Elsevier B.V. All rights reserved.

1. Introduction

The growing number of internet-based applications has made digital communication nowadays an essential part of infra-
structure. Confidentiality in some digital communication is necessary when sensitive information is being shared between
two communicating parties over a public channel. Cryptography and steganography are two important tools for providing
confidentiality and protecting sensitive information. The former is the art and science of writing sensitive information is such
a way that no one but the intended recipient can recover it. Whereas the latter is the art and science of hiding sensitive infor-
mation within innocuous documents in an undetectable way. The information to be hidden can be of any kind such as text,
image, sound and video files. The innocuous documents (also known as hosts/covers/carriers) can also be of any kind as long
as they do not seem suspicious. However, with the advent of the digital technology, digital hosts such as image, audio and
video files have become nowadays the most commonly used host files. Due to their insensitivity for the human visual sys-
tem, digital images can be regarded as an excellent choice for hiding sensitive information. One of the most commonly used
data hiding approaches is the substitution technique. This approach is based on the fact that parts of the image which are
regarded as redundant or noisy are replaced by the sensitive information bits [1]. After embedding this information into the
host, the resulting image is referred to as a stego-image and the file is referred to as a stego-file. The embedding algorithm
may require a secret key, referred to as a stego-key. Thus, a possible formula of the process may be given as illustrated in
Fig. 1.
Steganographic algorithms can be classified into two categories: spatial domain and transform domain based algorithms.
Most spatial domain based algorithms embed the sensitive information in the least significant bits (LSBs) of the host image
pixels [2–11]. While transform domain based algorithms embed sensitive information in the host image by modulating coef-
ficients in a transform domain, such as the Discrete Fourier Transform, Discrete Cosine Transform, or Wavelet Transform
[12–14]. Although transform domain based algorithms are more robust to steganalytic attacks, the spatial domain based
algorithms are much simpler and faster.

⇑ Corresponding author. Tel.: +965 24985345; fax: +965 24985345.


E-mail address: akanso@hotmail.com (A. Kanso).

1007-5704/$ - see front matter Ó 2011 Elsevier B.V. All rights reserved.
doi:10.1016/j.cnsns.2011.12.012
3288 A. Kanso, H.S. Own / Commun Nonlinear Sci Numer Simulat 17 (2012) 3287–3302

Fig. 1. Steganographic model.

The manipulation of the LSB plane of the host image by direct replacement of its LSBs with the information bits can
be regarded as one of the most commonly used steganographic techniques [15]. It is a simple, effective and fast hiding
technique. In LSBs embedding technique, a subset of the LSB planes of the host image is replaced with the information
bits directly. This replacement can be done sequentially or randomly. Although the former approach is more convenient,
it suffers from a serious security problem, that is, there exists an obvious statistical difference between the modified part
and the unmodified part of the host image [16]. Whereas the latter approach results in a higher security level. Further-
more, there exist two types of LSBs embedding algorithms: fixed-sized and variable-sized. In a fixed-sized embedding
algorithm, the same number of information bits is embedded in the LSBs of each pixel of the host image. Whereas in
a variable-sized embedding algorithm, the number of information bits embedded in the LSBs of the host image varies
depending on the contrast and luminance characteristics [17]. Several versions of the LSBs embedding algorithms have
appeared in the literature such as those presented in [15,18,19], and other popular tools which can be downloaded from
the internet such as Xiao steganography [20], wbStego [21], Stegomagic [22], and S-Tools, Steganos, Hide and Seek, etc.
[23]. In parallel to that, many steganalysis tools that reveal the insecurity of some LSBs replacement algorithms and
other existing data hiding tools have been suggested [24–43]. For example, Fridrich et al. suggested a RS steganalytic
attack that can estimate the length of information embedded in a host image for various LSBs algorithms [39–41]. This
attack is considered to be suitable for both grayscale and color images, where the information are embedded in a ran-
dom-like manner. Nevertheless, with the existence of the steganalytic attacks targeting LSBs embedding algorithms, the
high embedding capacity and low computational complexity of these algorithms have encouraged researchers to further
participate in this area.
Chaotic maps are characterized by sensitivity to initial conditions and control parameters, unpredictability, ergodicity
and mixing properties, etc. All these properties make them suitable building blocks in the design of many cryptographic,
watermarking and steganographic algorithms [44–49]. In this paper, we suggest a new LSBs spatial domain algorithm that
is based on a single two-dimensional chaotic map. The proposed algorithm is a variable-sized embedding algorithm. It em-
beds the sensitive information using the chaotic map in a random-like manner into some pixels of the host color image. Fur-
thermore, in the host pixel, the channel (red, green or blue) is determined in a random-like manner. Moreover, the bit
position of the targeted value in which an information bit can be hidden is chosen in a random-like manner. This type of
selection of the embedding positions results in a high security level.
The paper is organized as follows: Section 2 presents the used 2-D chaotic cat map and highlight its properties. Section 3
is devoted to the suggested steganographic algorithm. In this section, we present a detailed description of the proposed algo-
rithm and a flowchart. In Section 4, we analyze the security of the suggested algorithm. In this section, we present some of
the most efficient steganalytic attacks and investigate the resistance of the proposed algorithm against these attacks. We also
perform a comparison with some existing steganographic spatial domain algorithms to demonstrate the advantages of the
suggested algorithm over existing ones. Finally, we end the paper with some concluding remarks.

2. Chaotic map

One of the most studied 2-D invertible chaotic maps is the Arnold cat map [50], an automorphism map, given by:
    
xiþ1 1 1 xi
¼ ðmod 1Þ ¼ AX i ðmod 1Þ; ð1Þ
yiþ1 1 2 yi
 
1 1
where A ¼ and Xi = (xi, yi)T 2 [0, 1)  [0, 1). The Arnold cat map is area preserving since the determinant of the matrix
1 2
A, jAj, is equal to 1. Eq. (1) is one-to-one, each point of the unit square is uniquely mapped into another point in the unit
pffiffi pffiffi
square. The Lyapunov exponents of the Arnold cat map are k1 ¼ ln ð3þ2 5Þ and k2 ¼ ln ð32 5Þ. The positive exponent k1 reflects
the high sensitivity of Eq. (1) to its initial conditions, which is one of the main properties of chaos.
One way to generalize the above 2-D Arnold cat map can be achieved by introducing a new parameter a as follows:
    
xiþ1 1 a xi e i ðmod 1Þ;
¼ 2
ðmod 1Þ ¼ AX ð2Þ
yiþ1 a a þ1 yi
A. Kanso, H.S. Own / Commun Nonlinear Sci Numer Simulat 17 (2012) 3287–3302 3289

Fig. 2. This is a plot of (xi,yi), for i = 0, 1, . . . , 10000.

 
e¼ 1 a
where A 2 with a being a positive control parameter and Xi = (xi, yi)T 2 [0, 1)  [0, 1). One can easily notice that
a a þ1
pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi
e ¼ 1 which means that Eq. (2) is one-2-one. Furthermore, the eigenvalues of A
j Aj e are K1 ¼ ða2 þ2Þþ ða2 þ2Þ2 4 > 1 and
pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi  p2 ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi 
ða2 þ2Þ ða2 þ2Þ2 4 ða2 þ2Þþ ða2 þ2Þ2 4Þ
K2 ¼ 2
< 1. Hence, the Lyapunov exponents of Eq. (2) are k1 ¼ ln 2
and
 pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi 
ða2 þ2Þ ða2 þ2Þ2 4Þ
k2 ¼ ln 2
. It is clear that one of the Lyapunov exponents, i.e., k1, is positive for any a > 0. Therefore, the gen-

eralized cat map has chaotic behavior for a > 0 which implies that it retains its mixing property and high sensitive depen-
dence on its initial conditions/control parameters.
Fig. 2 depicts the attractors of Eq. (2) starting from the initial condition x0 = y0 = 0.1 for different values of a.

Fig. 3. The time series plot of Eq. (2) with x0 = y0 = 0.1 and a = 2.37. This is a plot of xi versus time.
3290 A. Kanso, H.S. Own / Commun Nonlinear Sci Numer Simulat 17 (2012) 3287–3302

Fig. 4. Time series plots of Eq. (2).

Fig. 5. Graphical summary of MINITAB statistical tests for the sequence fxi gNi¼0 , where N = 99999.

Fig. 3 shows the irregularity in the time series of Eq. (2). In this figure, the time series of Eq. (2) is plotted against time,
where x0 = y0 = 0.1 and a = 2.37.
Fig. 4 demonstrates the high sensitivity of Eq. (2) to its initial conditions/control parameters.
Some statistical test suites such as Testu01 [51] and MINITAB were used to test the statistics of hundreds of sequences of
the generated real values of Eq. (2), i.e., xi and yi, where each sequence is of length 106. In these tests, the initial conditions
were randomly chosen from [0,1) and the control parameter was randomly chosen from the set of integers {4,5, . . . ,81}. The
outcome of these tests turned out to be satisfactory.
Figs. 5 and 6 present graphical summaries of MINITAB statistical tests acting on sample sequences fxi gNi¼0 and fyi gNi¼0 ,
respectively, where N = 99999. The initial condition in this test is (x0, y0) = (0.1, 0.1) and the control parameter a = 7.
A. Kanso, H.S. Own / Commun Nonlinear Sci Numer Simulat 17 (2012) 3287–3302 3291

Fig. 6. Graphical summary of MINITAB statistical tests for the sequence fyi gNi¼0 , where N = 99999.

3. The proposed steganographic algorithm

The good statistical distribution properties of the chaotic map defined in Eq. (2) motivate us to use it in the design of a
steganographic algorithm. This section is devoted to a detailed description of the suggested algorithm which embeds the
sensitive information, M, in RGB mode according to a search rule given later in this section.

3.1. The key space

When loaded with an initial condition (x0, y0), and a control parameter a, Eq. (2) generates a sequence of pairs (xi, yi), for
i = 0, 1, . . . . The 5-tuple (x0, y0, a, u, v), where u and v are integers in [1,7] defined later, serves as the secret key, K. The key space
of Eq. (2) is determined by the number of all possible values for x0, y0, and a for which Eq. (2) exhibits chaotic behavior added
to that the integers u and v in [1,7]. Hence, (x0, y0) can be any pair in [0, 1)  [0, 1), and a can be any positive integer. Thus, the
size of the key space is large, and hence, any exhaustive search through all possible keys is impractical.

3.2. The algorithm

Suppose that the given information, M, is in binary format, and it is of length l, i.e., M = m1, m2, . . . , ml. This algorithm em-
beds between 1 and (v  u + 1) bit(s) of M in some bit position(s) of a channel (RGB) of the pixel position (e,f) (for some e,f) of
the host image. At any time, a bit mj (for j 2 [1, l]) can be embedded in one of the bit positions u, u + 1, . . . , v of the red, green or
blue value of the image pixel, where u P 1 and u 6 v 6 7. However, before the embedding of the sensitive information takes
place the following steps have to be performed:

3.2.1. Preprocessing

1. Suppose that the host color image is of size M  N  3. Divide the interval [0, 1] into M equal subintervals I1, I2, . . . , IM,
where each subinterval is of length e ¼ M1 , i.e, Ih = [(h  1)  e,h  e), for h = 1, 2, . . . , M. (The index h of a subinterval Ih is used
to determine the x-coordinate of the pixel in the color image where an information bit mj can be hidden.)
2. Divide the interval [0, 1] into N equal subintervals J1, J2, . . . , JN, where each subinterval is of length q ¼ N1 , i.e, Jk = [(k  1)  q,
k  q), for k = 1, 2, . . . , N. (The index k of a subinterval Jk is used to determine the y-coordinate of the pixel in the color image
where an information bit mj can be hidden.)
3. Divide each subinterval Ih, for h = 1, 2, . . . , M into three equal subintervals I1h ; I2h and I3h , where each subinterval is of length
r ¼ 13 e, i.e., Irh ¼ ½ðh  1Þ  e þ ðr  1Þ  r; ðh  1Þ  e þ r  rÞ, for r = 1, 2, 3. (The subinterval Iah , where 1 6 a 6 3, is used to
determine the channel red, green or blue of the image pixel in which mj can be hidden.)
3292 A. Kanso, H.S. Own / Commun Nonlinear Sci Numer Simulat 17 (2012) 3287–3302

4. Divide each subinterval Jk, for k = 1, 2, . . . , N into (v  u + 1) equal subintervals J uk ; Iuþ1 k ; . . . ; J vk , where each subinterval is of
1
length f ¼ ðv uþ1Þ  q, i.e., J sk ¼ ½ðk  1Þ  q þ ðs  uÞ  f; ðk  1Þ  q þ ðs  u þ 1Þ  fÞ, for s = u, (u + 1), . . . , v. (The subinterval J sk ,
where u 6 s 6 v, is used to determine the sth bit of the targeted value which may be replaced by mj.)

3.2.2. Embedding process


The embedding of the bit mj, for j = 1, 2, . . . , l, into the color host image is as follows: given an iterate xi 2 Ih, for some
h 2 [1, M], as an input to a search algorithm that searches in forward direction the sequence fxi g1 i¼0 generated by Eq. (2) until
the first iterate, xd (d > i), that falls in the subinterval Ih containing xi is reached. Suppose that the iterate proceeding xd, i.e.,
xd+1, belongs to Ie, and the iterate proceeding yd, i.e., yd+1, belongs to If, for some e 2 [1, M] and f 2 [1, N]. Then, the pixel coor-
dinate (e,f) of the host image serves as a possible host for mj. The channel red, green or blue is chosen to possibly host mj
based on which of the three subintervals of Ie contains xd+1. The bit mj can be embedded in place of a bit (determined next)
of the binary representation of the red, green or blue value depending on whether it belongs to I1e ; I2e or I3e , respectively. If yd+1
belongs to J sf ; and there is no indication that the sth bit position in the binary representation of the targeted value in position
(e, f) has been used, then hide mj in place of the sth bit of the targeted value, set a flag to indicate that the sth bit position of
that value in position (e,f) has been used, and take the next real value xd+2 as the input to the search algorithm in order to
embed the next information bit. However, if the flag indicates that an information bit has already been hidden there, then
search the sequence fxi g1 i¼0 for a second iterate that falls in Ih to derive the pixel position, the channel and the bit position of
the value which can be used to hide the information bit mj.
The flowchart of the embedding algorithm is given in Fig. 7.

Remark 1. Note that xi 2 Ia if bxi  Mc (mod M) + 1 = a. Furthermore, xi 2 Ica if b3  xi  Mc(mod 3) + 1 = c. In a similar manner,
we can determine to what subinterval yi belong.

3.2.3. Extraction process


The extraction of the sensitive information is just the inverse of the embedding algorithm. In the extraction process, one
must have a complete knowledge of the secret key K which consists of the initial condition (x0, y0), the control parameter a
and the exact values of u and v which determine from what and up to what bit position the embedding is performed. The
extraction process is as follows: given an iterate xi 2 Ih, for some h 2 [1, M], as an input to the search algorithm that searches
in forward direction the sequence fxi g1 i¼0 generated by Eq. (2) for the first iterate, xd (d > i), that falls in the subinterval Ih con-
taining xi. Suppose that the iterate proceeding xd, i.e., xd+1, belongs to Ie, and the iterate proceeding yd, i.e., yd+1, belongs to If,
for some e 2 [1, M] and f 2 [1, N]. Then, the pixel coordinate (e, f) of the host image may contain the information bit mj. Now mj
can be extracted from the sth bit position of the red, green or blue value, where s is determined from the subinterval J sf con-
taining yd+1, based on whether xd+1 belongs to I1e , I2e or I3e , respectively. If there is no indication that the sth bit of the targeted
value in position (e,f) has already been extracted, then mj = sth bit and a flag is used to indicate that this bit has been ex-
tracted. The next real value xd+2 is taken as the input to the search algorithm in order to extract the next information bit.
However, if the flag indicates that an information bit has already been extracted, then search the sequence fxi g1 i¼0 for a sec-
ond iterate that falls in Ih to derive the pixel position, the channel and the bit position of the value which can be used to
extract the information bit mj.
Experimental results show that all subintervals Ie and Jf (for e,f = 1, 2, . . . , 512) are reached approximately the same number
of times. Fig. 8 depicts that on average each of the I and J subintervals (that are associated with x-values and y-values respec-
tively) is reached 1953 times. Here, the value of a is taken to be 7.
Fig. 9 shows the total number of times Eq. (2) must be iterated to reach a specific subinterval. The mean in the case of the I
subintervals is 531. While the mean in the case of the J subintervals is 521. The fact that the mean is not too small supports
the chaotic behavior of the map, on the other hand, the maximum number of required iterations is not too large, which
means every subinterval is reached within a reasonable number of iterations.
Statistical tests such as NIST [52] and Diehard [53] have demonstrated that sequences of integers {ei} and {fi} gener-
ated by the above algorithm, (where ei and fi denote the indices of the visited I and J subintervals, respectively), possess
good randomness properties which are inherited from the good randomness properties of the sequences fxi g1 i¼0 and
fyi g1
i¼0 .
Table 11 presents the NIST test suite results obtained from applying all 16 tests included in the NIST suite to two sets of inte-
gers A and B, where set A contains 50 sequences fei g99999
i¼0 and set B contains 50 sequences ffi g99999
i¼0 . For this test, each of the inter-
vals I and J is divided into 256 subintervals.
The minimum pass rate for each statistical test with the exception of the random excursion (variant) test is approxi-
mately = 47 for a sample size = 50 sequences. The minimum pass rate for the random excursion (variant) test is approxi-
mately = 29 for a sample size = 31 sequences.

1
Table 1 contains samples of the NonOverlappingTemplate, RandomExcursions and RandomExcursionsVariant test results.
A. Kanso, H.S. Own / Commun Nonlinear Sci Numer Simulat 17 (2012) 3287–3302 3293

Fig. 7. The flowchart of the embedding algorithm.


3294 A. Kanso, H.S. Own / Commun Nonlinear Sci Numer Simulat 17 (2012) 3287–3302

Fig. 8. The number of times each subinterval is reached when Eq. (2) is iterated 1000000 times.

Fig. 9. The number of iterations needed to reach a subinterval.

In what follows, we present some experimental results to demonstrate that the total number of bits embedded in each
image channel (RGB) of a color image is approximately 3l , where l is the length of the sensitive information. Table 2 shows the
results of the total number of bits embedded in each image channel for different bit range substitutions (BRS2) when 5000 bit
length sensitive information are embedded in a color image of size (512  512  3).
From Table 2, one can observe that the information bits are distributed uniformly along the three channels of the stego-
image for all BRS. In this table, the flags indicate the number of times a used bit position (RGB) is attempted to be used more
than once.

4. Experimental results

In this section, experimental results are given to demonstrate the performance of the suggested algorithm. Comparative
experimental studies are also presented to show the superiority of the proposed algorithm over typical existing ones. Four
standard 512  512  3 colored images, namely, Lenna, Hockey, Whorse and Peppers4 are used as host images for hiding
sensitive information of length 5000 bit. In addition to the invisibility attack and undetectability attack, stego-images of
the proposed algorithm have been subjected to two very important statistical attacks, namely the chi-square attack and
RS steganalysis. These two attacks generally perform very well at detecting hidden information embedded by LSB embedding

2
BRS stands for bit range substitutions, by which we mean the selected range for the targeted bit positions (i.e., the values assigned for u and v).
A. Kanso, H.S. Own / Commun Nonlinear Sci Numer Simulat 17 (2012) 3287–3302 3295

Table 1
NIST statistical test suite results for two sets Aand B. The initial conditions are randomly chosen in (0, 1), and the control parameter a is a random integer greater
than 4.

Set A B
Statistical test p-Value Proportion p-Value Proportion
Frequency 0.935716 48/50 0.494392 50/50
Block-frequency 0.816537 50/50 0.319084 49/50
Cumulative-sums (Forward) 0.739918 48/50 0.236810 50/50
Cumulative-sums (Reverse) 0.122325 48/50 0.935716 50/50
Runs 0.319084 50/50 0.739918 50/50
Longest-runs 0.108791 49/50 0.171867 49/50
Rank 0.262249 50/50 0.350485 49/50
FFT 0.213309 49/50 0.455937 49/50
Non-overlapping-templates 0.739918 50/50 0.911413 50/50
Overlapping-templates 0.851383 50/50 0.289667 49/50
Universal 0.739918 49/50 0.075719 48/50
Approximate entropy 0.616305 49/50 0.616305 50/50
Random-excursions 0.931952 31/31 0.275709 31/31
Random-excursions variant 0.568055 31/31 0.772760 31/31
Serial 1 0.058984 48/50 0.262249 50/50
Serial 2 0.574903 49/50 0.574903 49/50
Linear-complexity 0.108791 50/50 0.739918 49/50

Table 2
Results in terms of number of bits embedded in red, green and blue using different BRS with different control parameters.

BRS Number of bits embedded Number of bits embedded Number of bits embedded Flag distributions
in the red channel in the green channel in the blue channel
Red Green Blue
1–7 1647 1663 1690 1 0 1
2–7 1634 1684 1682 1 1 0
3–7 1681 1652 1667 1 0 1
4–7 1696 1653 1651 0 1 0
5–7 1683 1657 1660 1 2 1
6–7 1650 1658 1692 2 2 2
1–6 1658 1661 1681 1 0 1
2–6 1659 1659 1682 1 0 1
3–6 1676 1685 1639 1 0 0
4–6 1645 1679 1676 3 2 2
5–6 1708 1621 1671 2 2 1

algorithms. Furthermore, host images and their corresponding stego-images (for different BRS) have been subjected to peak
signal-to-noise ratio (PSNR) and structural similarity (SSIM) index.

4.1. Visual attacks

Visual attacks are considered amongst the simplest and most important types of steganalysis. In a visual attack, the stego-
image is examined with the naked eye to identify any obvious inconsistencies [54]. Fig. 10 shows the four host images and
their corresponding stego-images which are generated by the proposed algorithm, respectively. It can be observed from
Fig. 10 that the sensitive information embedded using the suggested algorithm are unrevealed to human eye. In this figure,
different BRS have been used (i.e., different values are assigned for u and v).
Undetectability is one of the important features of any steganographic algorithm. To preserve undetectability, stegano-
graphic algorithms are designed with the goal of minimizing the artifacts introduced by the embedding algorithm in the host
image. These artifacts usually appear as a noise in the host image, which affect the statistical measures [55]. Thus, the algo-
rithm which makes fewer statistical changes in the host image is generally regarded as having better performance than that
which makes more changes. One of the famous measures of undetectability is histogram distribution which detects if there is
any significant changes in frequency of occurrence of the colors RGB by comparing the host image with its stego-image.
Fig. 11 shows the histograms of Hockey (RGB) before and after the embedding process. These histograms are produced using
Imagj software [56]. By comparing the histograms of the three RGB channels before and after the embedding of information,
one can notice that the changes are negligible. Therefore, according to these results it can be denoted that the suggested
algorithm is immune against this type of steganalytic attacks.
3296 A. Kanso, H.S. Own / Commun Nonlinear Sci Numer Simulat 17 (2012) 3287–3302

Fig. 10. Host and stego-images.

4.2. Statistical test

4.2.1. Chi-square test


The chi-square test is one of the important statistical tests which is utilized to test whether there exists a significant dif-
ference between the expected frequencies and the observed frequencies. In this subsection, we apply the chi-square test to
numerous stego-images generated by the suggested algorithm for different BRS. Furthermore, we perform a comparison
based on the chi-square test between the suggested algorithm and existing steganographic algorithms such as Xiao [20],
wbStego [21] and Stegomagic [22].
Fig. 12 shows the chi-square plot of the host image Hockey without any hidden information. This figure is generated by
Guillermito software [57]. It could be interpreted by; the red line is the result of the chi-square test. If it is close to one, then
the probability for random embedded information is high. The green curve represents the average value of the LSBs on the
current block. So, if there is random information embedded, the green curve will stay around 0.5. In what follows (see
Fig. 13), we apply the chi-square test on the stego-images generated by the suggested algorithm for different BRS. From this
figure, one can easily observe that the chi-square test results of the stego-images generated by the suggested algorithm are
very satisfactory for all BRS. Thus, one can conclude that there is high probability that there is no information hidden in the
stego-images of the suggested algorithm.
In the remaining part of this subsection, we apply the chi-square test to numerous stego-images generated by Xiao [20],
wbStego [21] and Stegomagic [22] algorithms. The obtained results are presented in Fig. 14. From this figure, one can observe
that some of the obtained results are also satisfactory. However, in comparison with the results of the suggested algorithm,
the latter returned better results for most tests applied. The results of the stego-images of the proposed algorithm, presented
in Fig. 13, show that for all BRS the red line is flat at zero except few points at the beginning. Furthermore, the green curve is
very variable. Whereas with the stego-images of Xiao and wbStego algorithms, presented in Fig. 14, the green curve is close
to 0.5 (except for the stego-image generated by Stegomagic).

4.2.2. RS Attack
StegScrete [43] is a steganalysis package which can be used to measure the performance of steganographic algorithms
against attacks such as RS attacks. This package has been used to determine the performance of the suggested algorithm
against RS attacks. As a result, it turned out that this algorithm is resistance against this type of attacks. Fig. 15 shows
some experimental results obtained by applying RS steganalytic attacks on the stego-images of the proposed algorithm.
This figure also includes the results of RS attacks on stego-images generated by Xiao [20], wbStego [21] and Stegomagic
[22] algorithms. The x-axis represents the four different used images Lenna, Hockey, Whorse and Peppers4 while the y-
axis shows the estimated embedding rate using RS steganalysis. From Fig. 15, one can clearly observe that all the embed-
ding rates estimated by RS steganalysis of the suggested algorithm are smaller than 0.02 and are much smaller than those
A. Kanso, H.S. Own / Commun Nonlinear Sci Numer Simulat 17 (2012) 3287–3302 3297

Fig. 11. Histogram of the host and stego-image.

Fig. 12. Chi-square test of the original image Hockey.

of some existing algorithms. These experimental results demonstrate that the proposed algorithm is immune against RS
steganalysis.
Therefore, Figs. 13–15 demonstrate the better performance of the suggested algorithm over existing ones against chi-
square and RS attacks.

4.2.3. PSNR test


The peak signal-to-noise ratio, PSNR, represents the ratio between the maximum possible power of a signal and the power
of corrupting noise that affects the fidelity of its representation. Due to the fact that many signals have a very wide dynamic
range, PSNR is often written in terms of the logarithmic decibel scale [58]. It is defined via the mean-squared error (MSE) that
is given by
3298 A. Kanso, H.S. Own / Commun Nonlinear Sci Numer Simulat 17 (2012) 3287–3302

Fig. 13. p-Values of chi-square test on Hockey stego-image with BRS (a) 1–7 (b) 3–6 (c) 3–7 (d) 4–7.

P
 I2 ðm; nÞ2
M;N ½I 1 ðm; nÞ
MSE ¼ ; ð3Þ
MN
where M and N are the number of rows and columns, respectively, in the two input monochrome images (the original host I1
and its stego-image I2). The PSNR is then given by
!
R2
PSNR ¼ 10 log10 ; ð4Þ
MSE

where R stands for the maximum possible pixel value of the image.
For color images with three RGB values per pixel, the PSNR is defined by
!
R2
PSNR ¼ 10 log10 ; ð5Þ
MSERGB

where MSERGB is the sum over all squared value differences divided by image size and by three
A. Kanso, H.S. Own / Commun Nonlinear Sci Numer Simulat 17 (2012) 3287–3302 3299

Fig. 14. p-Values of the chi-square test on Hockey stego-image produced by three different steganographic algorithm.

Fig. 15. RS steganalysis comparison between the suggested algorithm and three existing ones.

MSER þ MSRG þ MSEB


MSERGB ¼ : ð6Þ
3

It is well known that an image with a PSNR value exceeding 30 dB is considered to be acceptable to human perception [59].
Table 3 shows a comparison according to PSNR values between the original images and stego-images obtained by apply-
ing our algorithm with different BRS. From this table one can observe that all the PSNR values exceed 39 dB. Thus, one can
conclude that color distortion is invisible for human sight [60].
3300 A. Kanso, H.S. Own / Commun Nonlinear Sci Numer Simulat 17 (2012) 3287–3302

Table 3
PSNR results using different BRS for different images.

BRS Host images


Lenna Hockey Whorse Peppers4
PSNR results
1–7 43.95 44.09 43.95 43.91
2–7 43.63 43.50 43.26 43.43
3–7 42.61 42.80 42.41 42.74
4–7 41.80 41.73 42.02 41.78
5–7 40.46 40.60 40.68 40.69
6–7 39.12 39.01 39.12 39.05
1–6 49.53 49.45 49.61 49.41
2–6 48.57 48.84 48.63 48.82
3–6 47.62 47.83 47.71 47.74
4–6 46.50 46.67 46.62 46.46
5–6 45.02 45.09 44.98 45.04

Table 4
SSIM results using different BRS for different images.

BRS Host images


Lenna Hockey Whorse Peppers4
SSIM results
1–7 0.9964 0.9960 0.9954 0.9962
2–7 0.9956 0.9952 0.9945 0.9959
3–7 0.9947 0.9946 0.9936 0.9950
4–7 0.9938 0.9925 0.9927 0.9932
5–7 0.9912 0.9905 0.9901 0.9916
6–7 0.9873 0.9867 0.9860 0.9872
1–6 0.9988 0.9986 0.9987 0.9989
2–6 0.9986 0.9984 0.9984 0.9986
3–6 0.9982 0.9980 0.9979 0.9983
4–6 0.9977 0.9975 0.9973 0.9978
5–6 0.9967 0.9964 0.9963 0.9968

4.2.4. Structural similarity (SSIM) index


SSIM index is an algorithm suggested by Wang et al. [61] for measuring the similarity between two images. In this sub-
section, SSIM is used to measure the similarity between the host image I1 and its corresponding stego-image I2. SSIM is given
by
ð2lx ly þ C 1 Þð2rxy þ C 2 Þ
SSIMðI1 ; I2 Þ ¼ ð7Þ
ðl2x þ l2y þ C 1 Þðr2x þ r2y þ C 2 ÞÞ

where lx, ly, rx, ry and rxy are local statistics parameters of I1 and I2, and C1 = (L k1)2 and C2 = (L k2)2, with L being the dy-
namic range of the pixel-values, and k1 = 0.01 and k2 = 0.03 by default. For further readings on this algorithm the reader is
referred to [61].
This algorithm returns a decimal value between 1 and 1. A value 1 is attained in the case where I1 = I2 (i.e., in the case of
two identical images).
From Table 4 one can observe that all attained values of SSIM index are close to 1 which indicates that the host image and
its corresponding stego-image are very similar.

5. Conclusion

In this paper, we have suggested a variable-sized steganographic algorithm based on a single 2-D chaotic map. This algo-
rithm embeds the sensitive information into the host image in a random-like manner according to the output of the used
chaotic map. The presented simulation results show the resistance of the suggested algorithm against some existing stegan-
alytic attacks. Furthermore, they show its advantages over some existing algorithms.

References

[1] S. Katzenbeisser, F. Petitcolas, Information hiding techniques for steganography and digital watermarking, Computer Security Series, Artech House,
2000.
A. Kanso, H.S. Own / Commun Nonlinear Sci Numer Simulat 17 (2012) 3287–3302 3301

[2] C. Kurak, J. McHugh, A cautionary note on image downgrading, In: Proceedings of IEEE Eight Annual Comput Security Applications Conference, San
Antonio, USA, Nov./Dec. 1992, pp. 153–155.
[3] I. Moskowitz, G. Longdon, L. Chang, A new paradigm hidden in steganography, In: Proceedings of Workshop on new security paradigms, Ballycotton,
Country Cork, Ireland, ACM Press, New York, 2000, pp. 41–50.
[4] T. Sharp, An implementation of key-based digital signal steganography, In: Proceedings of Fourth International Workshop on Information Hiding,
Pittsburgh, USA, Springer, LNCS, vol. 2137, 2001, pp. 13–26.
[5] E. Kawaguchi, R. Eason, Principle and applications of BPCS-Steganography, In: Proceedings of Multimedia Systems and Applications Conference, Boston,
MA, USA, SPIE series, vol. 3528, 1998, pp. 464–473.
[6] Bender W, Gruhl D, Morimoto N, Lu A. Techniques for data hiding. IBM Syst J 1996;35(3& 4):313–36.
[7] I. Moskowitz, N. Johnson, M. Jacobs, A detection study of an NRL steganographic method, NRL Memorandum Report NRL/MR/554002-8635, Naval
Research Laboratory, Code 5540, Washington, 2002.
[8] M. Noto, MP3Stego: Hiding text in MP3 files, SANS Institute InfoSec Reading Room, Sans Institute, 2001.
[9] N.F. Johnson, S. Katzenbeisser, A survey of steganographic techniques, In: S. Katzenbeisser and F. Peticolas (Eds.), Information Hiding, Artech House,
Norwood, MA, 2000, pp. 43–78.
[10] Zhi L, Ai Fen S, Yi Xian Y. A LSB steganography detection algorithm. IEEE Proceedings on Personal Indoor and Mobile Radio Communications
2003:2780–3.
[11] J. Fridrich, M. Goljan, Digital image steganography using stochastic modulation, In: SPIE Symposium on Electronic Imaging, San Jose, CA, 2003, pp. 191–
202.
[12] R. El Safy, H. Zayed, A. El Dessouki, An adaptive steganographic technique based on integer wavelet transform, In: Proceedings of IEEE Networking and
Media Convergence (ICNM 2009), Cairo, Egypt, 2009, pp. 111–117.
[13] Chang C, Chen T, Chung L. A steganographic method based upon JPEG and quantization table modification. Info Sci 2002;141:123–38.
[14] R. Chu, X. You, X. Kong, X. Ba, A DCT-based image steganographic method resisting statistical attacks, In: Proceedings of (ICASSP ’04), IEEE International
Conferenceon Acoustics, Speech, and Signal Processing, 17–21 May, vol. 5, 2004, pp. V-953–956.
[15] Chan C, Cheng L. Hiding data in images by simple LSB substitution. Pattern Recog 2004;37(3):469–74.
[16] A. Westfeld, and A. Pfitzmann, Attacks on steganographic system, In: Proceeding of Information Hiding, Springer-Verlag, LNCS vol. 1768, 1999, pp. 61–
76.
[17] Lee Y, Chen L. High capacity image steganographic model. IEEE Proceedings on Vision Image and Signal Processing, China 2000;146(3):288–94.
[18] Wang RZ, Lin CF, Lin IC. Image hiding by LSB substitution and genetic algorithm. Pattern Recog 2001;34(3):671–83.
[19] S.H. Liu, T.H. Chen, H.X. Yao, W. Gao, A variable depth LSB data hiding technique in images, In: Proceedings of Third International Conference on
Machine Learning and Cybernetics, Shanghai, PR China, 2004, pp. 3990–3994.
[20] Xiao Steganography 2.6.1, 2006/7, (<http://xiao-steganography.en.softonic.com/>).
[21] wbStego Steganography Tool, 2004, (<http://wbstego.wbailer.com/>).
[22] S. Suresh, K. Shibin, S. Anoop, K. Vivek, Stegomagic, 2005, (<http://www.oocities.com/tmx575/>).
[23] Steganography Tools. <http://www.jjtc.com/Security/stegtools.htm>.
[24] N.F. Johnson, S. Jajodia, Steganalysis of images created using current steganography software, In: Workshop on Information Hiding Proceedings,
Portland, Oregon, USA, 15–17 April 1998, LNCS, vol. 1525, Springer-Verlag, 1998, pp. 273–289.
[25] J. Fridrich, M. Goljan, R. Du, Reliable detection of LSB steganography in color and grayscale images, In: Proceedings of ACM Workshop Multimedia
Security, 2001, pp. 27–30.
[26] Dumitrescu S, Wu X, Wang Z. Detection of LSB steganography via sample pair analysis. IEEE Trans Signal Process 2003;51(7):1995–2007.
[27] Zhang T, Ping XJ. A new approach to reliable detection of LSB steganography in natural image. Signal Process 2003;83(10):545–8.
[28] J. Fridrich, Feature-based steganalysis for JPEG images and its implications for future design of steganographic schemes, In: Proceedings of sixth
Information Hiding Workshop, LNCS, vol. 3200, 2004, pp. 67–81.
[29] J. Fridrich, M. Goljan, D. Hogea, Steganalysis of JPEG images: breaking the F5 algorithm, In: Proceedings of fifth International Workshop on Information
Hiding, LNCS, vol. 2578, Springer, Berlin, 2002, pp. 310–323.
[30] Provos N, Honeyman P. Hide and Seek: An introduction to stegangography. IEEE Security Privacy Mag 2003:32–44.
[31] StegSecret, A simple steganalysis tool, (<http://stegsecret.sourceforge.net/>).
[32] Stego Suite, (<www.wetstonetech.com>).
[33] Ker Andrew D. Quantitive evaluation of pairs and RS steganalysis. Proceedings of SPIE Security, Steganography, Watermarking Multimedia Contents
2004;5306:83–97.
[34] Harmsen J, Pearlman W. Higher-order statistical steganalysis of palette images. Proceedings of SPIE Security Watermarking Multimedia Contents
2003;5020:131–42.
[35] Ker AD. Steganalysis of LSB matching in grayscale images. IEEE Signal Process Lett 2005;12(6):441–4.
[36] Goljan M, Fridrich J, Holotyak T. New blind steganalysis and its implications. Proceedings of SPIE, Security, Steganography, and Watermarking of
Multimedia Contents VIII 2006;6072:1–13.
[37] J. Zhang, I.J. Cox, G. Doerr, Steganalysis for LSB matching in images with high-frequency noise, In: Proceedings of IEEE Workshop on Multimedia Signal
Processing, 2007, pp. 385–388.
[38] H. Malekmohamadi, S. Ghaemmaghami, Steganalysis of LSB based image steganography using spatial and frequency domain features, In: Proceedings
of IEEE international conference on Multimedia and Expo, New York, NY, USA, 2009, pp. 1740–1743.
[39] Fridrich J, Goljan M, Rui D. Detecting LSB steganography in color, and grayscale images. IEEE Multimedia 2001;8(4):22–8.
[40] Fridrich J, Goljan M, Hogea D, Soukal D. Quantitative steganalysis of digital images: estimating the secret message length. Multimedia Syst
2003;9(3):288–302.
[41] Fridrich J, Goljan M. Practical steganalysis of digital images-state of the art. Proceedings of SPIE, Security and Watermarking of Multimedia Contents IV
2002;4675:1–13.
[42] Zhang J, Hu Y, Yuan Z. Detection of LSB matching steganography using the envelope of histogram. J Comput 2009;4(7):646–53.
[43] A. Muoz, A simple steganalysis tool: StegSecret, 2007, (<http://stegsecret.sourceforge.net/>).
[44] Kanso A, Smaoui N. Irregulary decimated chaotic map(s) for binary digits generations. Int J Bifurcation Chaos 2009;19(4):1169–83.
[45] Kanso A, Yahyaoui H, Almulla M. Keyed hash function based on a chaotic map. Info Sci 2012;186(1):249–64.
[46] Kanso A. Self-shrinking chaotic stream ciphers. Commun. Nonlinear Sci Numer Simul 2011;16(2):822–36.
[47] Wu X, Guan Z. A novel digital watermarking algorithm based on chaotic maps. Phys Lett A 2007;365(5–6):403–6.
[48] Behina S, Teshnehlab M, Ayubi P. Multiple-watermarking scheme based on improved chaotic maps. Commun Nonlinear Sci Numer Simul
2010;15:2469–78.
[49] Yu L, Zhao Y, Ni R, Li T. Improved adaptive LSB steganography based on chaos and genetic algorithm. EURASIP J Adv Signal Process 2010:1–6. Article ID
876946.
[50] Chen G, Mao Y, Chui C. A symmetric image encryption scheme based on 3D chaotic cat maps. Chaos, Solitons Fractals 2004;21:749–61.
[51] L’Ecuyer Pierre, Simard Richard. TestU01: A C library for empirical testing of random number generators. ACM Trans Math Software (TOMS)
2007;33(4). Article 22.
[52] NIST Special Publication 800-22 rev1a, A statistical test suite for the validation of random number generators and pseudo random number generators
for cryptographic applications, (2010), (<http://csrc.nist.gov/groups/ST/toolkit/rng/documentation_software.html>).
[53] G. Marsaglia, DIEHARD: A battery of tests of Randomness, 1996, (<http://www.stat.fsu.edu/pub/diehard/>).
3302 A. Kanso, H.S. Own / Commun Nonlinear Sci Numer Simulat 17 (2012) 3287–3302

[54] T. Morkel, J. Eloff, and M. Olivier, an overview of image steganography, In: Proceedings of the 5th Annual Information Security South Africa Conference
(ISSA 2005), Sandton, South Africa, June/July 2005 (Published electronically).
[55] Zaidan AA, Zaidan BB, Jalab Hamid A. A new system for hiding data within (Unused Area Two+Image Page) of portable executable file using statistical
technique and advance encryption standard. Int J Comput Theor Eng 2010;2(2):1793–8201.
[56] ImageJ: Image processing and analysis in Java, 2010, (<http://rsbweb.nih.gov/ij/>).
[57] Guillermito El-Loco, A few tools to discover hidden data, (<http://www.guillermito2.net/stegano/tools/index.html>).
[58] A. Hor, and D. Ziou, Image quality metrics: PSNR vs. SSIM, In: Twentieth International Conference on Pattern Recognition, 23–26 August, Istanbul,
Turkey, 2010, pp. 2366–2369.
[59] Yu Y, Chang C, Lin I. A new steganographic method for color and grayscale image hiding. Comput Vision Image Understanding 2007;107(3):183–94.
[60] Moustafa K, Badawy W. (Color/Gray) image in color cover hiding using modification of spatial domain hiding method. Proceedings of the Future
Generation Communication and Networking 2008;01:56–61.
[61] Wang Z, Bovik AC, Sheikh HR, Simoncelli EP. Image quality assessment: From error measurement to structural similarity. IEEE Trans Image Process
2004;13(4):600–12.

You might also like