Int. J. Electronic Security and Digital Forensics, Vol. 5, Nos. 3/4, 2013
297
Self-synchronising image steganography algorithms based on error-correcting codes S.K. Muttoo Department of Computer Science, University of Delhi, Delhi-110007, India E-mail:
[email protected]
Sushil Kumar* Department of Mathematics, Rajdhani College, University of Delhi, New Delhi-110015, India E-mail:
[email protected] *Corresponding author Abstract: Error correction codes-based techniques have been used by many researchers for image steganography to find a trade-off either between high embedding efficiency and low embedding complexity or between high embedding efficiency and high embedding capacity. However, there are other characteristics of steganography such as undetectability, security, robustness against common attacks and complexity that require the same attention. In this paper, we shall discuss error correction codes-based image steganography techniques to find a trade-off between high embedding capacity, high embedding efficiency, security, undetectability and imperceptibility. This paper presents two noval steganographic algorithm: first is error-based syndrome technique based on Reed-Muller codes and other is based on Reed-Solomon code. Before embedding, the message is encoded using self-synchronising T-codes, in place of Huffman codes, that not only compress the message, but also helps in synchronising the message at decoding stage of extraction. The comparisons of the proposed algorithms are done with Hamming-based matrix embedding, an improved pre-flipping matrix embedding, and Hamming-based error map technique. The experimental results show that proposed algorithms have better imperceptibility, multi-layered security, provable security and constant embedding efficiency. Keywords: steganography; RM-codes; RS-codes; security; structural similarity index; SSIM; weighted peak signal-to-noise ratio; WPSNR; Kullback Leibler divergence; KLDiv. Reference to this paper should be made as follows: Muttoo, S.K. and Kumar, S. (2013) ‘Self-synchronising image steganography algorithms based on error-correcting codes’, Int. J. Electronic Security and Digital Forensics, Vol. 5, Nos. 3/4, pp.297–316.
Copyright © 2013 Inderscience Enterprises Ltd.
298
S.K. Muttoo and S. Kumar Biographical notes: S.K. Muttoo is an Associate Professor in the Department of Computer Science, University of Delhi, India. He completed his MTech from IIT, Kharagpur and PhD from the University of Delhi, India. His specialisation is coding theory and information hiding. He has contributed many research papers to referred journals and conferences. He is a life member of CSI and Cryptographic Society of India. He is also an associate member of ACM. Sushil Kumar is an Associate Professor in the Department of Mathematics, Rajdhani College, University of Delhi, New Delhi. He completed his MTech from University of Delhi, Delhi. He has been teaching graduate and undergraduate students for last 33 years. He is the author of three text books: Computer fundamental and Software, Scientific and Statistical Computations using Fortran 77 and Theory of Computations. He is a reviewer of national and international journals. His areas of research include fuzzy topology, parallel computing, image steganography, and cloud computing. He is a life member of CSI.
1
Introduction
With the rapid development of internet, image steganography has not only been applied for solving the problems in the multimedia security but also has found applications in different areas such as medical, legal and military images. Steganography, a process of covert communication, is a sub discipline of data hiding used in order to guarantee the security and privacy on open systems, such as internet. In other words, steganography means hiding information in undetectable way, both perceptually and statistically, and to provide security to prevent extraction of the hidden information by eavesdroppers. There are two main domains of steganography – spatial domain and transform domain (Bender et al., 1996; Katznbeisser et al., 2000; Kharrazi et al., 2004; Pan et al., 2009; Zaidoon et al., 2010). Most spatial domain methods (e.g., LSB) have zero error rates (Bruen and Forcinito, 2005). But, when the hiding is done in transform domain [e.g., discrete cosine transform (DCT), discrete wavelet transform (DWT) and discrete Fourier transform (DFT)], some errors are introduced (Cheddad et al., 2010). Researchers have found its solution in coding theory. There are error correction coding-based methods, which can be used to achieve zero error rates (Hamming, 1950; MacWilliams and Sloane, 1977). The steganographic algorithms based on error correction codes have shown to have improved embedding efficiency (Fontaine and Galand, 2009). In fact, to design a steganographic algorithm, one needs to consider the following points (Fontaine and Galand, 2009; Schonfeld and Winker, 2007): 1
The choice of accurate covers.
2
Compressing the message and applying encryption before hiding it in the cover to make the data hiding secured.
3
The search for the suitable technique of embedding message in the cover.
4
To modify the cover data as little as possible, so that it is robust from the accidental distortions (common attacks).
Self-synchronising image steganography algorithms
299
1.1 Our contributions To meet the requirements of a steganographic system and overcome the challenges, we have presented two noval image steganographic algorithms that provide reasonable perceptibility, high payload and multi-level security. To achieve security, we select the cover image based on its complexity (i.e., a threshold value). Further, we use self-synchronising variable length T-codes as source encoding which not only compress the data but also helps synchronise the message at decoding stage. This source encoding too generates a key which will be required by receiver at the time of decoding the secret message. Further, we have used this technique with two different linear block codes: Reed-Solomon codes (RS-codes) which can improve steganographic schemes (Fontaine and Galand, 2009), and Reed-Muller codes [RM-codes (Raaphorst, 2003)] to meet the last two goals for the design of steganographic algorithms as mentioned above. We present the review of T-codes in the next Subsection 1.2 and introduce briefly of error correction codes in Subsection 1.3.
1.2 Review of T-codes When an error occurs in the encoded data it may propagate to the extent that all subsequent data are lost. Thus, one requires VLC with the property that data may resynchronise automatically after an error occurs in a minimum delay. Titchener (1996) introduced new VLCs, called T-codes that have added self-synchronising ability. According to Titchener, T-codes resynchronise within one to three code-words. Reddy (2007) have shown that T-codes exhibit better synchronisation properties when compared to Huffman codes. Fong et al. (2001) and Higgie (1991) have proposed minimal synchronising delay T-codes for information source coding. To explain the construction of T-codes, take the alphabet S = {0, 1}. Choose T-prefix, p = 1 and T-expansion parameter (copy factor) = 1, we obtain the new set, S11 = {0, 10, 11}. Now if we choose a new T-prefix = 10 and a new T-expansion parameter = 2, then the resulting set is S1,10 1,2 = {0, 11, 100, 1011, 101011, 101010}. This process is called generalised T-augmentation whose general formula is: k
S(k) (p) =
∪ p (S − {p}) ∪{p i
k +1
}
i =0
where S is a finite alphabet, a string p ∈ S (called the T-prefix) and a positive integer k (called the T-expansion parameter). One can refer to the thesis by Gunther (1998) on T-codes for more details.
1.3 Hamming-based error-map technique Among various error correcting codes techniques to steganography (Fontaine and Galand, 2009; Fridrich et al., 2006; Hanzlik, 2011; Medeni and Soudi, 2010a; Moreira and Farrell, 2006; Munuera, 2007; Quing et al., 2006, 2007; Schonfeld and Winker, 2007), matrix encoding is most popular steganography method. Matrix encoding requires the sender and the recipient to agree in advance on a parity check matrix H, and the secret
300
S.K. Muttoo and S. Kumar
message is then extracted by the recipient as the syndrome (= HTr, r is the recovered vector) of the received cover object. Schonfeld and Winker (2007) proposed an improved embedding efficiency algorithm known by pre-flipping technique. In this case, the parity check matrix has a special structure Hk×n, corresponding to a systematic code, [al ak] where al covers the l information bits and ak covers the k parity bits. We can improve embedding efficiency by considering also al, i.e., we do not flip only bits within the k parity bits, but also one information bit within al. With the encoding redundancy of error-correcting codes a new steganography method is proposed by Qing et al. (2007). A mapping code between secret information and codeword error map is built (Figure 1). By modifying the part of the codeword of the error-correcting codes according to the error map, secret information is embedded. Figure 1
(a) Steganography method based on error mapping (b) Mapping encoding between secret information and codeword error map
(a)
(b) Source: Quing et al. (2007)
Self-synchronising image steganography algorithms
301
For example, suppose we have c = (100000000000011) and the secret message = 110. Then, by changing c to r = (100000001000011), the secret message is embedded. At the receiver end, we calculate, s = HTr = 1001, and obtain the error map. According to the mapping, encoded secret messages could be obtained. This method can be used with different codes.
1.4 Organisation of paper We have presented basics of error correction codes in the current section. In Section 2, we present two proposed noval steganographic algorithms based on error correction codes and using SSVLC’s T-codes. In Section 3, we analyse the experimental results obtained of proposed algorithms in terms of the attributes of steganography. Finally, we summarise the observations of proposed schemes in Section 4.
2
Proposed algorithms
In this section, two steganographic algorithms are presented based on error correcting codes: RM-codes and RS-codes. Quing et al. (2007) have proposed a theoretical analysis of steganographic capacity for RS codes according to the error map technique. Fontaine and Galand (2009) have shown that RS-codes are twice better than binary codes BCH with respect to the number of locked positions. We present steganographic schemes based on these two codes to meet the basic requirements of imperceptibly, high payload and security.
2.1 Reed-Muller codes-based algorithm In this subsection, a secured steganographic technique is proposed based on Reed-Muller codes, depicted in Figure 2. RM(r, m) codes can be decoded using Hadamard matrices. The Reed-Muller code is based on Hadamard matrices which is the matrix consisting of all the valid codewords. A 2n × 2n Hadamard matrix Hn for each non-negative integer n is defined by H0 = [1]; and Hn+1 is formed by putting a copy of Hn into each quadrant, and complementing the copy placed in the lower-right quadrant.
⎡Hn H n+1 = ⎢ ⎣Hn
Hn ⎤ − H n ⎥⎦
The details can be found in MacWilliams and Sloane (1977).
302
S.K. Muttoo and S. Kumar
Figure 2
Algo 2.1.1
Reed-Muller codes-based steganographic technique
Embedding
Input: Cover image, A; message, m; and the parity check matrix, H Output: stego-image 1.
Given the cover image, first decompose it into 8 bit-planes.
2.
Then, compute the complexity of second, third and fourth bit-planes.
The variance of a bit-plane is used as a measure of its complexity. 3.
Select the bit-plane, ‘I’ by determining if the complexity of the bit-plane is greater or equal to a threshold value which is a function of the mean value of that bit-plane , denoted by’ key1’ (Maya et al., 2004).
4.
A cover bit-plane, I is reshaped into n-columns by padding required zeros, denoted by, CI, where n=2m–1.
5.
Choose k-blocks, Ck, out of n-blocks, CI.
6.
Encode Ck to a (n ,k) RM-code by multiplying it with its generator matrix, G(r, m), where r is the order of the code ( taken = 1), and m determines the length of code, n = 2m, the resulting vector is denoted by C.
7.
Encode the original message with Huffman / T-codes and reshape the binary string into the size * x m (into m-columns by padding zeros, if required), say, nmsg. This also generates an encoding key, key3.
8.
Convert the binary ‘ nmsg’ into decimal
9.
Now, using the error mapping, each error related to message bit is added to the n bit code C, randomly, using the random key, denoted by key2. The resulting vector is the vector with message embedded in it. Let it denote by I’.
10.
Reshape the stego-bit-plane, I’, remove the padded zeros, and merge all the bit-planes to recreate the image, called ‘stego-image’.
Self-synchronising image steganography algorithms Algo 2.1.1
303
Extraction
Input: stego-image, key1, key2, key3 Output: Original message, m 1.
Decompose the stego-image into bit-planes, and choose the plane containing the message, using key1.
2.
Reshape the selected plane into n-columns, say ‘st-plane’
3.
Get the codeword, Cs, containing message from ‘st-plane’ using the random-key, key2.
4.
The received codeword, Cs, is compared with all the codewords in the Hadamard matrix, row-wise. The codeword, r, which has the least distance compared to the received codeword is taken as the corrected codeword.
5.
Subtracting these two codewords, C – r, we get the error, y
6.
Decoding y with Huffman/T-decoding using key3, message, m, is obtained.
Example 2.1: Let C: 10011 | 010.
•
Embedding:
Encode C using generating matrix. Take r = 1, for simplicity. Now C is 11110000. Suppose m= 101 0 1 0 0 0 0 0 0 (e) taken from error map. So, C’= C + e, i.e., 11110000 +0100 0000 =10110000 •
Extraction:
Find the correct code C by using Hadamard matrix and find the difference between C and C’. This difference is error e. 0
1 0 0 0 0 0 101
Thus the message is found using mapping decoding. Here, all 8 bits of C gets modified due to encoding and error e is added to the modified C.
2.2 Reed-Solomon codes-based algorithm Hanzlik (2011) has presented a survey of RS codes applications in steganography. Fontaine and Galand (2009) have shown how RS codes can improve steganographic schemes. In this section, a noval steganographic method in RS-codes using the error map technique is proposed, as shown in Figure 3. In this scheme, for each m bit message there are 2 m bit of parity bits that modify the cover and message is embedded in parity bits only. Quing et al. (2007) presented a theoretical analysis on the steganography capacity of RS-codes-based error map technique. They have shown that the shortened RS-codes have higher embedding efficiency. The embedding and extraction algorithms are summarised below. The first three steps of the embedding algorithm are same of Algo 2.2.1. So, we assume that input to our embedding algorithm consists of a bit-plane, I and message, m.
304
S.K. Muttoo and S. Kumar
Figure 3
Algo 2.2.1
Reed-Solomon codes-based steganographic technique
Embedding
Input: Cover image, A, message m, n = 2m–1 Output: stego image 1.
Given the cover image, first decompose it into 8 bit-planes.
2.
Then, compute the complexity of second, third and fourth bit-planes. The variance of a bitplane is used as a measure of its complexity.
3.
Select the bit-plane, I by determining if the complexity of the bit-plane is greater or equal to a threshold value which is a function of the mean value of that bit-plane , denoted by’ key1’.
4.
Reshape the bit-plane, I into *× (nm) size, i.e., blocks of nm-columns, padding zeros ,if necessary. Denote the reshaped plane by CI.
5.
Take n-blocks of m-bits each by converting each m-bits into decimal.
6.
Now taking k blocks, denoted by Ck, out of n-blocks to encode it by RS encoder.
7.
Convert these k blocks to Galois field vector, gfCk.
8.
Encode gfCk to a (n, k)-solomon code using matlab RS-encoder, ‘rsenc’, resulting into n-bit codeword, say, C.
9.
Encode the original message with Huffman/T-codes and reshape the binary string into size m*m. Let the encoded key is ‘key3’.
10.
Convert each m-bit block to decimal, resulting into m-blocks.
11.
An error map using eye matrix is generated.
Self-synchronising image steganography algorithms
305
12.
The error related to each m bit-block from error map is found, then the position of ‘1’ is found for every error which is placed in, ev (error vector). ‘ ev’ is then padded with remaining zeros to make its size equal to n. It’s the final error, say ferr.
13.
Convert ferr into Galois field vector, say ‘ferrgf’.
14.
Now each error, ‘ferrgf’ is added to the n-bit codeword, C, randomly, using the randomkey, key2. Let the codeword embedded with message is denoted by, I’.
15.
Convert I’ back to decimal and reshape it to binary form of size * x nm, denote it by ‘binemb’.
16.
Embed ‘binemb’ into CI, using the random-key, ‘key2’.
17.
Reshape the resulting stego-bit-plane, and remove the padded zeros.
18.
Finally, merge the stego-bit-plane with other bit-planes to recreate the ‘stego-image’.
Algo 2.2.1
Extraction
Input: Stego-image, message length, mlen,key1, key2, key3 Output: original message, m 1.
Decompose the stego-image into bit-planes, and choose the bit-plane, I containing the message, using key1.
2.
Reshape the selected plane, I into nm-columns; say ‘st-plane’
3.
Get the codeword, Cs, containing message from ‘st-plane’ using the random-key, key2.
4.
Convert each m-bit of binary n-blocks to decimal.
5.
Convert these n-blocks to Galois field vector, say, ‘gfst’.
6.
Compute the error, gferror, using RS-decoder based on berklamp messy algorithm: a.
[dc, nerrs, corrcode]= rsdec (gfst, n, k);
b.
gferror = gfst – corrcode;
7.
Reshape gferror into decimal and reshape into a vector of n-columns, say, ‘exer’.
8.
For every element of ‘exer’, find the error, and compare with each row of error map and row number is selected
9.
Convert the obtained row number to binary form which is the corresponding message.
10.
The message is reshaped again and decoded using Huffman/T-codes decoding.
Example 2.2: Let C: 010 | 000 111 101 110 101 01.
•
Embedding:
Encode C using rs encoder. We get C: 010 | 100 000 101 110 001 000 Suppose m = 110 010 101 => [6 2 5]10 Now, from the error vector (ev), using error map by picking rows corresponding to message vector, m’ = [0000001 1000000 0000100] So ev = [0 0 0 0 1 7 3] ≈ 000 000 000 000 001 111 011 Therefore, C′ = C + ev = [ 010 100 000 101110 001 000] + [000 000 000 000 001111 011] = [010 100 000 101111110 011]
306 •
S.K. Muttoo and S. Kumar Extraction:
The error vector, ev, is obtained using RS-decoder and message m is found by mapping decoding.
3
Experimental results
This section present the experimental results obtained from some of the standard greyscale images of 512 × 512 and 256 × 256 pixels. Both the proposed techniques have been executed on .bmp, .tiff, .png and lossless .jpeg images. All algorithms were implemented in MATLAB 8.0 on a personal computer with an Intel Core i7 2.67 GHz processor and 3 GB memory. The embedded secret message is a 0/1 bit string randomly generated. There are various parameters that help us to compare various steganographic techniques. Some of them used in this paper are: •
Embedding rate – it is the rate at which embedding takes place. Higher the embedding rate better is the steganography technique. It is given by, k/n.
•
Weighted peak signal-to-noise ratio (WPSNR) – It is a sophisticated distortion scale based on human visual system. The distortion between the cover images and the stego-images is measured by WPSNR and structural similarity index (SSIM).
•
SSIM – It is a method for measuring the similarity between two images. SSIM index is a decimal value between –1 and 1, and value 1 is only reachable in the case of two identical sets of data.
•
Bit per pixel (BPP) – Each pixel in a grayscale image has 8 bits. BPP tells us in how many of these 8 bits our message is stored.
•
Embedding efficiency – It is given by k/Ra, Ra is the average no. of embedding changes.
•
Kullback Leibler divergence (KLDiv) between the densities of the host and stego text signals. The KLDiv is equal to zero if and only if the two distributions are equal. The implication is that a non-negligible value for KLDiv for any embedding scheme leads to detectable statistical differences. A major goal of embedding is, therefore, to keep KLDiv as low as possible, such that the communication passes unhindered (Solanki et al., 2006).
3.1 Imperceptibility From Figures 4(a) and 4(b), it is observed that the values of WPSNR of different stego-images obtained from the proposed algorithm based on RS-codes are better than the corresponding techniques based on RM-codes and Hamming error map. It is further observed that simple hamming and improved pre-flipping-based techniques have better WPSNR values than RS-codes and RM-codes. However, it may be noted that all techniques have provided sufficiently good WPSNR values => all techniques fulfil the requirement of imperceptibility. From Figure 4(a) and Figure 4(b), it is observed that the
Self-synchronising image steganography algorithms
307
application of T-codes in the error correction codes-based proposed steganographic techniques show better results than the application Huffman codes. Figure 4
(a) WPSNR vs. image for different ECC-based techniques using Huffman codes (b) WPSNR vs. image for different ECC-based techniques using T-codes
(a)
(b) Notes: Here, img1 = baboon.png; img2 = barbara.jpg; img3 = bricks.tiff; img4 = plane.jpg; img5 = fruits.bmp.
308
S.K. Muttoo and S. Kumar
The results of run-time complexity, embedding rate, WPSNR, SSIM, BPP and embedding capacity for the image lena.jpg are summarised in Table 1 for m = 3 to 6 and message length from 200 to 500 bytes. It is observed that Hamming-based error mapping technique takes the least run-time and Reed-Solomon-based algorithm has the maximum execution time. As m increases from m = 3 to m = 6, embedding rate and embedding capacity decreases. Table 1
The experimental result for image lena512.bmp (256 × 256)
m = 3, message length = 500
k
Time taken
Embedding rate
WPSNR
SSIM
BPP
Embedding capacity
Hamming
4
2.293885
0.428571
71.37642
1
0.013275
112,347
Pre-flipping
4
2.747141
0.571429
73.82212
1
0.01329
112,347
Reed-Muller
4
2.558893
0.375
71.15536
1
0.013226
98,301
Simple Hamming
4
4.111398
0.428571
77.48225
1
0.013401
112,347
Reed-Solomon
1
37.991414
0.428571
71.88506
1
0.013214
112,347
m = 4 message length = 500
k
Time taken
Embedding rate
WPSNR
SSIM
BPP
Embedding capacity
Hamming
11
2.155722
0.266667
69.43046
1
0.013142
69,904
Pre-flipping
11
2.813332
0.733333
74.57187
1
0.013241
69,904
Reed-Muller
5
2.404441
0.25
69.2279
1
0.013329
65,532
Simple Hamming
11
3.643353
0.266667
78.40333
1
0.013191
69,904
Reed-Solomon
7
20.465385
0.266667
72.02642
1
0.013248
69,904
Time taken
Embedding rate
m = 5 message length = 500
k
WPSNR
SSIM
BPP
Embedding capacity
Hamming
26
2.19569
0.16129
67.1576
1
0.013233
42,280
Pre-flipping
26
3.058405
0.83871
73.44034
1
0.013237
42,280
Reed-Muller
6
2.377537
0.15625
67.12279
1
0.013256
40,955
Simple Hamming
26
3.466624
0.16129
79.28998
1
0.013062
42,280
Reed-Solomon
21
28.44984
0.16129
71.84356
1
0.013126
42,275
m = 6 message length = 500
k
Time taken
Embedding rate
WPSNR
SSIM
BPP
Embedding capacity
Hamming
57
2.157126
0.095238
64.6791
1
0.013233
24,966
Pre-flipping
57
3.76741
0.904762
74.218
1
0.013229
24,966
Reed-Muller
7
2.438595
0.09375
64.9025
1
0.013187
24,570
SIMPLE HAMMING
57
3.629853
0.095238
79.89758
1
0.013283
24,966
Reed-Solomon
51
60.913
0.095238
71.60959
1
0.013264
24,948
Self-synchronising image steganography algorithms
309
3.2 Embedding efficiency From Figure 5, it can be seen that the embedding efficiency of all techniques except the case of Reed-Muller constantly varies from 3.4 to 6 as embedding rate increases. Figure 5
Embedding efficiency v/s 1/alpha (alpha=embedding rate) (see online version for colours)
3.3 Security To study how secure are the proposed techniques we obtain the values of KLDiv ( in powers of 10–5) with respect to payload with both source encoding methods, viz., Huffman codes and T-codes, taking different parity bits, m = 3, 4, 5 [Figure 6(a) and Figure 6(b) are for m = 5].
3.4 Histogram analysis It may be noted that the embedding distortion can be large even if KLDiv is zero. Thus, the embedding distortion required to be as small as possible to achieve a secure steganographic scheme. Therefore, we also present the histogram analysis as the method of measuring the embedding distortion. The histograms of image lena.bmp of size 512 × 512 and the corresponding stego-image for the different proposed techniques are shown in Figure 7. From these histograms, it can be observed that Hamming’s-based matrix encoding and error-map technique are showing best results, i.e., zero distortion. The RS-code-based error-map technique also shows no distortion.
310 Figure 6
S.K. Muttoo and S. Kumar The values of KLDiv for proposed methods using (a) Huffman codes and (b) T-codes (see online version for colours) KlDiv vs message length (for huffman, m=5)
25
Simple Hamming KlDiv max Pre-flipping KlDiv max Hamming KlDiv max Reed solomon KlDiv max Reed Muller KlDiv max Hamming KlDiv min KlDiv min (all others)
V a lu e fo r K lD iv (in E -0 5 )
20
15
10
5
0 200
250
300
350
400
450
500
550
600
500
550
600
Message length
(a) KlDiv vs message length (for T-codes, m=5)
25
V a lu e fo r K lD iv (in E -0 5 )
20
15
Simple hamming KlDiv max Pre-flipping KlDiv max Hamming KlDiv max Reed solomon KlDiv max Reed Muller KlDiv max Hamming Kldiv min KlDiv min (all others)
10
5
0 200
250
300
350
400
Message length
(b)
450
Self-synchronising image steganography algorithms Figure 7
Histograms of stego-images obtained from different techniques for image: Lena.bmp, 512 × 512
Stego image histogram
Stego image histogram
Simple hamming (T-codes)
Simple hamming (Huffman-codes)
Reed-Solomon (T-codes)
Reed-Solomon (Huffman)
311
312 Figure 7
S.K. Muttoo and S. Kumar Histograms of stego-images obtained from different techniques for image: Lena.bmp, 512 × 512 (continued) Stego image histogram
Stego image histogram
Error map-based hamming algo (T-codes)
Error map-based hamming algo (T-codes)
Preflipping algo (T-codes)
Preflipping algo (Huffman-codes)
Reed-Muller algo (T-codes)
Reed-Muller algo (Huffman-codes)
Self-synchronising image steganography algorithms
313
3.5 Discussion According to the changes in bits of cover image, it is observed that Hamming-based syndrome embedding gives best results because only one bit is modified corresponding to m bits of message. An improvement to this method is provided by pre-flipping technique that gives good results for WPSNR, since there are no parity bits which modify the cover in addition to message bits. In the error map-based technique, there are parity bits in addition to message bits that modify the cover. Therefore, the error map-based methods make more distortion in cover as compared to simple Hamming and pre-flipping techniques. For steganography method based on RM-codes, the whole block of cover in which message is embedded gets modified. Therefore, for m-bits of message, 2 m-bits are modified. For this reason, RM-code-based method gives low readings of WPSNR values as compare to other methods. In Hamming and RS-code-based steganography methods, there are additional parity bits along with message bits which modify the cover. Therefore, they give intermediate results. For m = 3, they have comparable results but as m increases, RS-code-based method gives better results.
4
Conclusions
From the experimental results, we summarise the following observed facts: 1
Results of WPSNR – All the techniques have satisfactory results as the WPSNR lies above 60 (Figure 7 and Table 2).
2
Matrix encoding technique and pre-flipping techniques have the best results.
3
T-codes as a compression method for messages in place of Huffman codes shows increase in the value of WPSNR and hence prove that they are better option.
4
Decoding message after adding salt and pepper noise – By using Huffman codes the message is unable to be decoded but with T-codes they are able to decode the message. The percentage of correct message decoding depends on the density of noise.
5
BPP – The value of BPP improves by using T-codes rather than Huffman codes as T-codes provide better compression.
6
For lesser values of m, the results obtained are better. Best results are for m = 3. The WPSNR, embedding rate and embedding capacity, all give best results for the parity bits, m = 3.
7
Embedding efficiency – All methods except the method based on RM-codes (which have slightly lesser values), we have the same embedding efficiency.
8
Burst error correction – Reed-Solomon is the only technique which has the capability to correct burst errors which is an advantage.
•
Computing complexity – The computing complexity of Reed-Solomon is more than other methods due to the calculation steps involved.
•
Reed-Muller codes-based steganography method has the least embedding capacity and embedding efficiency compared to other methods.
Robustness
Security
Imperceptibility
Criteria
5+ -
Salt n Pepper (0.0001) JPEG lossy compression
4+
Histogram comparison Gaussian
5+
Noise
5+
Key
Randomisation
3+ 5+
WPSNR
SSIM
Hamming
-
-
-
2+
2+
5+
5+
1+
Reed-Muller
-
2+
-
4+
3+
5+
5+
2+
Reed-Solomon
Error map technique
-
3+
-
5+
4+
5+
5+
5+
Simple Hamming
Matrix embedding
-
4+
-
5+
5+
5+
5+
4+
Pre-flipping
Preflipping technique
Table 2
Criteria
314 S.K. Muttoo and S. Kumar
Comparison of distinct error correction codes-based image steganographic techniques
Self-synchronising image steganography algorithms
315
Overall, it is observed that the proposed techniques satisfy the criteria of imperceptibility. The applications of SSVLCs gives not only better security but also better imperceptiblity. Embedding efficiency of all approaches (except Reed-Muller’s-based algorithm) remains constant with respect to reciprocal of embedding rate and the similarity in histograms of original and stego-images and the almost zero values of Kullback-Leibler divergence (KLDiv) resulted from the implementation of Algo 2.1.1 and Algo 2.2.1 prove provable security (i.e., undetectability). In Table 2, the results of different techniques have been graded in numerals from 1 to 5 to their attributes.
Acknowledgements The authors gratefully acknowledge the help by Dr. Anand Gupta, Eepsa Malhotra, Geeta Bansal and Aviral Lamba of NSIT, Dwarka, New Delhi.
References Bender, W., Gruhl, D., Morimoto, N. and Lu, A. (1996) ‘Techniques for data hiding’, IBM System Journal, Vol. 35, No. 3, pp.313–336. Bruen, A.A. and Forcinito, M.A. (2005) Cryptography Information Theory, and Error Correction, John Wiley & Sons, Inc., New Jersey. Cheddad, A., Condell, J., Curran, K. and Kevitt, P.M. (2010) ‘Digital image steganography: survey and analyses of current methods’, Signal Processing, Vol. 90, No. 3, pp.727–752, Elsevier Science. Fong, A.C.M., Higgie, G.R. and Fong, B. (2001) ‘Multimedia application of self-synchronizing T-codes’, Proc. IEEE Int. Conf. on IT: Coding and Computing, pp.519–523. Fontaine, C. and Galand, F. (2009) ‘How Reed-Solomon codes can improve steganographic schemes’, EURASIP Journal on Information Security, Vol. 2009, Article ID 274845, Hindawi Publishing Corporation [online] http://jis.eurasipjournals.com/content/2009/1/274845 (accessed 18 December 2013). Fridrich, J., Goljan, M. and Soukal, D. (2006) ‘Wet pepper codes with improved embedding efficiency’, IEEE T. Info. Security and Forensics. Gunther, U. (1998) Robust Source Coding with Generalised T-codes, PhD thesis, University of Auckland. Hamming, R.W. (1950) ‘Error detecting and error correcting codes’, Bell System Technical Journal, April, Vol. XXIX, No. 2, pp.147–160. Hanzlik, P. (2011) Steganography in Reed-Solomon Codes, Master’s thesis, Luleå University of Technology. Higgie, G.R. (1991) Analysis of the Families of Variable-Length Self-Synchronizing Codes Called T-codes, PhD thesis, The University of Auckland. Katznbeisser, S., Fabien, A. and Petitcolas, P. (2000) Information Hiding Techniques for Steganography and Digital Watermarking, Artech House, Boston, London. Kharrazi, M., Sencar, H.T. and Memon, N. (2004) ‘Image steganography: concepts and practice’, WSPC/Lecture Notes Series. MacWilliams, F.J. and Sloane, N.J.A. (1977) The Theory of Error-Correcting Codes, Vol. 16, North-Holland Publishing Company, Elsevier Science B.V., Amsterdam. Maya, S.T., Miyatake, M.N. and Medina, R.V. (2004) ‘Robust steganography using bit plane complexity segmentation’, 1st International Conference on Electrical and Electronics Engineering.
316
S.K. Muttoo and S. Kumar
Medeni, M.B.O. and Soudi, E.M. (2010a) ‘A novel steganographic protocol from error-correcting codes’, Journal of Information Hiding and Multimedia Signal Processing, Vol. 1, No. 4. Medeni, M.B.O. and Souidi, E.M. (2010b) ‘A novel steganographic protocol from error correcting codes’, Journal of Information Hiding and Multimedia Signal Processing, October, Vol. 1, No. 4, pp.337–343. Moreira, J.C. and Farrell, P.G. (2006) Essentials of Error-control Coding, John Wiley & Sons, England. Munuera, C. (2007) ‘Steganography and error correcting codes’, Signal Process., Vol. 87, No. 6, pp.1528–1533. Pan, J.S. et al. (2009) ‘Information hiding and applications’, Studies in Computational Intelligence, Vol. 27, Springer Verlag, Berlin, Heidinberg. Quing, L.C., Jian, P.X. and He, W.Y. (2007) ‘A research on the steganography capacity of the Reed-Solomon code’, International Conference on Computational Intelligence and Security Workshops. Quing, L.C., Jian, P.X., Tao, Z., Na, Z.L. and He, W.Y. (2006) ‘A research on steganography method based on error-correcting codes’, International Conference on Intelligent Information Hiding and Multimedia Signal Processing. Raaphorst, S. (2003) Reed-Muller Codes, Carleton University, Toronto [online] http://www.cs.toronto.edu/~sr/#publications. Reddy, P. (2007) Error Resilient Image Transmission using T-Codes and Edge-Embedding, MSc thesis, Lane Department of Computer Science and Electrical Engineering, Morgantown, West Virginia. Schonfeld, D. and Winker, A. (2007) ‘Reducing the complexity of syndrome coding for emdedding’, in Furon, T. et al. (Eds.): IH 2007, LNCS, Vol. 4567, pp.145–158. Solanki, K., Sullival, K. et al. (2006) ‘Provably secure steganography: achieving zero K-L divergence using statistical restoration in image processing’, IEEE International Conference on Image Processing (ICIP’06). Titchener, M.R. (1996) ‘Generalised T-codes: extended construction algorithm for self-synchronization codes’, IEE Proc. Commun., Vol. 143, No. 3, pp.122–128. Zaidoon, K.A.A., Zaidan, A.A., Zaidan, B.B. and Alanazi, H.O. (2010) ‘Overview: main fundamentals for steganography’, Journal of Computing, Vol. 2, No. 3, pp.158–165.