1 Introduction

Steganography term refers to covert communication [18]. Digital media and internet network applications have been used by people around the world for information sharing in recent years [12]. The information transmitted on the digital internet portal or public network must therefore be protected [3]. Secret information sharing is always a difficult problem [3]. No information should be leaked, exploited and lost during transmission of military, secret agencies, government, etc. [17]. Cryptography, Watermarking, Steganography, Secure channel, etc. are methods/techniques for secret information protection [18]. Even though both conventional steganography and robust watermarking have similar requirements in the knowledge hiding community, they are kind of different from robust steganography. The similarities and differences are highlighted in Fig. 1.

Fig. 1
figure 1

Illustration of traditional steganography, robust watermarking and robust steganography [33]

In every area of success the most suitable scheme for information hiding should be superior to any other. Nevertheless, it hardly holds true to our knowledge that the efficiency of imperceptibility, undetectable, capacity, and robustness is improved at the same time, which means that the increase of one side inevitably leads to the decrease of the other side. The adaptive steganography, illustrated by the red solid line in Fig. 1, mainly focuses on imperceptibility, undetectability and capacity that are higher than that of robust watermarking. However, the traditional steganography algorithm has no ability to deal with various attacks, leading to its considerable lower robustness [30, 33]. On the contrary, robust watermarking aims to protect copyrights of digital contents, mainly addressing robustness and imperceptibility, illustrated by the blue triangle in Fig. 1. In this scenario, the robust watermarking algorithm does require neither undetectability nor much capacity. However, in the design of robust steganography, the extracted secret data from a Stego image requires not only to be undetected, but also be perfectly correct to the receiver. Therefore, robust steganography should perform more robustly than robust watermarking. To strike the balances of different requirements, the proposed robust steganography combines the advantages of traditional adaptive steganography and robust watermarking, illustrated by the green line in Fig. 1, that is slightly to reduce undetectability and capacity, and appropriately enhance robustness [33].

Digital image steganography is now one of the most prominent techniques for transmitting secure information on a public network [30]. Good work on image steganography has been achieved, but when image is compressed or distorted, image detail is completely or partially lost [12, 30]. In this paper, proposed blind image steganography algorithm development that resist against lossy JPEG compression attack. The development concerns three forms of image steganography: Non-blind, Semi-blind and Blind [199]. Cover image is used in non-blind techniques at the receiver side or in the extraction process. In Semi-blind, parts of the cover image or some computational vectors are exchanged between parties. In Blind techniques, no cover image or additional/side information is present or available at the receiver side or in the extraction process [199]. There are two strategies are available for the researchers are: (I) secret information actually embeds to the cover object (II) secret information does not infect directly embed to cover object, called image realization steganography [31]. Later one is more secure then the first one because instead of embedding secret information directly to the cover image, some sort of key is derived and then that key is either embeds into cover image or passing it to the receiver as side or extra information. In image steganography, the main challenge is to extract embedded secret data in any case, even though stego image suffers through any deliberate or accidental image processing and manipulation operations. It is almost impossible to develop an image steganography algorithm that can withstand all the attacks in one [7]. JPEG loosy image compression attack on stego image is one of the most challenging attacks on image steganography [7]. Retrieving secret data with total accuracy from stego image after it suffers through JPEG compression attack is considered one of the most challenging tasks [7]. Since the JPEG compression algorithm operates on the DCT technique [6], it is most likely to develop an image steganography technique using the DCT techniques properties. The efficiency of the any image steganography algorithm is expressed in the following parameters: payload, imperceptibility, robustness [1]. The organization of this paper is as follows. Section 2 covers the theoretical background and literature review of work done in the field of image steganography. Section 3 proposes the process of embedding and extracting secret information. In Sect. 4 results of proposed algorithm and compression of proposed algorithm results with other research works are presented. Section 5 discussed conclusion and provides direction for future work.

2 Literature review

This section focuses on the basic studies needed to develop an effective steganography algorithm for digital images and some of the most popular image steganography algorithms, and a review of recent literature trends.

Mokhnache et al. [15] proposed watermarking scheme using DWT and DCT. The proposed approach provide robustness against JPEG compression with quality factor 60 that is achieved normalized cross correlation around 0.97 [15]. Paunwala and Patnaik [19] addressed watermarking algorithm using low frequency AC coefficients using DCT. Watermark extraction bit error rate is almost near to zero with high quality factor JPEG compression considered as a channel attack. Jagadeesh [12] reported a novel approach to robust digital image watermarking algorithms using artificial intelligence techniques. Wang and Pearmain [28] presented blind watermarking technique based on relative modulation of the pixel value and DCT coefficient by estimating it. Extraction error rate is almost zero with JPEG compression quality factor 80. In [32] proposes a scheme of watermark embedding and extracting based on DCT transform and JPEG quantization table. The image is divided into non-overlapping 8 × 8 blocks, and each block is transformed by DCT. Then, a pair of points with the same quantization value is selected by the JPEG quantization table in order to embed one watermark bit, and the adjustment coefficients are adaptively selected by using the visual masking property of HVS. Bhatnagar and Raman [5] presented a new robust reference watermarking scheme based on DWT-SVD. Rawat and Raman [21] proposed best tree wavelet packet transform based copyright protection scheme for digital images. Singh [24] presents transform domain techniques for image steganography. In Paper [13] proposes a robust blind image watermarking scheme with the use of a combination of DCT, SVD and DWT transform domain using logistic chaotic map and least-square curve fitting. In Paper [10] presents digital watermarking technique using DCT and psycho visual threshold which achieves good imperceptibility and robustness for copyright protection. In Paper [23] implements a data hiding technique on a digital image combining cryptography and steganography by utilizing PN-Sequence, Discrete Cosine Transform (DCT) and One Time Pad (OTP). In Paper [29] proposes a method in a compressed digital color image provides hiding a binary watermark. The given colour image is transformed from RGB colour space to YCbCr and then middle band of DCT, the luminance (Y) component is used for watermarking processes. Rachmawanto et al. [20] proposed secure image steganography algorithm based on DCT and OTP encryption. In this paper used combined approach of steganography and cryptography. A DCT technique is used to implement steganography and one-time password or vernam cipher is used to implement cryptography. They claim that their algorithm obtained satisfactory results and resistant to JPEG compression as well. This paper [2] focuses on embedding a watermark in the frequency domain using discrete cosine transform. The choice of blocks where the watermark bits are inserted depends on a pre-processing study of the original and compressed-decompressed image. Then they put in place a blind detection algorithm. They tried to improve the protection of our methodology by adding an arnold transformation to the watermark embedded in it. Their findings show that their approach yields a high level of imperceptibility and robustness against JPEG compression.

Based on literature review we derived that PSNR, Payload and NCC are common parameters are considers in almost all the standard papers to check and compare the performance of the algorithms.

$${\text{PSNR}} = 10 \, \log \, 10 \, \left( {\frac{{{\text{MAX}}I}}{MSE}^{2} } \right)$$
$${\text{MSE}} = \frac{1}{mn}\sum\limits_{i = 0}^{m - 1} {\sum\limits_{j = 0}^{n - 1} {[{\text{I(i,j) - k(i,j)]}}^{{2}} } } \quad \quad {\text{Eq}}\;{(1)}{[24]}$$

Here, MAXI is the maximum possible pixel value of the cover image. I (i, j) represents the matrix data of our cover image and K (i, j) represents the matrix data of our stego image.

$${\text{NC}} = \frac{{\sum\nolimits_{i = 1}^{N} {\sum\nolimits_{j = 1}^{N} {W\left( {i,j} \right)W^{^{\prime}} \left( {i,j} \right)} } }}{{\sqrt {\sum\nolimits_{i = 1}^{N} {\sum\nolimits_{j = 1}^{N} {W(i,j)2} } } \sqrt {\sum\nolimits_{i = 1}^{N} {\sum\nolimits_{j = 1}^{N} {W^{\prime}(i,j)2} } } }}\quad \quad {\text{Eq}}\;(2)[24]$$

Here, W (i, j) represents the matrix data of cover image and W’ (i, j) represents the matrix data of stego image.

$${\text{BER}} = \frac{{\text{number of error bits}}}{{\text{total number of embedded bits}}}\quad \quad {\text{Eq}}\;{(3)}\left[ {{25},{ 34}} \right]$$

Here, number of error bits effected during the embedding process in the cover image and total number of embedded bits are used to hide secret data.

$$\begin{aligned} F[u,v] = & 1/N^{2} \, \\ & \sum\limits_{{{\text{m}} = {0}}}^{{{\text{n}} = {1}}} {\sum\limits_{{{\text{n}} = {0}}}^{{{\text{n}} = {1 }}} {{\text{f[m,n] cos [(2m}} + {\text{1)u}}\pi /2N]{\text{ cos [(2n}} + {\text{1)v}}\pi /2N]} } \quad \quad {\text{Eq}}\;{(4)}{\text{DCT }}\left[ {{24},{ 34}} \right] \\ \end{aligned}$$

Here, [u, v] = discrete frequency variables \(\left( {0,1,2, \ldots ,N - 1} \right)\) f [m, n] = N by N image pixels \(\left( {0,1,2, \ldots ,N - 1} \right)\), and F[u, v] = the DCT result.

$$\begin{aligned} F[m,n] = & \\ & \sum\limits_{{{\text{m}} = {0}}}^{{{\text{n}} = {1}}} {\sum\limits_{{{\text{n}} = {0}}}^{{{\text{n}} = {1 }}} {{\text{c[u] c[v] F[u,v]cos [(2m}} + {\text{1)u}}\pi /2N]{\text{ cos [(2n}} + {\text{1)v}}\pi /2N]} } \;\,{\text{Eq}}\;{(5)}\;\,{\text{IDCT}}\left[ {{24},{ 34}} \right] \\ \end{aligned}$$

Here, [u, v] = N by N DCT result and F [m, n] = N by N IDCT result.

The following Table 1 contains facts and results achieved by some researchers compiled from literature review.

Table 1 Result set with parameters

Based on literature review, we found that most of the techniques are not able to extract secret data at 100% accuracy after it suffers through JPEG compression attack. So, we need an image steganography algorithms in which even a loss or distortion of a large number of bits of information can be tolerated. If the stego image is suffering some intentional/unintentional attacks on JPEG compression, the stego image data structure is altered and, as a result, the hidden secret data is partially or ambiguously lost. The algorithm needed to extract information with 100 percent accuracy each time. Keeping this in mind, we suggested the following algorithm. Our proposed algorithm will extract 100 percent of the secret data that is embedded during the embedding phase even though the stego image is subject to JPEG compression for any Image quality from 10,20 to 90.

3 Proposed method

3.1 Main idea behind the work

The proposed algorithm is designed for robust image steganography which is resistant to JPEG compression attack. As JPEG compression works mostly with DCT method, it is most likely to develop an algorithm using the DCT technique. So we also use the DCT technique to build the proposed algorithm, since our main purpose is to provide robustness against JPEG compression attack.

After experiments, it is observed that the DC values of several blocks are marginally changed even after JPEG compression apply to an image at any given quality factor ranging from 10 to 90.The DCT transform is used in this algorithm in order to convert the cover image from spatial domain to frequency domain and IDCT transform is used to transform back to spatial domain.

3.1.1 Potential block identification

First convert cover image from spatial domain to transform domain into 8*8 blocks using DCT based on Eq. 5. In each 8*8 block, one of 64 coefficients is called DC coefficient and 63 are AC coefficients. Compress the cover image using JPEG compression with an image quality factor of 10, 20,…90. So now there are nine estimated compressed images. Convert these nine images also to transform domain using DCT. Derive DC value matrix from one converted original cover image to transform domain and nine DC value matrixes from nine estimated compressed cover image to transformed domain. Then convert all DC value from the derived matrix to its equivalent binary value one by one and check the following condition for the corresponding binary value of the original cover image DC value to the estimated compressed cover image one by one..

Condition

IF the first four bits of original cover image DC value and corresponding estimated compressed cover image DC value are equal and identical in order then if there is at least one '1' bit and one '0' bit available” THEN “The corresponding DCT block of C.I. is considered to be a potential block.” For E.g.:

figure a

For example, 828.625 is the DC value in the DCT block of the original cover image and 831.875 is the DC value in the DCT block of the corresponding estimated compressed cover image at a specific quality factor. Therefore, the above condition is TRUE and the relevant 8*8 block of the cover image is considered to be potential block.

3.1.2 Keys generation

Derive Keys from the potential blocks. For each individual secret character comes in the sequence, Key is 8 octal numbers long combination. So Entire Key for total Secret characters are: Key = total no. of characters*8 octal numbers.

For Example considering one case:

IF secret character is ‘A’ and

THEN

Convert ‘A’ to its equivalent Binary representation: “A = 0 1 0 0 0 0 0 1” So “Key = 31,333,331”. Convert Each Key Element (i.e. individual octal number of key) to its equivalent 3 bit binary representation: “For E.g.: 3 = 011 & 1 = 001”.Likewise create the bit stream for entire Key. “For E.g.: Key = 31,333,331,so Bit Stream = 011,001,011,011,011,011,011,001

Likewise, derive different nine sets of keys vector for each QF of JPEG compression.

3.1.3 Super block identification

Based on the rationale mentioned in Sect. 3.1.1, all potential blocks derived from the predicted compressed cover image with a quality factor ranging from 10 to 90.So, like wise nine different sets of potential matrix are derived for potential blocks at each quality factor. Then using these nine potential matrixes derives super matrix which indicates the cover image’s super blocks from which a super key is generated.

For e.g.:

P.B.M

B1

B2

B3

B4

B5

P.B.M-1

1

0

1

0

1

P.B.M-2

1

1

1

1

1

P.B.M-3

0

0

1

0

1

P.B.M-4

0

1

1

0

1

P.B.M-5

1

0

1

1

1

P.B.M-6

0

1

1

1

1

P.B.M-7

1

0

1

0

1

P.B.M-8

1

1

1

1

1

P.B.M-9

0

1

1

0

1

  1. 1=potential block
  2. 0=non potential block

Based on the above example, it can be seen that few blocks are potential blocks, while others are non-potential blocks. The blocks are called super blocks in which all P.B.Ms are 1.so in the example B3 and B5 above are called super blocks. Likewise, all the super blocks are derived from the cover image that is used to generate the super key.

3.1.4 Super key generation

The super key is generated using the secret message and the super blocks after the super blocks have been derived. Derive the key for an individual character of a secret message from a one potential block. So to embed N number of secret characters, N number of super blocks is required. For each character of a secret message, the key is 8 octal numbers long and 24 bits long in turn.

For Example considering one case:

IF secret character is ‘A’ and

THEN

Convert ‘A’ to its equivalent Binary representation: “A = 0 1 0 0 0 0 0 1” So “Key = 31,333,331”. Convert Each Key Element (i.e. individual octal number of key) to its equivalent 3 bit binary representation: “For E.g.: 3 = 011 & 1 = 001”.Likewise create the bit stream for entire Key. “For E.g.: Key = 31,333,331, so Bit Stream = 011,001,011,011,011,011,011,001

Likewise, derive super key vector which is universal, common and work against for any quality factor of JPEG compression attack.

3.2 Algorithm: embedding process

figure d

3.3 Algorithm: extraction process

figure e

4 Result & discussion

The proposed system has been analyzed in terms of various parameters such as imperceptibility, robustness and payload. We have evaluated our scheme on AMD A10-9600p RADEON R5 processor is used with 6 GB RAM and Windows 10 Home 64-bit Operating System. Generic standard JPEG Images from sipi.usc.edu [26], BSDS300, impageprocessingplace.com [11] and www.petitcolas.net online data sets used for experimentation.

4.1 Imperceptibility analysis

Imperceptibility measures in terms or compares the difference in visual quality between the image cover and the stego image. This can be proven by using PSNR, MSE and SSIM statistical methods. Table 2 shows a comparison of the PSNR values between the proposed method and the results of three different reference methods.

Table 2 PSNR values of the proposed method, Bhatnagar and Raman [5] and Rawat and Raman [21] And Singh [24] at Payload (4096)

Figure 2 shows PSNR values derived from experiment using specific standard cover images based on the data presented in Table 2. Here it can be seen that proposed method achieved PSNR value around 68 dB. Method in Ref [5] achieves PSNR value around 44 dB. Method in Ref [21] achieves PSNR value around 40 dB. Method in Ref [24] achieves PSNR value around 58 dB. It is therefore shows that the proposed method achieves a high PSNR as compared to the Methods in [1,15,24].

Fig. 2
figure 2

Shows PSNR comparison for different images between references from Table 2

Table no 3 demonstrates SSIM and NCC values derived from experiment using specific standard cover images. Table 3 shows the comparison of SSIM and NCC values between proposed method with two different reference methods results.

Table 3 Shows SSIM and NCC values of the proposed method, Method in [14] and Method in [9]

Figure 3 shows SSIM and NCC values derived from experiment using specific standard cover images based on the data presented in Table 3. Here it can be seen that the proposed method has achieved an SSIM value with 0.9987, which is very close to 1. Method in Ref [14 and 9] has SSIM values of 0.9919 and 0.9946, respectively. Therefore, it is shown that the approach proposed achieves an SSIM value that is closer to 1 than the methods in [9, 14]. Here, in Fig. 3 It can also be observed that in the case at concern the NCC value derived from the proposed method is 1 whereas 0.9902 and 0.9990 are the NCC values derived from the methods in [9, 14]. Therefore, it shows that the approach proposed outperforms the existing method.

Fig. 3
figure 3

Shows SSIM and NCC comparison between references from Table 3

Table no 4 demonstrates MSE, PSNR and NCC values derived from experiment using specific standard cover images from data set available online at www.petitcolas.net. The table shows a comparison of the MSE, PSNR and NCC values between the proposed method and the results of the other reference methods.

Figure 4 shows MSE values derived from experiment using specific standard cover images based on the data presented in Table 4. Here it can be seen that the proposed method has achieved an MSE value, which is very close to 0. Method in ref [22] has MSE values that are higher than 3 with all images used. Therefore, it shows that the approach proposed outperforms the existing method.

Fig. 4
figure 4

Shows MSE comparison between references from Table 4

Table 4 Shows MSE, PSNR and NCC values of the proposed method, Method in [22]

4.2 Payload analysis

Payload refers to number of bits to be embedding in the cover image. Table no 4 demonstrates derived values of Payload, PSNR and NCC/ER with respect to different Cover images sizes 512*512 Gy scale standard images. The value contained by this table is at specific image quality for JPEG compression that is 30. This table shows the one result of proposed algorithm with specific values and comparison it with three other methods.

Table 5 Experiment data of our proposed simulation at IQ = 30 and C.I is 512*512(Gray scale 8 bit depth)

Figure 5 shows Payload values derived from data presented in Table no 5. Here it can be seen that the proposed method achieved a payload value with 9216 bits. Methods in Ref [13, 10] achieve a payload value with 1024 bits. Method in Ref [16] achieves a Payload value with 4096 bits. It therefore shows that the proposed approach is superior to the existing method.

Fig. 5
figure 5

Shows Payload comparison between references from Table 6

Table 6 Experiment data of our proposed simulation at IQ = 30 and C.I is 512*512(Gray scale 8 bit depth)

4.3 Robustness analysis

Robustness refers to the successful extraction of hidden data from the stego image. Comparison made between secret data embedded and secret data extracted. Robustness refers to success rate measures to check that secret data may or may not be extracted after any intentional or unintentional image processing and JPEG compression attack. In our case, our main intention behind the proposed algorithm development is to survive our algorithm against JPEG compression attack.

Table no 6 demonstrates derived values of Payload, PSNR and NCC/ER with respect to different Cover images sizes 512*512 Gy scale standard images. The value contained by this table is at specific image quality for JPEG compression that is 50.This table shows the one result of proposed algorithm with specific values and comparison it with few methods/algorithms.

Figure 6 shows NCC values derived from data presented in Table no 6. Here it can be seen that proposed method achieved NCC value is 1. Method in Ref [13] achieves NCC value is 0.9449. Method in Ref [10] achieves NCC value is 0.9990. Method in Ref [23] achieves NCC value is 0.934. Method in Ref [29] achieves NCC value is 1. Method in Ref [20] achieves NCC value is 0.8839. Method in Ref [24] achieves NCC value is 0.8704. It therefore shows that the proposed approach is superior to the existing method.

Fig. 6
figure 6

Shows NCC comparison between references from Table 7

Table 7 Displays Performance comparison of PN Sequence [25] and Chaotic Sequence based methods [24] and proposed method in terms of NCC under JPEG compression attack with different quality factor at Payload size 4096 bits for images Lena, Girl and Pepper of 512*512 dimensions gray scale images

Table no 4 demonstrates MSE, PSNR and NCC values derived from experiment using specific standard cover images from data set available online at www.petitcolas.net. Table 4 shows the comparison of MSE, PSNR and NCC values between proposed method with one another reference methods results. Here at Fig. 7 shows the NCC value comparison based on the data available in Table 4. It can be seen that the NCC value is a constant that is 1 in the proposed method, where the NCC value is less than 1 for all images as in the ref [22] method. Therefore, it shows that the approach proposed outperforms the existing method (Figs. 8, 9, 10).

Fig. 7
figure 7

Shows NCC comparison between references from Table 4

Fig. 8
figure 8

Shows NCC comparison for Girl Image between references from Table 8

Table 8 Shows the comparision with other attacks
Fig. 9
figure 9

shows CC comparison for Pepper Image between references from Table 8

Fig. 10
figure 10

shows CC comparison for Lena Image between references from above Table 8

We have done experiments of our proposed algorithm with few more attacks as well found in literature review other then JPEG compression. Table 5 shows the results of reference in [4] and the proposed algorithm.

5 Conclusion and future scope

We would like to conclude that our algorithm is robust to JPEG compression ranging from quality factor 10 to 90. We have successfully embedded 8192 bits as a Payload. We have achieved greater than 64 PSNR value (in dB) in all the cases and extracted 100% secret data accurately up to 8192 bits i.e. NCC = 1 in all the above cases.

In future, one can embed super key in cover image in such a way that if JPEG compression applies intentionally and unintentionally then also the super key can be successfully extract at receiver side in robust manner instead of pass it as a side information. Also one can extend the Payload size with maintain NCC is 1 means achieve 100% accuracy in secret message retrieval.