1. Introduction
In information security field, information hiding technique is an important and useful tool. It helps to make confidential message safe [1,2]. Usually, researchers concern mainly on hiding capacity and stego-image quality. It is difficult to improve both aspects at the same time. Improving hiding capacity while keeping the stego-image quality acceptable (𝑃𝑆𝑁𝑅 > 30 𝑑𝐵) is a common strategy.
In the past decades, many hiding methods have been proposed, such as the least significant bit (LSB) replacement method [3-6], pixel value differencing (PVD) steganography [7-9], exploiting modification direction (EMD) method [10-12], extraction function with modulus method [13-10] and so on. In LSB method, the least significant bit of the cover pixel is used to embed secret message; PVD steganography divides the gray scale image into many non overlapping blocks, each block consists of two pixels, the secret message is embedded in the difference between the values of two pixels; EMD method can embed secret message by modifying the value of one pixel in a group of gray scale pixels, it has the characteristics of small change in cover pixel value and high information hiding ability; extraction function with modulus method uses extraction function to convert the secret message, then embeds it into cover pixel by modulus operation. In 2007, Yi-Ren Wang et al. proposed an improved EMD method [7], it reached maximum 𝑏𝑝𝑝 at 1.5 and kept high stego-image quality. In 2009, another improved EMD method was proposed by Ki-yun Jung et al. [17], it uses 5−𝑎𝑟𝑦 notational system to update the pixel value, this method achieved maximum rate of 2 𝑏𝑝𝑝 and 𝑃𝑆𝑁𝑅 of 47.95 𝑑𝐵.
By learning these excellent methods, we found that many hiding methods still have room for improvement. In order to embed more information in cover-image while ensuring the quality of stego-image, in this paper, a high capacity information hiding scheme is proposed. It can greatly improve the hiding capacity while maintain acceptable quality of stego-images. The contributions and innovations of PAMO scheme are as follows:
1) PAMO scheme has the ability of adjusting hiding capacity. Each pixel can carry up to 7 confidential bits when secret message with a proper length;
2) The correctness of PAMO scheme is proved mathematically, and the effectiveness is proved by comprehensive experiments;
3) All codes, images and other related materials are public available at https://github.com/liteng0264/Information-Hiding.git. This lets other researchers verify our work easier.
The rest of this paper is organized as follows. Section 2 introduces Ki-Hyun Jung’s method [17] and T.D.Sairam’s method [19]. In Section 3, PAMO is introduced and the math proof is given. Comprehensive experiments are carried out in Section 4. Finally, Section 5 concludes the paper.
2. Related Works
In this section, let 𝑔 be the pixel value in cover-image, 𝑔′ be the pixel value in stego-image, 𝑛 be the number of binary bits in each secret group, 𝑑 be the secret digit converted from the secret group, 𝑑′ be the secret digit recovered from the stego-pixel, 𝑏′ be the binary bits converted from 𝑑′.
2.1 JK09 Algorithm
In 2009, Ki-Hyun Jung et al. proposed an improved EMD method [17]. It converts 𝑛 binary numbers to a secret digit firstly, then uses one cover pixel to carry the secret digit. More details of JK09 Algorithm are shown as follows:
Step 1 Compute the extraction function 𝑓 given in (1).
𝑓=(𝑔𝑖+𝑥) 𝑚𝑜𝑑 (2𝑛+1) (1)
𝐼𝑓 0≤𝑔≤1, 𝑡ℎ𝑒𝑛 0≤𝑥<2𝑛+1;
𝐼𝑓 254≤𝑔≤255, 𝑡ℎ𝑒𝑛 −(2𝑛+1)<𝑥<0;
𝐼𝑓 1<𝑔<254, 𝑡ℎ𝑒���� |𝑥|<2𝑛+1.
Step 2 When 𝑓 is equal to 𝑑, 𝑔′ can be calculated by (2).
𝑔′=𝑔+𝑥 (2)
Step 3 Use the extraction function 𝑓 to recover the secret digit 𝑑.
Through JK09 Algorithm, secret message can be embedded in cover-image efficiently. Besides, stego-image quality is kept acceptable. It can achieve maximum rate of 2 𝑏𝑝𝑝 and 𝑃𝑆𝑁𝑅 of 47.95 𝑑𝐵.
2.2 SB19 Algorithm
In 2019, T.D.Sairam et al. proposed a high capacity information hiding scheme [19]. The first step of this scheme is taking 𝑛 bits as a secret group, then converting the secret group to a 𝑛2−𝑎𝑟𝑦 notational system secret digit 𝑑, finally the secret digit can be hidden in the cover pixel. Details of SB19 Algorithm are shown as follows:
Step1 Before using SB19 Algorithm, secret message should be divided into multiple groups, each group with 𝑛 binary numbers. Then convert each group to a 𝑛2−𝑎𝑟𝑦 notational system number.
Step2 Embed all secret digits by loop 1 giving in the follows:
𝑓𝑜𝑟(−⌊𝑛2/2⌋≤𝑥≤⌊𝑛2/2⌋) {
𝑓=(𝑔+𝑥) 𝑚𝑜𝑑 𝑛2 𝑖𝑓(𝑓==𝑑) {
𝑔′=𝑔+𝑥 𝑏𝑟𝑒𝑎𝑘
}
}
* ⌊∙⌋ represents the flooring operation
Step 3 Recover secret message from stego-image by loop 2 giving in the follows:
𝑓𝑜𝑟 𝑎𝑙𝑙 𝑔′ 𝑖𝑛 𝑠𝑡𝑒𝑔𝑜−𝑖𝑚𝑎𝑔𝑒 {
𝑑′=𝑔′ 𝑚𝑜𝑑 𝑛2
𝑏′=𝑑′ 𝑐𝑜𝑛𝑣𝑒𝑟𝑡 𝑡𝑜 𝑏𝑖𝑛𝑎𝑟𝑦 𝑑𝑖𝑔𝑖𝑡𝑠
}
𝑓𝑜𝑟 𝑎𝑙𝑙 𝑏′ {
𝑠𝑒𝑐𝑟𝑒𝑡 𝑚𝑒𝑠𝑠𝑎𝑔𝑒=𝑐𝑜𝑚𝑏𝑖𝑛𝑒 𝑏′
}
3. Proposed Method
In this section, let 𝑔 be the pixel value in cover-image, 𝑔′ be the pixel value in stego-image. Secret messages would be divided into multiple groups, each group with 𝑛 binary numbers. 𝑑 be the secret digit converted from the secret group and 𝑑 be a (2𝑛+𝑛)−𝑎𝑟𝑦 notational system number, 𝑑′ be the secret digit recovered from the stego-pixel, 𝑏′ be the binary bits converted from 𝑑′.
3.1 PAMO Algorithm
This paper proposes a new information hiding scheme (PAMO Algorithm). It can not only improve the hiding capacity but also keep the stego-image quality acceptable. The maximum embedding rate is 7 while the 𝑃𝑆𝑁𝑅 of stego-image still more than 30 𝑑𝐵.
Step 1 Before using PAMO Algorithm, secret message should be divided into multiple secret groups by (3).
𝑛𝑢𝑚_𝑔𝑟𝑜𝑢𝑝= ⌈𝑠𝑒𝑐𝑟𝑒𝑡_𝑚𝑒𝑠𝑠𝑎𝑔𝑒_𝑙𝑒𝑛𝑔𝑡ℎ/𝑛⌉ (3)
* ⌈∙⌉ represents the ceiling operation
Step 2 After step1, every secret group has 𝑛 binary numbers. These binary numbers should be converted to a (2𝑛+𝑛)−𝑎𝑟𝑦 notational system number 𝑑.
Step 3 Embed secret digit 𝑑 in cover pixel by loop 3 giving in the follows:
𝑓𝑜𝑟 𝑖 𝑖𝑛 ⌊1 , 𝑛𝑢𝑚_𝑔𝑟𝑜𝑝𝑢⌋ {
𝑓𝑜𝑟(−⌊(2𝑛+𝑛)/2⌋≤𝑥≤⌊(2𝑛+𝑛)/2⌋) {
𝑓= (𝑔+𝑥) 𝑚𝑜𝑑 (2𝑛+𝑛)
𝑖𝑓(𝑓==𝑑) {
𝑡𝑒𝑚𝑝=𝑔+𝑥 𝑖𝑓(𝑡𝑒𝑚𝑝<0)
𝑔′=𝑡𝑒𝑚𝑝+ (2𝑛+𝑛)
𝑖𝑓(𝑡𝑒𝑚𝑝>255)
𝑔′=𝑡𝑒𝑚𝑝− (2𝑛+𝑛)
𝑖𝑓(0<𝑡𝑒𝑚𝑝<255)
𝑔′=𝑡𝑒𝑚𝑝
𝑏𝑟𝑒𝑎𝑘
}
}
}
* ⌊∙⌋ represents the flooring operation
After step1, step2 and step3, secret message can be hidden into cover-image successfully. At the same time, a stego-image is generated.
Step 4 𝑑′ can be obtained by (4).
𝑑′=𝑔′ 𝑚𝑜𝑑 (2𝑛+𝑛) (4)
Step 5 Recover secret message from stego-image by loop 4 giving in the follows:
𝑓𝑜𝑟 𝑎𝑙𝑙 𝑔′ 𝑖𝑛 𝑠𝑡𝑒𝑔𝑜−𝑖𝑚𝑎𝑔𝑒 {
𝑑′=𝑔′ 𝑚𝑜𝑑 (2𝑛+𝑛)
𝑏′=𝑑′ 𝑐𝑜𝑛𝑣𝑒𝑟𝑡 𝑡𝑜 𝑏𝑖𝑛𝑎𝑟𝑦 𝑑𝑖𝑔𝑖𝑡𝑠
}
𝑓𝑜𝑟 𝑎𝑙𝑙 𝑏′ {
𝑠𝑒𝑐𝑟𝑒𝑡 𝑚𝑒𝑠𝑠𝑎𝑔𝑒=𝑐𝑜𝑚𝑏𝑖𝑛𝑒 𝑏′
}
In order to illustrate the steps of PAMO more clearly, here is a simple example:
Assume that there is a secret message 1011100100010110; And there is a gray scale image, the pixel values of the first four pixels are 255, 150, 50, 5……; We take 𝑛 as 4, it means that 4 bits will be embedded in each pixel.
Step 1 Divide the secret message into four groups, each group is 1011, 1001, 0001 and 0110.
Step 2 Convert each group to a 20−𝑎𝑟𝑦 notational system number, respectively are b, 9, 1, 6.
Step 3 Embed the first secret digit into the first pixel:
𝑥∈[−10, 10], 𝑓=(255+𝑥) 𝑚𝑜𝑑 20, so when 𝑥 is -10, 𝑓 is 5, 𝑓 is not equal to the first secret digit; when 𝑥 is -9, 𝑓 is 6; when 𝑥 is -8, 𝑓 is 7; when 𝑥 is -7, 𝑓 is 8; when 𝑥 is -6, 𝑓 is 9; when 𝑥 is -5, 𝑓 is 10; when 𝑥 is -4, 𝑓 is 11, 𝑓 is equal to the first secret digit b. According to embedding rules, the pixel value of the first stego-pixel is 251. So far, the first secret group has been successfully embedded in the cover pixel.
Step 4 Recover secret digit from stego-pixel, 𝑑′=𝑔′ 𝑚𝑜𝑑 20=11, then convert it to binary bits, that is 1011. So far, the first secret group has been successfully recovered from the stego-pixel.
According to the above steps, other secret digit can be embedded in the cover pixels, the secret digit can also be recovered from the stego-pixels.
3.2 Math Proof
3.2.1 PAMO can embed secret digit into cover-image correctly
When 𝑛 equals 7, the value of secret digit ranges from 0000000 to 1111111 (In Binary system), that is 0 to 127 (In Decimal system). The necessary condition for embedding is ′𝑓==𝑑′ , 𝑓= (𝑔+𝑥) 𝑚𝑜𝑑 135, then some conditions can be derived:
𝑔∈[0, 255], 𝑑∈[0, 127]
This part needs to prove that, no matter what the value of 𝑔 or 𝑑 is, there must exist 𝑓 equals to 𝑑.
∵ −⌊(2𝑛+𝑛)/2⌋≤𝑥≤⌊(2𝑛+𝑛)/2⌋ , 𝑛=7
∴ 𝑥∈[−68, 67]
∵ 𝑓= (𝑔+𝑥) 𝑚𝑜𝑑 135
∴ 𝑓∈[0, 134], this is determined by the nature of modulo operation.
∵ From the rules of modulo operation: (𝑎+𝑏) 𝑚𝑜𝑑 𝑝=((𝑎 𝑚𝑜𝑑 𝑝)+(𝑏 𝑚𝑜𝑑 𝑝)) 𝑚𝑜𝑑 𝑝
∴ 𝑓=(𝑔+𝑥) 𝑚𝑜𝑑 135
=((𝑔 𝑚𝑜𝑑 135)+(𝑥 𝑚𝑜𝑑 135)) 𝑚𝑜𝑑 135
∴ Set 𝑦=𝑔 𝑚𝑜𝑑 135 and 𝑧=𝑥 𝑚𝑜𝑑 135, then 𝑓=(𝑦+𝑧) 𝑚𝑜𝑑 135
∵ Each pixel value is ranging from 0 to 255, but for a certain pixel, its value is certain. ∴ 𝑔 is a certain value.
∴ 𝑦 is a certain value and a constant, ranging from 0 to 134.
∵ 𝑥∈[−68, 67]
∴ 𝑧∈[0, 134], 𝑧 is an uncertain value and a variable.
∵ 𝑓=(𝑦+𝑧) 𝑚𝑜𝑑 135, 𝑦 is a constant and ranging from 0 to 134, 𝑧 is a variable and belonging to 0 to 134.
∴ 𝑓∈[0, 134], 𝑓 is an uncertain value and a variable, 𝑓 can take all values in its range.
The range of 𝑓 is larger than the range of 𝑑, so secret digit definitely can be embedded in cover pixel.
3.2.2 PAMO can recover secret digit from stego-image correctly
From proof 3.2.1, there must exist 𝑓 equals to 𝑑. Then could follow the below rules to update the cover pixel value:
𝑡𝑒𝑚𝑝=𝑔+𝑥
𝑖𝑓(𝑡𝑒𝑚𝑝<0)
𝑔′=𝑡𝑒𝑚𝑝+ (2𝑛+𝑛)
𝑖𝑓(𝑡𝑒𝑚𝑝>255)
𝑔′=𝑡𝑒𝑚𝑝− (2𝑛+𝑛)
𝑖𝑓(0<𝑡𝑒𝑚𝑝<255)
𝑔′=𝑡𝑒𝑚𝑝
This part needs to prove that, variable 𝑑′ can be obtained by (4). Besides, 𝑑′ is absolutely equal to 𝑑.
① 𝑖𝑓 𝑡𝑒𝑚𝑝<0, 𝑡ℎ𝑒𝑛 𝑔′=(𝑔+𝑥)+135
∵ 𝑑′=𝑔′ 𝑚𝑜𝑑 (2𝑛+𝑛)
∴ 𝑑′=(𝑔+𝑥+135) 𝑚𝑜𝑑 (2𝑛+𝑛)
=(((𝑔+𝑥) 𝑚𝑜𝑑 135)+(135 𝑚𝑜𝑑 135)) 𝑚𝑜𝑑 135
=((𝑔+𝑥) 𝑚𝑜𝑑 135) 𝑚𝑜𝑑 135
=𝑓 𝑚𝑜𝑑 135
∵ Known in proof 3.2.1, 𝑓∈[0, 134].
∴ 𝑑′= 𝑓 𝑚𝑜𝑑 135= 𝑓=𝑑
∴ If 𝑡𝑒𝑚𝑝 is less than 0, secret digit can be recovered.
② 𝑖𝑓 𝑡𝑒𝑚𝑝>255, 𝑡ℎ𝑒𝑛 𝑔′=(𝑔+𝑥)−135
∵ 𝑑′=𝑔′ 𝑚𝑜𝑑 (2𝑛+𝑛)
∴ 𝑑′=(𝑔+𝑥−135) 𝑚𝑜𝑑 (2𝑛+𝑛)
=(𝑔+𝑥−135) 𝑚𝑜𝑑 135
=(((𝑔+𝑥) 𝑚𝑜𝑑 135)−(135 𝑚𝑜𝑑 135)) 𝑚𝑜𝑑 135
=((𝑔+𝑥) 𝑚𝑜𝑑 135) 𝑚𝑜𝑑 135
=𝑓 𝑚𝑜𝑑 135
∵ Known in proof 3.2.1, 𝑓∈[0, 134].
∴ 𝑑′= 𝑓 𝑚𝑜𝑑 135= 𝑓=𝑑
∴ If 𝑡𝑒𝑚𝑝 is larger than 255, secret digit can be recovered.
③ 𝑖𝑓 0<𝑡𝑒𝑚𝑝<255, 𝑡ℎ𝑒𝑛 𝑔′=𝑔+𝑥
∵ 𝑑′=𝑔′ 𝑚𝑜𝑑 (2𝑛+𝑛)
∴ 𝑑′=(𝑔+𝑥) 𝑚𝑜𝑑 (2𝑛+𝑛)
=(𝑔+𝑥) 𝑚𝑜𝑑 135=𝑓=𝑑
∴ If 𝑡𝑒𝑚𝑝 is larger than 0 and less than 255, secret digit can be recovered.
Therefore, (4) can help recover the secret digit 𝑑 from stego-image. It has been proved that the secret digit 𝑑 can be embedded in cover-image and recovered from stego-image when 𝑛 is 7. When 𝑛 less than 7, reader can prove it by the above steps if he is interested.
Comparing with JK09 Algorithm and SB19 Algorithm, PAMO is more flexible. Through PAMO Algorithm, users have more room to choose better stego-image quality or higher hiding capability, this is an obvious advantage. For example, if users make 𝑛 be 2 or 3, thus the stegoimage quality could be pretty good. If hiding capacity is the first consideration, 𝑛 can be 5 or 6, thus the maximum embedding rate of PAMO could be higher than other methods.
4. Experimental Results and Performance Discussion
In this section, the experimental results are given to evaluate the performance of three methods. JK09 Algorithm, SB19 Algorithm and PAMO Algorithm are implemented by Python and run in a PC with an Intel(R) Core(TM) i5-4200M CPU @ 2.50 GHz and a 4 GB RAM, the operating system is Windows 7 Professional 64-bit and the experiment software is Pycharm. The experimental images are standard gray scale image of size 512 × 512, this paper get all images from USC-SIPI image data base [21].
Six experiments are designed in this section, secret message length in different experiments is different. The gray scale image has 262144 pixels totally (512 × 512), so these experiments use 49000, 72000, 262144, 524288, 786432, 1048576 as secret message length in turn.
The Peak Signal to Noise Ratio (𝑃𝑆𝑁𝑅) is a main metrics in information security field, many researchers use it to evaluate the performance of information hiding method. 𝑃𝑆𝑁𝑅 higher than 40 𝑑𝐵 indicates that the stego-image is very close to the cover-image; 𝑃𝑆𝑁𝑅 between 30 𝑑𝐵 and 40 𝑑𝐵 indicates that the distortion of stego-image is perceptible but acceptable; 𝑃𝑆𝑁𝑅 between 20 𝑑𝐵 and 30 𝑑𝐵 indicates poor stego-image quality; Finally, 𝑃𝑆𝑁𝑅 less than 20 𝑑𝐵 indicates that the stego-image quality is unacceptable.
In information security field, if 𝑃𝑆𝑁𝑅 is higher than 30 𝑑𝐵, the secret message hidden in stego-image is considered imperceptible to the human visual system. 𝑃𝑆𝑁𝑅 is defined in (5). The formula of Mean Square Error (𝑀𝑆𝐸) calculation is defined in (6).
\(P S N R=10 \log _{10}\left(\frac{255^{2}}{M S E}\right) d B\) (5)
\(M S E=\frac{1}{M \times N} \sum_{i=1}^{N} \sum_{j=1}^{M}\left(g_{i j}-g_{i j}^{\prime}\right)\) (6)
* 𝑀 and 𝑁 represent the number of rows and columns in cover-image and stego-image
* 𝑔𝑖𝑗 and 𝑔′𝑖𝑗 represent the pixel value of cover-image and stgeo-image, their location is row 𝑖 and column 𝑗
This paper uses 𝑏𝑝𝑝 to represent the number of binary bits embedded in each pixel.
When the length of secret message is 49000 bits, the performance of three algorithms is shown in Table 1.
Table 1. Experimental results when the length of secret message is 49000 bits
As Table 1 shows, JK09 Algorithm can keep the maximum 𝑏𝑝𝑝 at 2, SB19 Algorithm can keep the maximum 𝑏𝑝𝑝 at 4, while PAMO Algorithm can keep the maximum 𝑏𝑝𝑝 at 7.
Therefore, PAMO Algorithm holds the best performance in embedding capacity aspect. Besides, when keeping the same 𝑏𝑝𝑝, PAMO Algorithm get the best stego-image quality, which is much greater than JK09 Algorithm and SB19 Algorithm. The stego-images of Peppers generated by different methods are shown in Fig. 1.
Fig. 1. The stego-images when the length of secret message is 49000 bits
When the length of secret message is 72000 bits, the performance of three algorithms as Fig. 2 shows.
Fig. 2. Experimental results when the length of secret message is 72000 bits
From Fig. 2, JK09 Algorithm can keep the maximum 𝑏𝑝𝑝 at 2, SB19 Algorithm can keep the maximum 𝑏𝑝𝑝 at 4, while PAMO Algorithm can keep the maximum 𝑏𝑝𝑝 at 7. Therefore, from the aspect of embedding capacity, PAMO Algorithm can achieve higher maximum 𝑏𝑝𝑝. From the aspect of stego-image quality, PAMO Algorithm can achieve higher 𝑃𝑆𝑁𝑅.
When secret message length is 262144 bits, the performance of three algorithms is shown in Table 2. As Table 2 shows, JK09 Algorithm can keep the maximum 𝑏𝑝𝑝 at 2, SB19 Algorithm can keep the maximum 𝑏𝑝𝑝 at 4, PAMO Algorithm can keep the maximum 𝑏𝑝𝑝 at 5. Therefore, PAMO Algorithm has the best hiding capacity. Besides, when 𝑏𝑝𝑝 is kept same, PAMO Algorithm can get higher stego-image quality than other methods.
Table 2. Experimental results when the length of secret message is 262144 bits
When the length of secret message is 524288 bits, the performance of three algorithms is shown in Fig. 3. In Fig. 3, JK09 Algorithm can keep the maximum 𝑏𝑝𝑝 at 2, SB19 Algorithm can keep the maximum 𝑏𝑝𝑝 at 4, PAMO Algorithm can keep the maximum 𝑏𝑝𝑝 at 5. So PAMO Algorithm has better hiding capacity than others.
What is different from before is that, when 𝑏𝑝𝑝 is 2 or 3, PAMO Algorithm has lower 𝑃𝑆𝑁𝑅 than SB19 Algorithm, but it is still acceptable.
Fig. 3. Experimental results when the length of secret message is 524288 bits
When the length of secret message is 786432 bits, the performance of three algorithms is shown in Table 3. As Table 3 shows, JK09 Algorithm can’t embed it in a gray scale image of size 512 × 512. The maximum 𝑏𝑝𝑝 JK09 can achieve is limited to 2, the cover-image has 262144 pixels totally, therefore, only 524288 bits can be embedded at most. Both SB19 Algorithm and PAMO Algorithm can keep the maximum 𝑏𝑝�� at 4, they can also make the stego-image quality acceptable.
Table 3. Experimental results when the length of secret message is 786432 bits
When the length of secret message is 1048576 bits, the performance of different algorithms is shown in Fig. 4.
Fig. 4. Experimental results when the length of secret message is 1048576 bits
As is shown in Fig. 4, both SB19 Algorithm and PAMO Algorithm can keep the maximum 𝑏𝑝𝑝 at 4. Even in this special situation, PAMO Algorithm still can get same hiding capacity as SB19 Algorithm. Besides, both of them can maintain stego-image quality acceptable. In other words, PAMO Algorithm can achieve same effect as SB19 Algorithm.
According to the above experiments, when the length of the secret message changes, the maximum 𝑏𝑝𝑝 each algorithm can obtain will change accordingly. The detail of changes and the maximum 𝑏𝑝𝑝 from each algorithm are shown in Fig. 5.
Fig. 5. Hiding capacity of three Algorithms
Next, we first prove the security of PAMO theoretically, then use the visual attack method to evaluate the security of PAMO.
If someone want to recover the secret message from setgo-image, variable 𝑛 and the extraction function must be known. Because recovering secret digit from the stego-pixel requires the correct modulus. In addition, 𝑛 is also a necessary condition when the secret digit is converted to a binary secret group. The length of each secret group is determined by 𝑛, for example, when the value of secret digit is 1, if 𝑛 is 4, then secret group is 0001, if 𝑛 is 7, then secret group is 0000001. Therefore, when 𝑛 is unknown, the secret message cannot be obtained from the stego-image, in other words, the safety of PAMO can be guaranteed.
In order to prove the security of PAMO more convincingly, bit plane attack is applied to process stego-images and cover-image. As a visual attack method, bit plane attack constructs plane images by extracting the corresponding bit of each pixel, it can extract the meaningful information directly.
Four pictures were selected for bit plane attack experiments, they are the gray scale cover image “Tiffany” of size 512 × 512, its stego-image when the length of secret message is 49000 bits and 𝑏𝑝𝑝 is 2 (𝑃𝑆𝑁𝑅 is 53.14 𝑑𝐵), its stego-image when the length of secret message is 262144 bits and 𝑏𝑝𝑝 is 5 (𝑃𝑆𝑁𝑅 is 33.67 𝑑𝐵), its stego-image when the length of secret message is 1048576 bits and 𝑏𝑝𝑝 is 7 (𝑃𝑆𝑁𝑅 is 16.2 𝑑𝐵). Each picture can generate eight plane images by bit plane attack, the plane images from each picture are shown in Fig. 6, Fig. 7, Fig. 8 and Fig. 9.
Fig. 6. Plane images of cover-image
(a)1th bit; (b)2th bit; (c)3th bit; (d)4th bit; (e)5th bit; (f)6th bit; (g)7th bit; (h)8th bit
Fig. 7. Plane images of stego-image when the length of secret message is 49000 bits and 𝑏𝑝𝑝 is 2
(a)1th bit; (b)2th bit; (c)3th bit; (d)4th bit; (e)5th bit; (f)6th bit; (g)7th bit; (h)8th bit
Fig. 8. Plane images of stego-image when the length of secret message is 262144 bits and 𝑏𝑝𝑝 is 5
(a)1th bit; (b)2th bit; (c)3th bit; (d)4th bit; (e)5th bit; (f)6th bit; (g)7th bit; (h)8th bit
Fig. 9. Plane images of stego-image when the length of secret message is 1048576 bits and 𝑏𝑝𝑝 is 7
(a)1th bit; (b)2th bit; (c)3th bit; (d)4th bit; (e)5th bit; (f)6th bit; (g)7th bit; (h)8th bit
By comparing Fig. 6 with Fig. 7 and Fig. 8, there is no significant difference in each corresponding plane image, therefore bit plane attack is unable to reveal the secret message hidden in the stego-image. As Fig. 9 shows, the plane images are different from the previous, this is because excessive secret messages are embedded in the cover-image, the 𝑃𝑆𝑁𝑅 of stego-image is less than 30 𝑑𝐵. When choosing a stego-image with acceptable quality for an attack experiment, as shown in Fig. 8, the security of PAMO can be guaranteed.
5. Conclusion
Based on many information hiding methods proposed in recent years, this paper designs an improved high capacity information hiding method. It relies on pixel value adjustment with modulus operation.
The main idea of our method is using (2𝑛+𝑛)−𝑎𝑟𝑦 notational system to represent the secret digit, then updating the cover pixel value by PAMO Algorithm, finally the secret message can be embedded in the cover-image. If users want recover the secret message from stego-image, just need make the stego pixel value divide by (2𝑛+𝑛), then convert the output to binary system, and combine all the binary bits, finally can get the secret message back.
For gray scale image of size 512 * 512, T.D.Sairam et al. achieved maximum embedding capacity of 10, 48, 576 bits, at the cost of an average 𝑃𝑆𝑁𝑅 of 34.805 𝑑𝐵. When facing the same size image, PAMO Algorithm achieved maximum embedding capacity of 10, 48, 576 bits too, at the cost of an average 𝑃𝑆𝑁𝑅 of 32.873 𝑑𝐵.
However, if secret message length is not that long, PAMO Algorithm can get higher 𝑏𝑝𝑝 than other methods. For example, when secret message has only 49000 binary bits, PAMO Algorithm can keep the maximum 𝑏𝑝𝑝 at 7. That means 7 binary bits could be embedded in one cover pixel, only 7000 cover pixels will be used. But the maximum 𝑏𝑝𝑝of SB19 Algorithm still be 4, 12250 pixels in cover-image will be used.
So a conclusion can be drawn: when secret message length is appropriate, PAMO Algorithm has better hiding capacity than other methods. When secret message length is excessive, PAMO Algorithm has the same hiding capacity as SB19 Algorithm, SB19 Algorithm holds the best hiding effect in recent years. Therefore, PAMO Algorithm has greatly improved the hiding capacity.
We upload all codes and images on https://github.com/liteng0264/Information-Hiding.git. If there is anyone interested in PAMO Algorithm, please download it and do some experiments.
Though we have proposed an efficient method which achieves good hiding capacity, there is still a room for us to improve it, and we will try our best to reach this goal.
References
- F. A. P. Petitcolas, R. J. Anderson, and M. G. Kuhn, "Information hiding - a survey," Proceedings of IEEE, vol. 87, no. 7, pp. 1062-1078, 1999. https://doi.org/10.1109/5.771065
- S. Y. Shen and L. H. Huang, "A data hiding scheme using pixel value differencing and improving exploiting modification directions," Computers and Securrity, vol. 48, pp. 131-141, 2015. https://doi.org/10.1016/j.cose.2014.07.008
- C. K. Chan and L. M. Cheng, "Hiding data in images by simple LSB substitution," Pattern Recognittion, vol. 37, no. 3, pp. 469-474, 2004. https://doi.org/10.1016/j.patcog.2003.08.007
- J. Mielikainen, "LSB matching revisited," IEEE Signal Processing Letters, vol. 13, no. 5, pp. 285-287, 2006. https://doi.org/10.1109/LSP.2006.870357
- C. C. Chang, M. H. Lin, and Y. C. Hu, "A fast and secure image hiding scheme based on LSB substitution," International Journal Pattern Recognition and Artificial Intelligence, vol. 16, no. 4, pp. 399-416, 2002. https://doi.org/10.1142/S0218001402001770
- C. H. Yang, "Inverted pattern approach to improve image quality of information hiding by LSB substitution," Pattern Recognition, vol. 41, no. 8, pp. 2674-2683, 2008. https://doi.org/10.1016/j.patcog.2008.01.019
- C. F. Lee, Y. R. Wang, and C. C. Chang, "A steganographic method with high embedding capacity by improving exploiting modification direction," in Proc. of the 3 rd International Conference on Intelligent Information Hiding and Multimedia Signal Processing (IIHMSP), vol. 1, pp. 497-500, 2007.
- Y. Y. Tsai, C. S. Chan, C. L. Liu, and B. R. Su, "A reversible steganographic algorithm for BTCcompressed images based on difference expansion and median edge detector," Imaging Science Journal, vol. 62, no. 1, pp. 48-55, 2014. https://doi.org/10.1179/1743131X12Y.0000000032
- K. H. Jung, J. G. Yu, S. M. Kim, K. J. Kim, J. Y. Byun, and K. Y. Yoo, "The hiding of secret data using the run length matching method," in Proc. of KES International Symposium on Agent and Multi-Agent Systmes: Technologies and Applications, vol. 4496, pp. 1027-1034, 2007.
- X. Zhang and S. Wang, "Efficient steganographic embedding by exploiting modification direction," IEEE Communications Letters, vol. 10, no. 11, pp. 781-783, 2006. https://doi.org/10.1109/LCOMM.2006.060863
- H. J. Kim, C. Kim, Y. Choi, S. Wang, and X. Zhang, "Improved modification direction methods," Computers and Mathematics with Applications, vol. 60, no. 2, pp. 319-325, 2010. https://doi.org/10.1016/j.camwa.2010.01.006
- J. C. Cheng, W. C. Kuo, and B. R. Su, "Data-hiding based on sudoku and generalized exploiting modification direction," Journal of Electronic Science Technology, vol. 16, no. 2, pp. 123-128, 2018.
- W. C. Kuo, "Secure modulus data hiding scheme," KSII Transactions on Internet Information Systems, vol. 7, no. 3, pp. 610-622, 2013.
- W. C. Kuo, C. C. Wang, and Y. C. Huang, "Binary power data hiding scheme," AEU - International Journal of Electronics and Communications, vol. 69, no. 11, pp. 1574-1581, 2015. https://doi.org/10.1016/j.aeue.2015.07.007
- W. C. Kuo, C. C. Wang, and H. C. Hou, "Signed digit data hiding scheme," Information Processing Letters, vol. 116, no. 2, pp. 183-191, 2016. https://doi.org/10.1016/j.ipl.2015.08.003
- W. Hong and T. S. Chen, "A novel data embedding method using adaptive pixel pair matching," IEEE Transactions on Information Forensics Security, vol. 7, no. 1, pp. 176-184, 2012. https://doi.org/10.1109/TIFS.2011.2155062
- K. Jung and K. Y. Yoo, "Improved Exploiting Modification Direction Method by Modulus Operation," International Journal of Signal Processing, Image Processing and Pattern Recognition, vol. 2, no. 1, pp. 79-88, 2009.
- W. C. Kuo, S. H. Kuo, C. C. Wang, and L. C. Wuu, "High capacity data hiding scheme based on multi-bit encoding function," Optik (Stuttg), vol. 127, no. 4, pp. 1762-1769, 2016. https://doi.org/10.1016/j.ijleo.2015.08.056
- T. D. Sairam and K. Boopathybagan, "An improved high capacity data hiding scheme using pixel value adjustment and modulus operation," Multimedia Tools Applications, vol. 79, pp. 17003-17013, 2019. https://doi.org/10.1007/s11042-019-7557-9
- Y. Zhang, S. Wang, T. Li, B. Liu, and D. B. Pan, "Modulus Calculations on Prime Number Algorithm for Information Hiding with High Comprehensive Performance," IEEE Access, vol. 8, pp. 85309-85320, 2020. https://doi.org/10.1109/ACCESS.2020.2992690
- USC-SIPI image database.