Pixel Value Difference Based Image Steganography with One Time Pad Encryption Giridhar Maji Sharmistha Mandal Department of Electrical Engineering Asansol Polytechnic, Asansol, India Giridhar.Maji@gmail.com Department of Computer Science and Technology Kanyapur Polytechnic, Asansol, India sharmistha.cse@gmail.com Narayan C. Debnath Soumya Sen School of Computing and Information Technology Eastern International University, Vietnam narayan.debnath@eiu.edu.vn A. K. Choudhury School of Information Technology University of Calcutta, Kolkata, India iamsoumyasen@gmail.com Abstract—Pixel value differencing (PVD) and Least Significant Bit (LSB) embedding are well known spatial domain steganographic techniques. PVD utilizes the sharp changes of intensities among adjacent pixels where a large number of secret bits could be embedded without any perceptible change. one-time pad (OTP) symmetric cryptography is known for its security. In the proposed scheme one or more LSB bits of the selected pixels are used depending on the pixel intensity difference with neighboring pixels in 2 × 2 image blocks of the cover image. Secret bits are encrypted using OTP with randomly generated pre-shared key. Such encrypted bits are completely random and resemble noise hence make the scheme robust against different statistical attacks. Comparative simulations with some wellknown PVD-based techniques show good results in terms of visual imperceptibility and different quality metrics such as MSE, PSNR, SSIM etc. Index Terms—Image Steganography, Pixel value difference(PVD), Least Significant Bit(LSB), One Time Pad (OTP),Spatial domain I. I NTRODUCTION The Internet has become the most popular medium of digital communication but with a greater threat to privacy and secrecy. All messages travel through the public channels from sender to receiver and subject to monitoring as well as moderation. Two different well-known approaches to solve the problem are known as cryptography and steganography. In cryptography, the secret messages are encrypted to some illegible gibberish (known as ciphertext) with the help of some random keys before sending them through the public channel. Upon receiving the ciphertext receiver uses the key to decrypt the original message back. The secrecy of the message is kept by the keys without which an interceptor could not understand the message but knows the fact that some hidden communication is taking place. In the case of steganography, the goal is not only to hide the secret but also to make the existence of the communication hidden. As a result, when cryptography attracts hackers, steganography remains undetected to others except for the intended receiver. Steganography uses a cover media to hide some (often encrypted) secret message by embedding them in the redundant noise portion of the cover to make it imperceptible. Cover media can be an image, video or audio. When an image is used as a cover then it is called image steganography. Based on the way secret message bits are embedded image steganography is mainly categorized into transformed (or frequency) domain techniques and spatial domain techniques [1]. Some of the popular frequency domain techniques are discrete cosine transform (DCT) [2], discrete wavelet transform (DWT) [3], discrete Tchebichef transform (DTT) [4] etc. Least significant bit (LSB) substitution is the most common technique in spatial domain where image pixel intensity values 8th bit is used to embed the secret message bits. Many different variations of this technique exist. Some used more than one bit [5] to embed, others have used some kind of transformation (e.g. Arnold transformation) of the secret bits before embedding [6], some researchers have used the RC4 algorithm to randomize the secret bits instead of storing them sequentially while embedding in pixel LSBs [7], some even first encrypts the secret message [8], [9] and then embeds. Authors in [10] used a reference image along with the cover image for encoding of the secret bits before embedding into the cover image LSBs. Edge areas in an image have large variations in adjacent pixel intensities and this fact has been exploited to hide many secret message bits into those pixels without any perceptible changes [11], [12]. Pixel value differencing (PVD) method was first proposed by Wu and Tsai [13] where the cover image is first divided into two-pixel blocks. These blocks are non-overlapping in space. Blockwise pixel intensity value difference is used to hide secret bits. More the difference more bits it can hide. Later a large number of methods with modified PVD and LSB technique have been proposed [14]–[18]. A comprehensive survey of different PVD based image steganography techniques is available in [19]. The Vernam cipher [20] (also known as one-time pad, OTP) is a symmetric key cipher i.e. same key is used for encryption as well as for decryption of the original message. It is defined over the alphabet {0 1}. If the secret binary string is m and a random binary key string of the same length is k then encrypted secret binary bits (cipher bits) c = m exclusive OR k (c = m ⊕ k) Again, to get back the original secret message receiver has to again apply the same XOR operation on the encrypted cipher string with the key. m = c ⊕ k; The key k is generated each time randomly. OTP is used block-wise to encrypt the secret bits. Researchers in [2], [3] have used OTP based encryption of secret bits before embedding them into frequency domain coefficients. If a truly random key is used and key length is same as message length then OTP is said to be the strongest encryption and very difficult to break, highly resistant to brute force attacks as it requires the attacker to try all possible combination of keys [21]. In our proposed method we shall employ OTP based encryption of the secret text with randomly generated keys and then embed them using a modified PVD method by partitioning the cover image into 2 × 2 pixel blocks. Rest of the paper is organized as follows. Different related studies are done in section II. Proposed scheme is explained in section III with an illustrative example. Experimental results are discussed in section IV. Finally, section V concludes the study. II. R ELATED W ORK One Time Pad (OTP) encryption technique was first proposed by G. Vernam in 1917 and is very popular in the cryptography domain. Very recently cryptographic techniques have been used along with steganographic methods for achieving dual-layer security. OTP has been used along with many different types of steganographic techniques to make the scheme more robust and secure. Researchers in [8] used OTP based encryption along with LSB steganography where they have used alphanumeric messages of size 8 byte to 128 byte for embedding in a color cover image. They first used OTP to encrypt the text message bits and then used 3 LSB bits of the cover image to insert the encrypted bits. Stego image quality is measured by mean square error (MSE) and peak noise to signal ratio (PSNR). Authors in [2] used OTP along with DCT where they have encrypted the message using a random key with the Vernom cipher and then embed them into the cover image dct coefficients with a block size of 16 × 16. Normalized cross correlation (NCC) metric is used along with MSE and PSNR for quality evaluation. OTP is used with DWT in [3] where secret message is a 32*32 binary image which is embedded into the LL4 and the HH4 subband of a 512 × 512 cover image into wavelet transformed domain after encoding using randomly generated keys. MSE, PSNR, and NCC are used as a quality metric. Pixel value differencing (PVD) method is first introduced in [13] by Wu and Tsai. It utilizes the difference between two consecutive pixel values and uses it to embed secret bits. But this method is prone to histogram-based attacks and to overcome a modified PVD method is proposed in [22]. Wu et al in [16] proposed a combined method using 2-pixel block PVD and 3 bit LSB for higher security and lower distortion. Authors in [17] developed a modified LSB embedding with 4-pixel blocks with PVD. G. Swain in [23] proposes two adaptive PVD methods with 2 × 2 nonoverlapping blocks that give good hiding capacity and with 3 × 3 overlapping pixel blocks that give good PSNR metric. In the first technique, both horizontal and vertical edges were considered whereas in the second method any one of them is considered. We have observed from literature survey that OTP gives good security with the less computational burden and randomizes secret text bits quite well with randomly generated keys. Again, a suitably modified PVD method provides higher capacity in terms of the amount of secret data embedded. But PVD with higher capacity is prone to RS attack as well as histogram pair steganalysis. So we have skipped using rangebased approach to embed a higher number of bits into the high-intensity pixels. Rather we use only selected pixels to avoid the above steganalysis attacks with a little compromise with capacity. We shall embed 2 bits on selected 4-bit image blocks. Hence it becomes our natural choice to combine OTP and modified PVD for a fast, secure, robust but lower capacity steganography scheme. III. P ROPOSED S CHEME The proposed scheme using One Time Pad (OTP) and modified Pixel Value Differencing (PVD) is outlined in fig. 1. It utilizes the benefits of both the techniques where OTP enhances the security by randomizing the secret bits and PVD ensures higher capacity by utilizing the best possible pixels to embed the secret bits. Our proposed scheme first converts the secret message characters into 8 bit ASCII equivalent binary string. Next 4 bit groups are formed and converted to decimal. Cover image is also divided into 2×2 blocks as shown in fig.2. Each pixel is marked as p1 to p4. It gives a total of six different pixel pairs with pixel value differences as shown in table I. Secret Text Message Random Generated Key for OTP Based Encryption Secret Binary String Secret Text Message Secret Binary String Encrypted Binary String Encrypted Binary String 4 bit groups made & converted to decimal Decimal value converted to 4 bit binary equivalent Cover Image Embedded into Cover Image 2×2 Blocks using PVD to create Stego Image Stego Image Decimal value Extracted from Stego Image 2×2 Blocks using PVD Public channel (Internet) Sender Side Recipient Side Fig. 1: Block Diagram of the Proposed Scheme. Every character of the secret message is converted to 8bit binary and it is then encrypted by XORing with 8 bit P1 P2 P4 P3 Fig. 2: Pixels of a 2 × 2 cover image block. TABLE I: Possible pixel pairs with value differences Sl. No. 1 2 3 4 5 6 Pixel Pair p1p2 p1p3 p1p4 p2p3 p2p4 p3p4 Difference d12 = d21 = |p1 − p2| d13 = d31 = |p1 − p3| d14 = d41 = |p1 − p4| d23 = d32 = |p2 − p3| d24 = d42 = |p2 − p4| d34 = d43 = |p3 − p4| Sorted Difference dmax1 dmax2 dmax3 dmax4 dmax5 dmax6 randomly generated keys. Thus 8-bit of the encrypted secret is created. These 8 bits will now be embedded into two consecutive 2×2 cover image blocks with modified pixel value differencing technique. Each cover image block will be used to embed 4 bits of encrypted text. So, 8 bits of encrypted text is divided into two 4-bit groups and each of them converted to an unsigned integer. The range of value will be 0 15 in decimal (0000 - 1111). Our aim is to now embed this number into the 2×2 pixel block in such a way that it can be recovered in the receiver side without any loss of information. A. Embedding Algorithm using PVD Secret message is converted to 8-bit ASCII and cover image divided into 2 × 2 pixel image blocks before embedding. An 8-bit random key(K) is also generated and used for OTP encryption to scramble the secret bits and make the system more secure. The same 8-bit key is used to encrypt all the secret message and communicated to the receiver separately. Complete embedding process is depicted in Algorithm 1. Please note the value must be chosen in such a way so that even after the embedding of the secret bits, dmax1 remains on top of the sorted list. It can be observed that at a maximum, pixel intensity of the highest-intensity pixel may be reduced by 4 due to changing the 3rd LSB from 1 to 0. Hence the value must be more than 4 to be able to extract the message successfully. A complete example is shown in section III-C with step by step calculations to embed a string (’hi’) in a sample cover image. B. Extraction Steps Extracting the secret from the stego image becomes easy when the pre-shared 8-bit key(K) is available with the receiver. Receiver has to follow the similar process of dividing the stego image into 2 × 2 blocks and then do the per block processing as detailed in algorithm 2 to recover the secret text. C. An Illustrative Example Lets say the secret text is Hi. In ASCII it is 72 105. In binary, it is 0100 1000 0110 1001. Now consider six 2 × 2 cover image pixel blocks as shown in figure 3 taken from gray Algorithm 1: Data Embedding input : Secret text message(M ), Random Generated OTP key(K), Cover Image output : Stego Image Step 1: Convert the secret text characters each into an 8-bit binary string. Step 2: Each character is encrypted using 8-bit random generated key using OTP as: Ci = Mi ⊕ K, where Ci is the encrypted bits and Mi is the message bits, K being the OTP key. Where i denotes the characters in the secret message. Step 3: 8-bit encrypted string is divided into two 4-bit nibbles (N). Step 4: Cover image is divided into 2 × 2 pixel blocks and every 4 bits are embedded into two consecutive image blocks. Step 5: Find all possible pixel value differences (d1 to d6 ) and sort in decreasing order so that maximum value appears in the top (= dmax1 = |pi − pj |). Let dmax1 is the difference between pixels pi and pj . Similarly, dmax2 is the second top element in the list. if (dmax1 == dmax2 ) then Skip the block and continue. else if (dmax1 − dmax2 > ) then if (pi > pj ) then Substitute 2 LSB bits of pi with first 2 bits of N Substitute 2 LSB bits of pj with last 2 bits of N Set 3rd LSB bit of Pi to 1 to indicate that the current block contains hidden data bits. else Substitute 2 LSB bits of pi with last 2 bits of N Substitute 2 LSB bits of pj with first 2 bits of N Set 3rd LSB bit of Pj to 1 to indicate that this block contains hidden data bits. else Set 3rd LSB bit of M AX(Pi , Pj ) to 0. //Indicates to skip the block converted image fabric.png provided with Matlab. The blocks are marked as b1, b2 . . . b6. Now we embed 4 bits in each such block. For each block, pixels are marked as p1 , p2 , p3 and p4 . For b1 the pixel values are p1 = 49, p2 = 68, p3 = 54 and p4 = 44. Now as shown in Table II we calculate all possible pixel value differences and sort them to obtain dmax1 > dmax2 > · · · > dmax6 . Then we select the highest difference. And store 2 bit of secret into the pixels that gives maximum difference. In this case for b1 it is p2 and p4 . Now p2 > p4 , so first 2 bit of the secret (01) is stored into the LSBs of p2 and it’s value changes to 69 from 68. Similarly after embeddeing last 2 bit of secret(00) into LSBs of p4 it’s value becomes 44 (no change). Now indicator bit (3rd LSB of p2 ) is set to 1 (to indicate that this block contains payload) and p2 value remains 69. In a similar way b2 and b3 hides data but in case of b4 the difference between dmax1 and dmax2 Algorithm 2: Data Extraction input : Stego Image, Pre-shared OTP key(K) output : Hidden text message (C) Step1: Divide the stego image into 2 × 2 blocks with pixels p1 , p2 , p3 and p4 Step2: Calculate all pixel difference values block-wise. Step3: Sort the pixel difference value in decreasing order to obtain dmax1 > dmax2 · · · > dmax6 . Where dmax1 is the highest pixel difference. Let dmax1 = |pi − pj | Step 4: if (dmax1 == dmax2 ) then Skip the block and Continue. else if (3rd LSB of M AX(Pi , Pj ) is 0) then Skip that block else if (3rd LSB ofM AX(Pi , Pj ) is 1) then /* Extract the hidden data bits from Pi and Pj */ Extract first two bits of secret data from M AX(Pi , Pj )s 2 LSBs; Extract last two bits of secret data from M IN (Pi , Pj )s 2 LSBs; Combine first and last 2 bits to obtain 4-bit data. Step 5: Repeat Step 4 to collect 4-bit data from the next image block and append to create 8-bit secret data (C) which is actually the OTP encrypted data Step 6: Use 8 bit OTP key (K) with C to obtain the hidden binary as M = C ⊕ K Step 7: Convert 8-bit binary into ASCII character to get the hidden text message. is less than the threshold ( = 5) so we skip the block and continue to b5. Our 16 bit secret embedding completes within 5 blocks. Hence 6th block is unused. 49 68 94 117 114 81 64 61 75 106 123 109 44 54 74 103 102 91 65 59 82 116 119 93 b1 b2 b3 b4 b5 (a) Baboon Original (b) Baboon Stego (c) Boat Original (d) Boat Stego (e) Lenna Original (f) Lenna Stego Fig. 4: Visual comparison between (a) Original Image and (b) Stego Image. original embedded 500 500 0 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 b6 49 69 94 118 117 82 64 61 77 106 123 109 44 54 72 103 112 91 69 59 82 118 119 93 1000 500 500 0 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Fig. 3: Selected cover image blocks: original (above) and after embedding (below). All test images are taken from SIPI image database (http://sipi.usc.edu/database/database.php?volume=misc). We have resized them to 256 pixel × 256 pixel and converted to 8-bit grayscale before processing. Secret text has been taken from arbitrary web pages. As OTP key is randomly generated so, on every run hiding capacity and image quality metrics will vary. We have used same image to hide same secret 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 500 500 IV. R ESULTS AND D ISCUSSION 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1000 0 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Fig. 5: Histograms of selected cover image and stego image: Baboon (top), Boat and Lenna(bottom) TABLE II: Illustrative calculation steps to embed Hi using the proposed scheme Block # Pixel Pair b1 b2 b3 b4 b5 p1p2 p1p3 p1p4 p2p3 p2p4 p3p4 p1p2 p1p3 p1p4 p2p3 p2p4 p3p4 p1p2 p1p3 p1p4 p2p3 p2p4 p3p4 p1p2 p1p3 p1p4 p2p3 p2p4 p3p4 p1p2 p1p3 p1p4 p2p3 p2p4 p3p4 Pixel Differences Sorted differences d12 = d21 = |p1 − p2 | = 19 d13 = d31 = |p1 − p3 | = 5 d14 = d41 = |p1 − p4 | = 5 d23 = d32 = |p2 − p3 | = 14 d24 = d42 = |p2 − p4 | = 24 d34 = d43 = |p3 − p4 | = 10 d12 = d21 = |p1 − p2 | = 23 d13 = d31 = |p1 − p3 | = 9 d14 = d41 = |p1 − p4 | = 20 d23 = d32 = |p2 − p3 | = 14 d24 = d42 = |p2 − p4 | = 43 d34 = d43 = |p3 − p4 | = 29 d12 = d21 = |p1 − p2| = 33 d13 = d31 = |p1 − p3 | = 23 d24 = d42 = |p2 − p4 | = 21 d14 = d41 = |p1 − p4 | = 12 d34 = d43 = |p3 − p4 | = 11 d23 = d32 = |p2 − p3 | = 10 d12 = d21 = |p1 − p2 | = 3 d13 = d31 = |p1 − p3 | = 5 d14 = d41 = |p1 − p4 | = 1 d23 = d32 = |p2 − p3 | = 2 d24 = d42 = |p2 − p4 | = 4 d34 = d43 = |p3 − p4 | = 6 d12 = d21 = |p1 − p2 | = 31 d13 = d31 = |p1 − p3 | = 41 d14 = d41 = |p1 − p4 | = 7 d23 = d32 = |p2 − p3 | = 10 d24 = d42 = |p2 − p4 | = 24 d34 = d43 = |p3 − p4 | = 34 dmax1 = d24 = 24 dmax2 = d21 = 19 dmax3 = d23 = 14 dmax4 = d34 = 10 dmax5 = d31 = 5 dmax6 = d14 = 5 dmax1 = d24 = 43 dmax2 = d34 = 29 dmax3 = d21 = 23 dmax4 = d34 = 20 dmax5 = d23 = 14 dmax6 = d31 = 9 dmax1 = d12 = 33 dmax2 = d13 = 23 dmax3 = d24 = 21 dmax4 = d14 = 12 dmax5 = d34 = 11 dmax6 = d23 = 10 dmax1 = d43 = 6 dmax2 = d13 = 5 dmax3 = d42 = 4 dmax4 = d12 = 3 dmax5 = d23 = 2 dmax6 = d41 = 1 dmax1 = d13 = 41 dmax2 = d34 = 34 dmax3 = d12 = 31 dmax4 = d24 = 24 dmax5 = d23 = 10 dmax6 = d14 = 7 Selected Pixel Pair p2p4; 01 is substituted in last 2 LSB of p2 and 00 in p4 . p2 =68=0100 0100 updated p2 = 0100 0101 =69 updated p4 = 0010 1100 =44 With indicator 3rd LSB set, p2 = 0100 0101 =69 p2p4; 10 is substituted into last 2 LSB of p2 and 00 into p4 . p2 =117=0111 0101 updated p2 = 0111 0010 =114 updated p4 =0100 1000 =72 With indicator 3rd LSB set, P2 = 0111 0110 = 118 p1p2; 01 is substituted in last 2 LSB of p1 and 10 in p2 . p1 =114=0111 0010 updated p1 = 0111 0001 =113 updated p2 = 0101 0010 =82 With indicator 3rd LSB set, p1 = 0111 0101 = 117 No pair is selected as dmax1 − dmax2 < (= 5); hence this block is skipped with indicator 3rd LSB of p4 set to 0. Updated p4 = 0100 0101 = 69 p1p3; p1 < p3 so,01 is substituted in last 2 LSB of p1 and 10 in p3 . p1 =75=0100 1011 updated p1 = 0100 1001 =73 p3 =116=0111 0100 updated p3 =0111 0110=118 With indicator 3rd LSB set, p1 = 0100 1101 = 77 TABLE III: Different image quality metrics comparison with PVD [13] and OPAP [24] for selected standard images. Image Name Baboon Rice Mandi Peeper House Tree Sailboat Boat Bridge Aerial Capacity (bits) PVD MSE PSNR 3088 3088 3088 3088 3088 3088 3088 3088 3088 3088 0.5283 0.4011 0.1007 0.1340 0.2332 0.1292 0.2568 0.1316 0.2751 0.3673 50.9018 52.0979 58.0995 56.8597 54.4527 57.0193 54.0355 56.9395 53.7359 52.4803 SSIM Capacity (bits) 0.9996 0.9995 0.9994 0.9998 0.9992 0.9989 0.9997 0.9990 0.9997 0.9997 3088 3088 3088 3088 3088 3088 3088 3088 3088 3088 message 10 times and then same is done for 10 different secret messages. Capacity of a cover image is commonly defined as the maximum number of bits that could be embedded in a fixed size image. Due to use of compression of secret message before embedding and compression of cover image itself it is very difficult to define capacity in a generic way. Some authors define capacity as the number of bits embedded per pixel of cover image.In this study we have reported absolute size of secret message that has been embedded in each case. Reported image quality metrics in table III are the averages taken over 100 such runs. Simulations were implemented and executed in Matlab 2015. Results are compared with classical PVD [13] and OPAP [24] using some standard image quality parameters such as mean square error (MSE), peak noise to signal ratio (PSNR) and SSIM. MSE represents the distortion introduced to the cover image due to embedding of hidden bits. MSE is OPAP MSE PSNR 0.0471 0.0471 0.0471 0.0471 0.0471 0.0471 0.0471 0.0471 0.0471 0.0471 61.3988 59.5629 61.3988 61.3988 57.3846 59.0864 55.5833 57.9992 55.9662 59.6495 SSIM Capacity (bits) Proposed MSE PSNR SSIM 1.0000 0.9998 0.9996 0.9998 0.9995 0.9995 0.9997 0.9995 0.9999 0.9999 0.0637 0.0587 0.0292 0.0463 0.0753 0.0664 0.0665 0.0580 0.0579 0.0890 0.9999 0.9998 0.9998 0.9999 0.9999 0.9999 0.9999 0.9997 0.9999 0.9999 3088 3088 1760 2172 3088 3088 3088 2456 3088 3088 60.0890 60.4466 63.4716 61.4726 59.3654 59.9107 59.9037 60.4978 60.5058 58.6382 defined as, m−1 n−1 1 XX [I(i, j) − K(i, j)]2 , M SE = mn i=0 j=0 where I denotes the unaltered original cover image and K is the stego image with embedded bits. Similarly, PSNR for an 8-bit grayscale image can be calculated as: M AXi2 ) M SE Visual perceptual changes are very much negligible with the proposed scheme as can be seen in figure 4. Histograms for the original and stego images are shown in figure 5 for selected cover images. LSB bit plane plots are also compared between the original image and the stego image in figure 6 for selected images. Both histograms look similar without any subtle change in pattern. LSB bit-planes are also completely random without any patch or pattern in stego images. Histogram P SN R = 10 × log10 ( original embedded original embedded original embedded Fig. 6: LSB bit plane plot of Original and Stego (Embedded) Image of Baboon (top), Boat and Lenna (bottom). and LSB bit plane analysis does not show any indication of hidden data. It is also observed from the results that proposed method has improved quality metrics with added security and robustness but with compromise on capacity. Proposed technique may be helpful with smaller payload and greater undetectability. V. C ONCLUSION The Pixel Value Differencing (PVD) is a well established technique in image steganography that has high capacity (using range table)but it suffers from histogram based steganalysis attacks [22]. OTP encryption is most secure when used with a random key of comparable size. We have combined the goods of PVD with the security of OTP. A random generated key is used to scramble the secret message bits before embedding into the cover image using 2×2 non-overlapping pixel blocks. Proposed scheme does not use range table to increase the capacity as that hampers PSNR greatly with increase in noise level. Simulations show that this scheme gives better quality cover image when compared to some well-known techniques. We focus more on the image undetectability than capacity. So this technique may be used for smaller hidden messages. If required capacity can be enhanced by employing a range-table but with compromised image quality. As a future direction OTP could be combined with edge detection techniques to increase the hiding capacity with more bits per pixel. R EFERENCES [1] T.-H. Lan and A. H. Tewfik, “A novel high-capacity data-embedding system,” IEEE Transactions on Image Processing, vol. 15, no. 8, pp. 2431–2440, 2006. [2] E. H. Rachmawanto, C. A. Sari et al., “Secure image steganography algorithm based on dct with otp encryption,” Journal of Applied Intelligent System, vol. 2, no. 1, pp. 1–11, 2017. [3] A. Setyono et al., “Stegocrypt method using wavelet transform and onetime pad for secret image delivery,” in Information Technology, Computer, and Electrical Engineering (ICITACEE), 2017 4th International Conference on. IEEE, 2017, pp. 203–207. View publication stats [4] T. Sutojo, E. H. Rachmawanto, C. A. Sari et al., “Fast and efficient image watermarking algorithm using discrete tchebichef transform,” in Cyber and IT Service Management (CITSM), 2017 5th International Conference on. IEEE, 2017, pp. 1–5. [5] G. Maji and S. Mandal, “Secure and robust image steganography using a reference image as key,” International Journal of Innovative Technology and Exploring Engineering (IJITEE), vol. 8, no. 7, pp. 2828–2839, 2019. [6] P. Das, S. C. Kushwaha, and M. Chakraborty, “Multiple embedding secret key image steganography using lsb substitution and arnold transform,” in Electronics and Communication Systems (ICECS), 2015 2nd International Conference on. IEEE, 2015, pp. 845–849. [7] N. Akhtar, P. Johri, and S. Khan, “Enhancing the security and quality of lsb based image steganography,” in Computational Intelligence and Communication Networks (CICN), 2013 5th International Conference on. IEEE, 2013, pp. 385–390. [8] M. Jain and S. K. Lenka, “Secret data transmission using vital image steganography over transposition cipher,” in Green Computing and Internet of Things (ICGCIoT), 2015 International Conference on. IEEE, 2015, pp. 1026–1029. [9] S. N. Gowda, “Advanced dual layered encryption for block based approach to image steganography,” in Computing, Analytics and Security Trends (CAST), International Conference on. IEEE, 2016, pp. 250–254. [10] G. Maji, S. Mandal, S. Sen, and N. C. Debnath, “Dual image based lsb steganography,” in Recent Advances in Signal Processing, Telecommunications & Computing (SigTelCom), 2018 2nd International Conference on. IEEE, 2018, pp. 61–66. [11] C.-H. Yang, C.-Y. Weng, S.-J. Wang, and H.-M. Sun, “Adaptive data hiding in edge areas of images with spatial lsb domain systems,” IEEE Transactions on Information Forensics and Security, vol. 3, no. 3, pp. 488–497, 2008. [12] M. Juneja and P. S. Sandhu, “Improved lsb based steganography techniques for color images in spatial domain.” IJ Network Security, vol. 16, no. 6, pp. 452–462, 2014. [13] D.-C. Wu and W.-H. Tsai, “A steganographic method for images by pixel-value differencing,” Pattern Recognition Letters, vol. 24, no. 9-10, pp. 1613–1626, 2003. [14] A. Pradhan, K. R. Sekhar, and G. Swain, “Digital image steganography combining lsb substitution with five way pvd in 2× 3 pixel blocks,” International Journal of Pharmacy and Technology, vol. 8, no. 4, pp. 22 051–22 061, 2016. [15] G. Swain, “A steganographic method combining lsb substitution and pvd in a block,” Procedia Computer Science, vol. 85, pp. 39–44, 2016. [16] H.-C. Wu, N.-I. Wu, C.-S. Tsai, and M.-S. Hwang, “Image steganographic scheme based on pixel-value differencing and lsb replacement methods,” IEE Proceedings-Vision, Image and Signal Processing, vol. 152, no. 5, pp. 611–615, 2005. [17] X. Liao, Q.-y. Wen, and J. Zhang, “A steganographic method for digital images with four-pixel differencing and modified lsb substitution,” Journal of Visual Communication and Image Representation, vol. 22, no. 1, pp. 1–8, 2011. [18] A. Malik, G. Sikka, and H. K. Verma, “A modified pixel-value differencing image steganographic scheme with least significant bit substitution method.” International Journal of Image, Graphics & Signal Processing, vol. 7, no. 4, 2015. [19] A. K. Sahu and G. Swain, “A review on lsb substitution and pvd based image steganography techniques,” Indonesian Journal of Electrical Engineering and Computer Science, vol. 2, no. 3, pp. 712–719, 2016. [20] O. Cornea, M. E. Borda, V. V. Paczki, and R. Malutan, “Dna vernam cipher,” in Dream International Conference on E-Health and Bioengineering. Iai, 2011. [21] R. Shukla, H. O. Prakash, R. P. Bhushan, S. Venkataraman, and G. Varadan, “Sampurna suraksha: unconditionally secure and authenticated one time pad cryptosystem,” in Machine Intelligence and Research Advancement (ICMIRA), 2013 International Conference on. IEEE, 2013, pp. 174–178. [22] X. Zhang and S. Wang, “Vulnerability of pixel-value differencing steganography to histogram analysis and modification for enhanced security,” Pattern Recognition Letters, vol. 25, no. 3, pp. 331–339, 2004. [23] G. Swain, “Adaptive pixel value differencing steganography using both vertical and horizontal edges,” Multimedia Tools and Applications, vol. 75, no. 21, pp. 13 541–13 556, 2016. [24] C.-K. Chan and L.-M. Cheng, “Hiding data in images by simple lsb substitution,” Pattern recognition, vol. 37, no. 3, pp. 469–474, 2004.