Self-synchronising image steganography algorithms ...

27 downloads 0 Views 658KB Size Report
The authors gratefully acknowledge the help by Dr. Anand Gupta, Eepsa Malhotra, Geeta. Bansal and Aviral Lamba of NSIT, Dwarka, New Delhi. References.
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.