1. Introduction
The data and information of organizations are among the most important assets that must be secured from unauthorized access. The security of assets can be achieved by ensuring confidentiality, integrity, and availability. The secure communication of information is a major concern of the internet today. Data security can be achieved by applying various techniques known as cryptography, watermarking, and steganography.
Cryptography is the branch of information security where secret information is converted into the unreadable format and transferred from one place to another so that an unauthorized person can’t decrypt it [1]. The second method is watermarking which is the science and arts of data hiding technique that is used for authentication and copyright act. The aim of watermarking is the prevention of unethical duplication of medium files and pseudo ownership claims [2]. Whereas steganography is the science and art of hiding secret messages in cover medium, so that the existence of secret data can’t be perceived by an attacker [3]. The cover file, secret information, and stego file are three components of steganography. The stego file is the medium where secret data is embedded in the cover file. Steganography has different types according to its cover medium and each type has different techniques to implement steganography. The text, audio, image, video, and DNA files can be used as a cover medium.
For image steganography, secret information is sent over a communication network by hiding inside the cover image [4]. The image steganography is divided into two domains according to their applicability. In the frequency domain, techniques encode message bits in the orthogonal transform coefficients of the image [5]. The image is converted into different frequencies to embed secret data and then the image is converted back to its original form. The orthogonal transforms of the image have two components, the first is a magnitude that contains information about frequencies and the second is a phase that contains information about how the image will come back to its original form. In the spatial domain techniques, secret information is concealed within the image domain directly [4]. There are many techniques of the spatial domain such as LSB, PVD, Histogram shifting, Difference Expansion, Multiple Bit-planes, Palette Based, Pixel Intensity Modulation and Quantization Based etc.
A very well-known method of image steganography in the spatial domain is LSB substitution in which secret data is embedded inside image using different strategies and only LSBs of cover pixels are modified [6]. The 1-4 bits modification in the LSBs of cover pixels are imperceptible to human vision, but the value of peak signal to noise ratio (PSNR) can be decreased, thus degrading original image quality [7]. Only one to four bits are stored in 8 bit pixel of the cover image in classical techniques of LSB steganography, but in proposed method 8 bits of pixel can store up-to 8 bits of secret data with minimal modification in image pixels. The main objective of the proposed compressed encrypted data embedding (CEDE) method is to enhance the embedding capacity of secret data in a cover image with minimum modification so that the quality of the image remains imperceptible to the human visual system.
The remaining part of paper is organized as follows. Section 2 describes the related work that is presented in main four categories i.e, Block Based LSB Substitution, LSB Substitution using Edge Detection, LSB Substitution using Hybrid Mechanism and Optimal LSB Substitution. The proposed CEDE method is presented in Section 3. Section 4 presents the experimental results. Section 5 makes comparisons with literature and Section 6 concludes the paper.
2. Related Work
The LSB substitution is a well-known method of steganography in spatial domain. In this section various techniques of LSB substitution are discussed that emphasize on high payload of secret data, good stego image quality (PSNR), low error rate in stego image (MSE) and security against steganalysis.
2.1 Block-Based LSB Substitution
Shehzad and Dag [8] proposed a technique in which the cover image is divided into non overlapping blocks and each block consists of four pixels (2 x 2). The determinant value is calculated for each block by using the decimal values of the block. The determinant is used to embed a secret data bit into a pixel of the block. This technique carries only single secret data bit in one block. This method improves the stego image quality, but the limitation is its embedding capacity where single bit is concealed per block. Zakaria et al. [9] proposed a technique that divides secret data bits into pairs of two bits and divide MSBs of cover pixels into two pairs of two bits. Two pairs of secret data are compared with two pairs of cover pixel and comparison makes four possibilities of matching secret pairs with pixel pairs. Each 2 LSBs of the cover image is changed with respect to matching pair number. This method improves the embedding capacity of secret data in cover image with good PSNR. Shehzad and Dag [10] proposed a technique that divides secret data bits into pairs of two bits and divide 3-7 MSBs of cover pixels into four pairs of two bits. One secret pair is compared with each four pairs of cover pixel and each 2 LSBs of the cover image is changed with respect to matching pair number. The embedding capacity of this technique is one pair of two bits per pixel. This technique improves the PSNR value of stego image. Swain et al. [11] proposed a technique that divides the cover pixels into non-overlapping blocks of four pixels (2 x 2). The secret data is embedded in cover image using hybrid approach of PVD and LSB Substitution respectively. This method improves the PSNR value of stego image but embedding of the secret data is below to one bit per pixel.
Khodaei et al. [12] proposed a technique in which the cover pixels are divided into consecutive non-overlapping blocks of two bits. If the value of both pixels are small in the block, then secret data is embedded into cover image using LSB substitution otherwise PVD of two pixels is calculated. Then, the bits of secret information are embedded in the cover pixels based on PVD value using LSB substitution. This method improves the embedding payload along with good stego image quality. Liu et al. [13] proposed a novel scheme that based on LSB substitution in which 2 bits of secret data are embedded in a single cover pixel according to mapping strategy with 3 bits modification in cover pixel. This method improves stego image quality by PSNR 49.04 dB. Lu et al. [14] proposed a method based on PVD and LSB techniques in which a grayscale image is divided into fixed block size of 1-by-3, 2-by-2 and 3-by-3 to enhance embedding capacity. This technique improves the Five Pixel Pair Differencing (FPPD) scheme in which block size is fixed of size 2-by-3. This method improves the secret data payload by 3 bits per pixel with acceptable stego image quality. Horng et al [15] proposed a method based on Quotient Value Differencing (QVD) and LSB substitution. In the first step of this method, secret data is embedded into high and low mean pixel values by using QVD and LSB Substitution. In the second step, low and high mean values are swapping to embed additional bit. In the third step, secret data is embedded into smooth block by LSB substitution. This method embeds average payload with normal PSNR.
2.2 LSB Substitution Using Edge Detection
Bai et al. [16] proposed a technique that uses edge detection algorithm to divide cover pixels into edge and smooth area pixels. Then the LSB substitution method is used to embed secret data in cover image. The pixels of edge area are used to carry more secret bits as compared to smooth area. This method improves the secret data payload with good stego image quality. Hussain et al. [17] proposed a technique in which the cover pixels are divided in high level and low-level blocks. The LSB substitution is used to embed secret data in low level block and Pixel Value Difference (PVD), PVD shift and modification of prediction error (MPE) is used to embed secret data in high level blocks respectively. This technique improves the secret data payload and robustness against attacks with acceptable stego image quality. Khan et al. [18] proposed a technique in which the cover pixels are divided in high level and low-level color ranges. The cover pixels that fall in a range of low-level color carries more secret bits as compared to high level color pixels. The secret data of size four, three, two and one bit is embedded in cover pixels when the ranges of pixels are falling in between 0-31, 32-63, 63- 127 and 28-155 respectively. This technique improves the PSNR value of stego image but embedding payload of the secret data is low. Liao et al. [19] proposed a technique in which the cover image is divided into non-overlapping blocks size of 4 x 4. Each block is further divided into four sub blocks; Upper-left, upper-right, lower-left and lower right. Each sub block consists of four pixels (2 x 2). Then the pixels in each block are divided in edge and smooth pixels. The edge area pixels carry more secret bits as compared to non-edge area. This method improves the embedding payload along with acceptable PSNR.
Jung and Yoo [20] proposed a technique in which the cover image is divided into non overlapping blocks size of 2 x 2. The edge detector is used to classify edge and smooth pixels. Then, PVD of the four pixels is calculated to hide secret data in cover image. This method improves the embedding payload along with good PSNR value. Khalind et al. [21] proposed a technique that classifies cover image into edge and smooth pixels and embeds more information in edge pixels as compared to smooth pixels. According to this technique, adaptive number K is calculated for each pixel to embed secret data. The quality of stego image depends upon the value of variable K. If secret information is embedded in the cover using low value of K, then PSNR will be high and vice versa. Lee et al. [22] proposed technique in which the cover pixels are divided in edge and non-edge area. The four MSBs of each color channel is sorted and only N bits memory required to sort N bits of RBG image. According to this method, the number of pixels in one row is calculated from size of data. The difference value deltai is sorted in descending order and selected pixels are replaced with secret message using the LSB method in specific area. This technique improves the secret data payload in cover image with stego image quality. Hong et al. [23] proposed fully exploits the modification of the quantization level method to achieve better performance and efficiency of stego image. This method used a specific threshold to classify block into smooth and complex block. More secret information is stored in a smooth blocks and complex blocks stores only one bit per block. Distortion is handled by Adaptive Pixel Pair Matching (APPM) technique that modify block and reduce distortion. The drawback of this method is very low embedding capacity with 32.27 dB PSNR.
Setiadi et al. [24] proposed a hybrid method based that is a combination of canny and sobel edge detection algorithm. Edges of cover image are detected by canny (C) and sobel (S) edge detection algorithm and results are saved as CSea by taking OR operation of both algorithms. The secret bits are embedded in the edge area of cover image using the LSB method. The secret information is stored in smooth area when there is not enough space in the edge area for secret messages. This method improves the stego image quality but embedding capacity of secret data in cover image is very low. Rashid et al. [25] proposed a method that separate the planes of color image into Red, Green and Blue plane. Then edges are detected in one plane of color image using edge detection algorithm. This method embedded small secret message in one sharper edge pixel and large secret message in more edge pixels. This method improves the stego image quality but payload is very low.
2.3 LSB Substitution Using Hybrid Mechanism
Chikouche et al. [26] proposed a technique that used Advanced Encryption Standard (AES) algorithm to encrypt secret data, deflation algorithm to compress encrypted data and LSB substitution to hide secret information respectively. In LSB substitution, random set of values are generated for each pixel to embed secret information in cover pixels. The secret information is embedded in red, blue and green channel of the image respectively. This method improves the stego image quality with minimum modification. Muhammad et al. [27] proposed a technique that used Multilevel encryption algorithm (MLEA) to encrypt secret data and stego key-directed adaptive least significant bit (SKA-LSB) substitution to hide secret information in the cover image. The SKA-LSB takes XOR operation of the key and LSB of red channel of a cover pixel. If the remainder is one, then embeds one secret data bit in LSB of the green channel, otherwise embeds one secret data bit in LSB of the blue channel. This method improves the PSNR value of stego image but embedding of the secret data is only one bit per pixel. Muhammad et al. [28] proposed a technique that uses Multilevel encryption (MLE) to encrypt secret data and gray level modification (GLM) to hide secret information in the cover image. In GLM mechanism, if the secret bit is equal to 0 and the cover pixel is even, then the current pixel remains unchanged and vice versa. If the secret bit is equal to 0 and the cover pixel is odd, then subtracts one from the value of the current cover pixel and if the value of secret bit is 1 and the cover pixel is even then adds one to the value of the current cover pixel. This technique improves the PSNR value of stego image, but embedding payload is very low. Kuo et al. [29] proposed a technique in which the secret information is compressed using run length encoding (RLE) scheme and multi-bits generalized exploiting modification direction (MGEMD) algorithm to hide secret information in the cover image.
2.4 Optimal LSB Substitution
Mohamed et al. [30] proposed a technique in which the bits of secret information are embedded in cover pixels based on the value of a variable K that lies in between 2-5 using simple LSB substitution. According to this technique, the secret data bits equal to the value of K are replaced in the K LSBs of cover pixel. The quality of stego image depends upon the value of variable K. If secret data bits are embedded in cover using high value of K, then PSNR will be low and vice versa. Leng et al. [31] proposed a technique that uses interpolation mechanism for scaling of the cover image and LSB substitution to hide secret information in the cover image. The cover image can be scaled up or down for higher embedding of secret data in cover image. This method improves the embedding payload along with good PSNR. Jayapandiyan et al. [32] proposed LSB Substitution method using character sequence optimization. In the first step, header values about secret data are embedded in first few pixel of cover image. In the second step, secret data is embedded in cover image using character sequence optimization. This method improves the PSNR with average payload.
Some studies in related work improves high payload of secret data but stego image quality is just acceptable. Similarly, some studies improve stego image quality, but payload is very low. Therefore, there is need to propose a novel method that improve stego image quality with high payload with low Mean Square Error (MSE).
3. Compress Encrypted Data Embedding Method (CEDE)
In this section, the proposed CEDE method is explained that consists of three important phases to ensure the secure transmission of data. These phases include: Lempel Ziv Welch, AES encryption and a novel steganographic technique. In the first phase, the secret information is compressed using the Lempel Ziv Welch coding, then compressed information is encrypted using the AES encryption. In the last phase, compressed and encrypted information is embedded in the cover pixels using the proposed technique of steganography. The embedding process is explained below and is shown in Fig. 1. The Table 1 describes the steps of embedding process.
Fig. 1. Embedding Process of CEDE
Table 1. Proposed Embedding Steps
3.1 Data Compression for CEDE Method
The Lempel-Ziv Welch (LZW) is a lossless and dictionary-based compression algorithm. The 256 entries are initialized in the dictionary of LZW algorithm to represent ACSII table [33]. The LZW algorithm creates a table of unique strings and each string is identified by unique integers. The LZW algorithm reads the possible longest sequence of K characters and checks this sequence with existing string in the table. If K is matched with existing string, then K is identified by the same integer else string K is added in the table.
In the proposed hybrid method, the secret information is compressed with LZW compression encoding scheme. The LZW algorithm can compress a plaintext file size of 379 KB into a 126 KB file. So, the compression ratio of this algorithm is 66.75% in this case.
3.2 Data Encryption for CEDE Method
The Advanced Encryption Standard (AES) is a symmetric block cipher. The AES algorithm is the strongest algorithm that encrypts plaintext into ciphertext in mostly block size of 128 bits. Same key size is used for encryption and decryption at both ends that can be 128, 192 and 256 bits long [34]. The 10, 12 and 14 rounds of encryption process are used for key size of 128, 192 and 256 bits respectively. The rounds are further divided into initial, main and final round. In the initial round, the function of add round key is performed in which a block of plaintext is bitwise XORed with block of round keys. The main round of encryption consists of four types of transformations substitution, shift rows, mixing columns and add round key that are performed respectively on output block of initial round. The final round consists of three transformations substitution, shifting rows and add round key. The initial and final rounds are performed only once, but repetitions of main round are 9, 11 and 13 for key size of 128, 192 and 256 bits respectively.
The compressed secret information is encrypted using Advanced Encryption Standard (AES) that is a symmetric block cipher. The AES algorithm encrypts compressed plaintext file size of 126 KB into a 126 KB ciphertext file using 256 bit key.
3.3 Data Embedding Process for CEDE Method
In the embedding phase of CEDE, the compressed and encrypted secret information is embedded in the cover image by the proposed technique of steganography. This technique marks two bits pairs PN from the secret data, then each cover pixel is divided into four pairs. Assign 8th and 7th bits, 6th and 5th bits, 7th and 6th bits, 8th and 5th bits, 4th and 3rd bits, 2nd and 1st bits of cover pixels to Left Pair (PL, Pixel), Right Pair (PR, Pixel), Middle Pair (PM, Pixel), Outer Pair (PO, Pixel), Embedding Left (EL, Pixel) and Embedding Right (ER, Pixel) respectively. The four secret data pairs are compared with four pairs of each cover pixel. Compare first, second, third and fourth secret data pair with Left Pair (PL, Pixel), Right Pair (PR, Pixel), Middle Pair (PM, Pixel) and Outer Pair (PO, Pixel) of cover pixel respectively. The comparison of four secret data pairs with four pairs of cover pixel makes sixteen possibilities of matching. The following cases describe the mapping strategy.
Case 1:
If first four pairs of secret data (i.e., P1, P2, P3 & P4) are matched with PL, PR, PM and PO pairs of cover pixel respectively, then replace EL and ER with “11” and “11” respectively. This case carries eight bits of secret data within a single pixel.
Case 2:
If first three pairs of secret data (i.e., P1, P2, & P3) are matched with PL, PR and PM pairs of cover pixel respectively and fourth secret data pair (i.e., P4) is unmatched with PO pair, then replace EL and ER pairs of current pixel with “11” and “10” respectively and also replace EL and ER pairs of the imminent pixel with “P4” and “P5” respectively. This case carries ten bits of secret data in two pixels.
Case 3:
If three pairs of secret data (i.e., P1, P2, & P4) are matched with PL, PR and PO pairs of cover pixel respectively and third secret data pair (i.e., P3) is unmatched with PM pair, then replace EL and ER pairs of current pixel with “11” and “01” respectively and also replace EL and ER pairs of the imminent pixel with “P3” and “P5” respectively. This case carries ten bits of secret data in two pixels.
Case 4:
If only first two pairs of secret data (i.e., P1 & P2) are matched with PL and PR pairs of cover pixel respectively and third and fourth secret data pairs (i.e., P3 & P4) are unmatched with PM and PO pair, then replace EL and ER pairs of current pixel with “11” and “00” respectively. This case carries four bits of secret data within single pixels.
Case 5:
If three pairs of secret data (i.e., P1, P3, & P4) are matched with PL, PM and PO pairs of cover pixel respectively and only second secret data pair (i.e., P2) is unmatched with PR pair, then replace EL and ER pairs of current pixel with “10” and “11” respectively and also replace EL and ER pairs of the imminent pixel with “P2” and “P5” respectively. This case carries ten bits of secret data in two pixels.
Case 6:
If only two pairs of secret data (i.e., P1 & P3) are matched with PL and PM pairs of cover pixel respectively and second and fourth secret data pair (i.e., P2 & P4) are unmatched with PR and PO pairs, then replace EL and ER pairs of current pixel with “10” and “10” respectively and also replace EL and ER pairs of the imminent pixel with “P2” and “P4” respectively. This case carries eight bits of secret data in two pixels
Case 7:
If only two pairs of secret data (i.e., P1 & P4) are matched with PL and PO pairs of cover pixel respectively and second and third secret data pair (i.e., P2 & P3) are unmatched with PR and PM pairs, then replace EL and ER pairs of current pixel with “10” and “01” respectively and also replace EL and ER pairs of the imminent pixel with “P2” and “P3” respectively. This case carries eight bits of secret data in two pixels.
Case 8:
If only first pair of secret data (i.e., P1) is matched with PL pair of cover pixel and second, third and fourth secret data pairs (i.e., P2 , P3 & P4) are unmatched with PR, PM and PO pairs, then replace EL and ER pairs of current pixel with “10” and “00” respectively. This case carries only two bits of secret data within single pixel.
Case 9:
If three pairs of secret data (i.e., P2, P3, & P4) are matched with PR, PM and PO pairs of cover pixel respectively and only first secret data pair (i.e., P1) is unmatched with PL pair, then replace EL and ER pairs of current pixel with “01” and “11” respectively and also replace EL and ER pairs of the imminent pixel with “P1” and “P5” respectively. This case carries ten bits of secret data in two pixels.
Case 10:
If only two pairs of secret data (i.e., P2 & P3) are matched with PR and PM pairs of cover pixel respectively and first and fourth secret data pair (i.e., P1 & P4) are unmatched with PL and PO pairs, then replace EL and ER pairs of current pixel with “01” and “10” respectively and also replace EL and ER pairs of the imminent pixel with “P1” and “P4” respectively. This case carries eight bits of secret data in two pixels.
Case 11:
If only two pairs of secret data (i.e., P2 & P4) are matched with PR and PO pairs of cover pixel respectively and first and third secret data pair (i.e., P1 & P3) are unmatched with PL and PM pairs, then replace EL and ER pairs of current pixel with “01” and “01” respectively and also replace EL and ER pairs of the imminent pixel with “P1” and “P3” respectively. This case carries eight bits of secret data in two pixels.
Case 12:
If only second pair of secret data (i.e., P2) is matched with PR pair of cover pixel and first, third and fourth secret data pairs (i.e., P1 , P3 & P4) are unmatched with PL, PM and PO pairs, then replace EL and ER pairs of current pixel with “01” and “00” respectively and also replace EL and ER pairs of the imminent pixel with “P1” and “P3” respectively. This case carries six bits of secret data in two pixels.
Case 13:
If only two pairs of secret data (i.e., P3 & P4) are matched with PM and PO pairs of cover pixel respectively and first and second secret data pair (i.e., P1 & P2) are unmatched with PL and PR pairs, then replace EL and ER pairs of current pixel with “00” and “11” respectively and also replace EL and ER pairs of the imminent pixel with “P1” and “P2” respectively. This case carries eight bits of secret data in two pixels.
Case 14:
If only third pair of secret data (i.e., P3) is matched with PM pair of cover pixel and first, second and fourth secret data pairs (i.e., P1 , P2 & P4) are unmatched with PL, PR and PO pairs, then replace EL and ER pairs of current pixel with “00” and “10” respectively and also replace EL and ER pairs of the imminent pixel with “P1” and “P2” respectively. This case carries six bits of secret data in two pixels.
Case 15:
If only the fourth pair of secret data (i.e., P4) is matched with PO pair of cover pixel and first, second and third secret data pairs (i.e., P1 , P2 & P3) are unmatched with PL, PR and PM pairs, then replace EL and ER pairs of current pixel with “00” and “01” respectively and also replace EL and ER pairs of the imminent pixel with “P1” and “P2” respectively. This case carries four bits of secret data in two pixels.
Case 16:
If first four pairs of secret data (i.e., P1, P2, P3 & P4) are unmatched with PL, PR, PM and PO pairs of cover pixel respectively, then replace EL and ER with “00” and “00” respectively and also replace EL and ER pairs of the imminent pixel with “P1” and “P2” respectively. This case carries four bits of secret data in two pixel.
3.4 Data Extraction Process of CEDE Method
In the extraction phase, read the stego image and make pairs of each pixel. Assign 8th and 7thbits, 6th and 5th bits, 7th and 6th bits, 8th and 5th bits, 4th and 3rd bits, 2nd and 1st bits of cover pixels to Left Pair (PL, Pixel), Right Pair (PR, Pixel), Middle Pair (PM, Pixel), Outer Pair (PO, Pixel), Embedding Left (EL, Pixel) and Embedding Right (ER, Pixel) respectively. Read the EL and ER of each stego pixel and extract pairs of secret information from a respective pair of each stego pixel. The flowchart of extraction phase is shown in Fig. 2. The Table 2 describes the steps of extraction process. The following cases describe the extraction strategy.
Fig. 2. Extraction Process of CEDE
Table 2. Proposed Extraction Steps
Case 1:
If both EL and ER of stego pixel are “11”, then extract four secret data pairs (i.e., P1, P2, P3 & P4) from PL, PR, PM and PO pairs of current stego pixel. This case will restore eight secret data bits from the single stego pixel.
Case 2:
If EL is “11” and ER is “10” of stego pixel, then extract first three secret data pairs (i.e., P1, P2 & P3) from PL, PR and PM pairs of current stego pixel respectively and also extract two more secret pairs (i.e, P4 & P5) from EL and ER pairs from the imminent stego pixel respectively. This case will restore ten secret data bits from the two stego pixels.
Case 3:
If EL is “11” and ER is “01” of stego pixel, then extract first, second and fourth secret data pairs (i.e., P1, P2 & P4) from PL, PR and PO pairs of current stego pixel respectively and also extract two more secret pairs (i.e, P3 & P5) from EL and ER pairs from the imminent stego pixel respectively. This case will restore ten secret data bits from the two stego pixels.
Case 4:
If EL is “11” and ER is “00” of stego pixel, then extract first and second secret data pairs (i.e., P1 & P2) from PL and PR pairs of current stego pixel respectively. This case will restore four secret data bits from single stego pixel.
Case 5:
If EL is “10” and ER is “11” of stego pixel, then extract first, third and fourth secret data pairs (i.e., P1, P3 & P4) from PL, PM and PO pairs of current stego pixel respectively and also extract two more secret pairs (i.e, P2 & P5) from EL and ER pairs from the imminent stego pixel respectively. This case will restore ten secret data bits from the two stego pixels.
Case 6:
If EL is “10” and ER is “10” of stego pixel, then extract first and third secret data pairs (i.e., P1 & P3) from PL and PM pairs of current stego pixel respectively and also extract two more secret pairs (i.e, P2 & P4) from EL and ER pairs from the imminent stego pixel respectively. This case will restore eight secret data bits from the two stego pixels.
Case 7:
If EL is “10” and ER is “01” of stego pixel, then extract first and fourth secret data pairs (i.e., P1 & P4) from PL and PO pairs of current stego pixel respectively and also extract two more secret pairs (i.e, P2 & P3) from EL and ER pairs from the imminent stego pixel respectively. This case will restore eight secret data bits from the two stego pixels.
Case 8:
If EL is “10” and ER is “00” of stego pixel, then extract first secret data pair (i.e., P1) from PL pair of current stego pixel. This case will restore two secret data bits from the single stego pixel.
Case 9:
If EL is “01” and ER is “11” of stego pixel, then extract second, third and fourth secret data pairs (i.e., P2, P3 & P4) from PR, PM and PO pairs of current stego pixel respectively and also extract two more secret pairs (i.e, P1 & P5) from EL and ER pairs from the imminent stego pixel respectively. This case will restore ten secret data bits from the two stego pixels.
Case 10:
If EL is “01” and ER is “10” of stego pixel, then extract second and third secret data pairs (i.e., P2 & P3) from PR and PM pairs of current stego pixel respectively and also extract two more secret pairs (i.e, P1 & P4) from EL and ER pairs from the imminent stego pixel respectively. This case will restore eight secret data bits from the two stego pixels.
Case 11:
If EL is “01” and ER is “01” of stego pixel, then extract second and fourth secret data pairs (i.e., P2 & P4) from PR and PO pairs of current stego pixel respectively and also extract two more secret pairs (i.e, P1 & P3) from EL and ER pairs from the imminent stego pixel respectively. This case will restore eight secret data bits from the two stego pixels.
Case 12:
If EL is “01” and ER is “00” of stego pixel, then extract second secret data pairs (i.e., P2) from PR pair of current stego pixel respectively and also extract two more secret pairs (i.e, P1 & P3) from EL and ER pairs from the imminent stego pixel respectively. This case will restore six secret data bits from the two stego pixels.
Case 13:
If EL is “00” and ER is “11” of stego pixel, then extract third and fourth secret data pairs (i.e., P3 & P4) from PM and PO pairs of current stego pixel respectively and also extract two more secret pairs (i.e, P1 & P2) from EL and ER pairs from the imminent stego pixel respectively. This case will restore eight secret data bits from the two stego pixels.
Case 14:
If EL is “00” and ER is “10” of stego pixel, then extract third secret data pairs (i.e., P3) from PM pair of current stego pixel respectively and also extract two more secret pairs (i.e, P1 & P2) from EL and ER pairs from the imminent stego pixel respectively. This case will restore six secret data bits from the two stego pixels.
Case 15:
If EL is “00” and ER is “01” of stego pixel, then extract two secret pairs (i.e, P1 & P2) from EL and ER pairs from the imminent stego pixel respectively. This case will restore four secret data bits from the two stego pixels.
Case 16:
If EL is “00” and ER is “00” of stego pixel, then extract two secret pairs (i.e, P1 & P2) from EL and ER pairs from the imminent stego pixel respectively. This case will restore four secret data bits from the two stego pixels.
3.5 Embedding Example of CEDE Method
In the embedding example of CEDE, compressed and encrypted secret data bits are embedded in the cover pixels as shown in Fig. 3. The first four secret data pairs P1, P2, P3 and P4 are 10, 10, 10 and 01 respectively and the pairs of first cover pixel PL, 1, PR, 1, PM, 1 and PO, 1 are 10, 10, 01 and 10 respectively.
Fig. 3. Example of embedding phase of CEDE
To embed the secret data, the algorithm compares the secret pairs P1, P2, P3 and P4 with four pairs PL, 1, PR, 1, PM, 1 and PO, 1 of the first cover pixel. Here, case 4 is matched because 𝑃1= 𝑃𝐿, 1, 𝑃2=𝑃𝑅, 1, 𝑃3≠𝑃𝑀, 1 and 𝑃4≠𝑃𝑂, 1. Thus, the algorithm replaces pairs of first cover pixel EL, 1 with “11” and ER, 1 with “00”. Case 4 carries two secret data pairs within a single pixel.
The next four secret data pairs to be embedded are P3, P4, P5 and P6 and their values are 10, 01, 10 and 10 respectively. The pairs of the second cover pixel PL, 2, PR, 2, PM, 2 and PO, 2 are 11, 00, 10 and 10 respectively. When secret pairs P3, P4, P5 and P6 are compared with four pairs PL, 2, PR, 2, PM, 2 and PO, 2 of second cover pixel, case 13 is matched because 𝑃3≠𝑃𝐿, 2, 𝑃4≠𝑃𝑅, 2, 𝑃5=𝑃𝑀, 2 and 𝑃6=𝑃𝑂, 2. Thus, the algorithm replaces pairs of second cover pixel EL, 2 with “00” and ER, 2 with “11” and also replaces pairs of third cover pixel EL, 3 with “P3” and ER, 3 with “P4”. The case 13 carries four secret data pairs in two pixels.
The next four secret data pairs P7, P8, P9 and P10 are 01, 10, 11 and 00 respectively. The pairs of fourth cover pixel PL, 4, PR, 4, PM, 4 and PO, 4 are 01, 10, 11 and 00 respectively. The algorithm compares secret pairs P7, P8, P9 and P10 with four pairs PL, 4, PR, 4, PM, 4 and PO, 4 of the fourth cover pixel. Here, case 1 is matched because 𝑃7= 𝑃𝐿, 4, 𝑃8= 𝑃𝑅, 4, 𝑃9=𝑃𝑀, 4 and 𝑃10=𝑃𝑂, 4. Thus, the algorithm replaces pairs of fourth cover pixel EL, 4 with “11” and ER, 4 with “11”. Case 1 carries four secret data pairs within single pixel.
The next four secret data pairs P11, P12, P13 and P14 are 10, 00, 10 and 11 respectively. The pairs of fifth cover pixel PL, 5, PR, 5, PM, 5 and PO, 5 are 01, 11, 11 and 01 respectively. The algorithm compares secret pairs P11, P12, P13 and P14 with four pairs PL, 5, PR, 5, PM, 5 and PO, 5 of the fifth cover pixel. For this case, case 16 is matched because 𝑃11≠ 𝑃𝐿, 5, 𝑃12≠ 𝑃𝑅, 5, 𝑃13≠ 𝑃𝑀, 5 and 𝑃14≠𝑃𝑂, 5. Thus, the algorithm replaces pairs of the fifth cover pixel EL, 5 with “00” and ER, 5 with “00” and also replaces pairs of sixth cover pixel EL, 6 with “P11” and ER, 6 with “P12”. Case 16 carries two secret data pairs in two pixels.
Then, the four secret data pairs P13, P14, P15 and P16 are 10, 11, 01 and 10 respectively and the pairs of seventh cover pixel PL, 7, PR, 7, PM, 7 and PO, 7 are 10, 10, 01 and 10 respectively. The algorithm compares secret pairs P13, P14, P15 and P16 with four pairs PL, 7, PR, 7, PM, 7 and PO, 7 of the seventh cover pixel and finds that case 5 is matched because 𝑃13= 𝑃𝐿, 7, 𝑃14≠ 𝑃𝑅, 7, 𝑃15=𝑃𝑀, 7 and 𝑃16=𝑃𝑂, 7. Thus, it replaces pairs of seventh cover pixel EL, 7 with “10” and ER, 7 with “11” and also replaces pairs of eighth cover pixel EL, 8 with “P14” and ER, 8 with “P17”. Case 5 carries five secret data pairs in two pixels.
3.6 Extraction Example of CEDE Method
In the extraction example of CEDE, compressed and encrypted secret data bits are extracted from stego pixels as shown in Fig. 4. The algorithm reads the values of EL and ER pairs of each stego pixel and extracts secret data pairs according to the case number.
Fig. 4. Example of extraction phase of CEDE
The EL, 1 and ER, 1 pair of the first stego pixel are “11” and “00”. Since case 4 is matched, it extracts first two secret data pairs P1 and P2 from PL, 1 and PR, 1 pair of the first stego pixel respectively.
The EL, 2 and ER, 2 pair of the second stego pixel are “00” and “11”. Since case 13 is matched it extracts two secret data pairs P5 and P6 from PM, 2 and PO, 2 pair of the second stego pixel respectively and extracts two more secret data pairs P3 and P4 from EL, 3 and ER, 3 pair of third stego pixel respectively.
The EL, 4 and ER, 4 pair of the fourth stego pixel are “11” and “11”. Since case 1 is matched, it extracts four secret data pairs P7, P8, P9 and P10 from PL, 4, PR, 4, PM, 4 and PO, 4 pair of the fourth stego pixel respectively.
The EL, 5 and ER, 5 pair of the fifth stego pixel are “00” and “00”. Since case 16 is matched it extracts two secret data pairs P11 and P12 from EL, 6 and ER, 6 pair of the sixth stego pixel respectively. The EL, 7 and ER, 7 pair of seventh stego pixel are “10” and “11”. Since case 5 is matched, it extracts three secret data pairs P13, P15 and P16 from PL, 1, PM, 1 and PO, 1 pair of the seventh stego pixel respectively and extract two more secret data pairs P14 and P17 from EL, 8 and ER, 8 pair of the eighth stego pixel respectively.
4. Experimental Results
In this section, the numerical results of the proposed CEDE technique are shown. The gray level images of size 512×512 are used to implement and evaluate the proposed technique. We used images of Baboon, Lenna, Jet, Boat, Couple, and Peppers as cover images. These images are shown in Fig. 5. The stego images as results of the proposed CEDE technique are shown in Fig. 6. As it can be noticed from Fig. 6 embedding of secret data pairs in cover pixels are undetectable by human visual system (HVS).
Fig. 5. Cover Images
Fig. 6. Stego Images
The results of the proposed CEDE technique are evaluated by using parameters i.e., payload, bits per pixel (bpp), PSNR and MSE. The mathematical formulas of these parameters are as follows:
\(\mathrm{bpp}=\frac{\text { Embedding capacity }}{\mathrm{W} \times \mathrm{H}}\) (1)
\(\text { PSNR }=10 \log ^{10} \frac{255^{2}}{M S E}\) (2)
\(\mathrm{MSE}=\sum_{i=1}^{\mathrm{W} \times \mathrm{H}} \frac{\left(P^{\prime} i-P i\right)^{2}}{\mathrm{~W} \times \mathrm{H}}\) (3)
Table 3 shows that the proposed technique hides 3.01, 3.22, 3.58, 3.27, 3.25 and 3.26 bits/pixel in cover images of Baboon, Lenna, Jet, Boat, Couple and Peppers respectively with an acceptable average 33.53 PSNR. The results of CEDE technique show that proposed technique hides high payload of secret information in cover images with acceptable PSNR and MSE.
Table 3. Performance of Proposed CEDE Method without Compression
Table 4 shows that the proposed technique hides 9.03, 9.66, 10.74, 9.81, 9.75 and 9.78 compressed and encrypted bits/pixel in cover images of Baboon, Lenna, Jet, Boat, Couple and Peppers respectively with an acceptable average 33.53 PSNR. The results of CEDE technique show that proposed technique hides high payload of secret information in cover images with acceptable PSNR and MSE.
Table 4. Performance of Proposed CEDE Method with Compression
5. Comparison With Existing Techniques
The results of the proposed technique without compression are compared with available existing techniques based on some evaluation parameters: Payload, Bits per pixel (bpp), PSNR and Mean square error (MSE). The comparison of images i.e., Baboon, Lenna, Jet, Boat, Couple and Peppers are shown in Table 5-10 respectively. The huge modification in LSBs of cover images to embed more secret data causes low quality of stego image. Thus, many existing techniques embed high payload of secret data with low PSNR and MSE and vice versa. The comparison with existing technique shows that proposed CEDE technique embed more secret data in cover image with acceptable stego image quality.
Table 5 shows a comparison between proposed technique and existing LSB steganography techniques for Baboon stego image. This comparison shows that proposed CEDE technique embed 789270 secret data bits in 262, 144 pixels of Baboon cover image with 33.82 PSNR and 26.98 MSE. This technique embeds more secret data with acceptable PSNR as compare to existing techniques.
Table 5. Baboon Stego Gray
Table 6 shows a comparison for Lenna stego image. This comparison shows that proposed CEDE technique embeds 845, 972 secret data bits in 262, 144 pixels of Lenna cover image with 33.36 PSNR and 26.98 MSE. This technique embeds more secret data with acceptable PSNR as compare to existing techniques but high MSE (29.99) is limitation of this technique.
Table 6. Lenna Stego Gray
Table 7 shows a comparison for Jet stego image. This comparison shows that proposed CEDE technique embeds 939, 592 secret data bits in 262, 144 pixels of Jet cover image with 33.84 PSNR and 26.85 MSE. This technique embeds high payload of secret data than other techniques.
Table 7. Jet Stego Image
Table 8 shows a comparison for Boat stego image. This comparison shows that proposed CEDE technique embeds 858, 580 secret data bits in 262, 144 pixels of Boat cover image with 33.52 PSNR and 28.91 MSE. This technique embeds more secret data with acceptable PSNR as compare to existing techniques but high MSE (28.91) is limitation of this technique.
Table 8. Boat Stego Image
Table 9 shows comparison for Couple stego image. This comparison shows that proposed CEDE technique embeds 819, 456 secret data bits in 262, 144 pixels of Boat cover image with 33.25 PSNR and 30.76 MSE. This technique embeds high payload of secret data than other techniques.
Table 9. Couple Stego Image
Table 10 shows a comparison for Peppers stego image. This comparison shows that proposed CEDE technique embeds 854, 796 secret data bits in 262, 144 pixels of Boat cover image with 33.44 PSNR and 29.44 MSE. This technique embeds high payload of secret data than other techniques.
Table 10. Peppers Stego Image
6. Conclusion
In this paper a novel hybrid technique for optimal data security is proposed; where data compression is done using LZW compression in the first step; followed by the application of AES cryptographic technique; lastly image steganography using LSB substitution is devised which is based on pattern matching mechanism. In the steganographic technique, four 2 bits pairs of secret information are compared with four pairs of cover pixel and sixteen possible cases of matching are generated. The four LSBs of each pixel are modified according to pairs matching number. The best case of this technique carries eight secret data bits within a single pixel, the average case carries eight or ten secret data bits within 2 pixels and the worst case carries four secret data bits within two pixels. The results of proposed method show that stego images carry high capacity of payload with good quality. This hybrid method provides maximal data transmission inside cover images along with ensuring optimum data security.
References
- T. Saha, S. Sengupta, and T. Dasgupta, "Chaotic cipher based spatial domain steganography with strong resistance against statistical attacks," in Proc. of the 3rd International Conference on Research in Computational Intelligence and Communication Networks (ICRCICN), pp. 365-370, 2017.
- I. J. Kadhim, P. Premaratne, P. J. Vial, and B. Halloran, "Comprehensive survey of image steganography: Techniques, Evaluations, and trends in future research," Neurocomputing, vol. 335, pp. 299-326, 2019. https://doi.org/10.1016/j.neucom.2018.06.075
- M. Douglas, K. Bailey, M. Leeney, and K. Curran, "An overview of steganography techniques applied to the protection of biometric data," Multimedia Tools Applications, vol. 77, no. 13, pp. 17333-17373, 2017. https://doi.org/10.1007/s11042-017-5308-3
- M. Nosrati and R. Karimi, "Investigating a Benchmark Cloud Media Resource Allocation and Optimization," World Applied Programming, vol. 6, no. 1, pp. 5-9, 2016. https://doi.org/10.21828/WAP-06-01-002
- M. Sravanthi, M. Devi, S. Riyazoddin, and M. Reddy, "A Spatial Domain Image Steganography Technique Based on Plane Bit Substitution Method," Global Journals, vol. 12, no. 15, 2012.
- C. Hosmer, "Discovering Hidden Evidence," Journal of Digitital Forensic Practice, vol. 1, no. 1, pp. 47-56, 2006. https://doi.org/10.1080/15567280500541447
- J. Fridrich, M. Goljan, and R. Du, "Reliable detection of LSB steganography in color and grayscale images," in Proc. of Workshop on Multimedia and Security New Challenges, 2001.
- D. Shehzad and T. Dag, "LSB Image Steganography Based on Blocks Matrix Determinant Method," KSII Transactions Internet Information Systems, vol. 13, no. 7, pp. 3778-3793, 2019. https://doi.org/10.3837/tiis.2019.07.024
- A. Zakaria, M. Hussain, A. Wahab, M. Idris, N. Abdullah, and K.H. Jung, "High-Capacity Image Steganography with Minimum Modified Bits Based on Data Mapping and LSB Substitution," Applied Science, vol. 8, no. 11, 2018.
- D. Shehzad and T. Dag, "A novel image steganography technique based on similarity of bits pairs," in Proc. of IEEE 8th Control and System Graduate Research Colloquium (ICSGRC), pp. 99-104, 2017.
- G. Swain, "A Steganographic Method Combining LSB Substitution and PVD in a Block," Procedia Computer Science, vol. 85, pp. 39-44, 2016. https://doi.org/10.1016/j.procs.2016.05.174
- M. Khodaei, B. S. Bigham, and K. Faez, "Adaptive Data Hiding, Using Pixel-Value-Differencing and LSB Substitution," Cybernetics and Systems, vol. 47, no. 8, pp. 617-628, 2016. https://doi.org/10.1080/01969722.2016.1214459
- Y. Liu, C. C. Chang, and T. Y. Chien, "A Revisit to LSB Substitution Based Data Hiding for Embedding More Information," Advances in Intelligent Information Hiding and Multimedia Signal Processing, vol. 63, pp. 11-19, 2016.
- T. C. Lu and Y. C. Lu, "An Improved Data Hiding Method of Five Pixel Pair Differencing and LSB Substitution Hiding Scheme," Advances in Intelligent Information Hiding and Multimedia Signal Processing, pp. 67-74, 2016.
- J. H. Horng, C. C. Chang, and G. L. Li, "Steganography Using Quotient Value Differencing and LSB Substitution for AMBTC Compressed Images," IEEE Access, vol. 8, pp. 129347-129358, 2020. https://doi.org/10.1109/access.2020.3009232
- J. Bai, C. C. Chang, T. S. Nguyen, C. Zhu, and Y. Liu, "A high payload steganographic algorithm based on edge detection," Displays, vol. 46, pp. 42-51, 2017. https://doi.org/10.1016/j.displa.2016.12.004
- M. Hussain, A. W. A. Wahab, N. Javed, and K. H. Jung, "Recursive Information Hiding Scheme Through LSB, PVD Shift, and MPE," IETE Technical Review, vol. 35, no. 1, pp. 53-63, 2017.
- A. U. Islam, F. Khalid, M. Shad, Z. Khan, T. Mahmood, A. Khan, U. Ali, and M. Naeem, "An improved image steganography technique based on MSB using bit differencing," in Proc. of the 6th International Conference on Innovative Computing Technology (INTECH), pp. 265-269, 2016.
- X. Liao, Q. Wen, and J. Zhang, "A steganographic method for digital images with four-pixel differencing and modified LSB substitution," Jouranl of Visual Communication Image Representation, vol. 22, no. 1, pp. 1-8, 2011. https://doi.org/10.1016/j.jvcir.2010.08.007
- K. H. Jung and K. Y. Yoo, "Steganographic method based on interpolation and LSB substitution of digital images," Multimedia Tools and Applications, vol. 74, no. 6, pp. 2143-2155, 2014. https://doi.org/10.1007/s11042-013-1832-y
- O. Khalind and B. Aziz, "Single-mismatch 2LSB embedding steganography," in Proc. of IEEE International Symposium on Signal Processing and Information Technology, pp. 283-286, 2013.
- H. Lee, "Data Hiding in Spatial Color Images on Smartphones by Adaptive R-G-B LSB Replacement," IEICE Transactions on Information Systems, vol. E101.D, no. 8, pp. 2163-2167, 2018. https://doi.org/10.1587/transinf.2017EDL8232
- W. Hong, "Efficient Data Hiding Based on Block Truncation Coding Using Pixel Pair Matching Technique," Symmetry (Basel), vol. 10, no. 2, 2018.
- D. R. I. M. Setiadi and J. Jumanto, "An Enhanced LSB-Image Steganography Using the Hybrid Canny-Sobel Edge Detection," Cybernetics and Information Technologies, vol. 18, no. 2, pp. 74-88, 2018. https://doi.org/10.2478/cait-2018-0029
- R. D. Rashid and T. F. Majeed, "Edge based image steganography: Problems and solution," in Proc. of the 3rd International Conference Communications, pp. 1-5, 2019.
- S. L. Chikouche and N. Chikouche, "An improved approach for lsb-based image steganography using AES algorithm," in Proc. of the 5 th International Conference on Electrical Engineering - Boumerdes (ICEE-B), pp. 1-6, 2017.
- K. Muhammad, J. Ahmad, N. U. Rehman, Z. Jan, and M. Sajjad, "CISSKA-LSB: color image steganography using stego key-directed adaptive LSB substitution method," Multimedia Tools Applications, vol. 76, no. 6, pp. 8597-8626, 2016. https://doi.org/10.1007/s11042-016-3383-5
- K. Muhammad, J. Ahmad, H. Farman, Z. Jan, M. Sajjad, and S. W. Baik, "A Secure Method for Color Image Steganography using Gray-Level Modification and Multi-level Encryption," KSII Transactions Internet Information Systems, vol. 9, no. 5, pp. 1938-1952, 2015. https://doi.org/10.3837/tiis.2015.05.022
- W. C. Kuo, S. H. Kuo, and L. C. Wuu, "Multi-Bit Data Hiding Scheme for Compressing Secret Messages," Applied Science, vol. 5, no. 4, pp. 1033-1049, 2015. https://doi.org/10.3390/app5041033
- M. H. Mohamed and L. M. Mohamed, "High Capacity Image Steganography Technique based on LSB Substitution Method," Applied Mathematics and Information Science, vol. 10, no. 1, pp. 259-266, 2016. https://doi.org/10.18576/amis/100126
- H. W. Tseng and H. S. Leng, "High-payload block-based data hiding scheme using hybrid edge detector with minimal distortion," IET Image Processing, vol. 8, no. 11, pp. 647-654, 2014. https://doi.org/10.1049/iet-ipr.2013.0584
- J. R. Jayapandiyan, C. Kavitha, and K. Sakthivel, "Enhanced Least Significant Bit Replacement Algorithm in Spatial Domain of Steganography Using Character Sequence Optimization," IEEE Access, vol. 8, pp. 136537-136545, 2020. https://doi.org/10.1109/access.2020.3009234
- H. Patel, U. Itwala, R. Rana, and K. Dangarwala, "Survey of Lossless Data Compression Algorithms," International Journal of Engineering Research and Technolgy, vol. 4, no. 4, pp. 926-929, 2015.
- S. K. Rao, D. Mahto, and D. A. Khan, "A Survey on Advanced Encryption Standard," International Jouranl of Science and Research, vol. 6, no. 1, pp. 711-724, 2017.
- M. Goljan, J. J. Fridrich, and R. Du, "Distortion-Free Data Embedding for Images," in Proc. of International Workshop on Information Hiding, vol. 2137, pp. 27-41, 2001.
- G. Xuan, J. Zhu, J. Chen, Y. Q. Shi, Z. Ni, and W. Su, "Distortionless data hiding based on integer wavelet transform," Electronic Letters, vol. 38, no. 25, pp. 1646-1648, 2002. https://doi.org/10.1049/el:20021131
- M. U. Celik, G. Sharma, A. M. Tekalp, and E. Saber, "Reversible data hiding," in Proc. of International Conference on Image Processing, 2002.
- H. Yang, X. Sun, and G. Sun, "A high-capacity image data hiding scheme using adaptive LSB substitution," Radioengineering, vol. 18, no. 4, pp. 509-516, 2009.
Cited by
- A Lightweight Proxy Re-Encryption Approach with Certificate-Based and Incremental Cryptography for Fog-Enabled E-Healthcare vol.2021, 2021, https://doi.org/10.1155/2021/9363824