# Using Two Meaningful Shadows to Share Secret Messages with Reversibility

^{1}

^{2}

^{3}

^{*}

## Abstract

**:**

## 1. Introduction

## 2. Related Works

#### 2.1. Shamir’s Secret Sharing

- Step 1.
- Make ${a}_{0}$ = I.
- Step 2.
- Choose (k − 1) integer values ${a}_{1},{a}_{2},\dots ,{a}_{k-1}$ randomly within [0, $p$ − 1].
- Step 3.
- Select freely for the ith (1 ≤ i ≤ n) share a value of x, denoted as ${x}_{i}$, and all x
_{i}must be distinct from one another. - Step 4.
- Calculate a corresponding value of $f\left({x}_{i}\right)$ for each chosen x
_{i}, using Equation (1):$${y}_{i}=f\left({x}_{i}\right).$$ - Step 5.
- Sent the corresponding (${x}_{i}$, ${y}_{i}$)—the generated share SH
_{i}—to the ith participant. - Step 6.
- Perform Step 3 to Step 5 until each of the n participants gets the corresponding share SH
_{j}(1 ≤ j ≤ n).

- Step 1.
- Collect at least k $(k\le n)$ secret shares SH
_{j}(1 ≤ j ≤ k) from the n participants to form the following equations:$$\begin{array}{c}f({x}_{1})=({a}_{0}+{a}_{1}{x}_{1}+\dots +{a}_{k-1}{{x}_{1}}^{k-1})\mathrm{mod}p,\\ f({x}_{2})=({a}_{0}+{a}_{1}{x}_{2}+\dots +{a}_{k-1}{{x}_{2}}^{k-1})\mathrm{mod}p,\\ \vdots \\ f({x}_{k})=({a}_{0}+{a}_{1}{x}_{k}+\dots +{a}_{k-1}{{x}_{k}}^{k-1})\mathrm{mod}p.\end{array}$$ - Step 2.
- Use the Lagrange polynomial interpolation method to solve the k unknowns values ${a}_{1},{a}_{2},\dots ,{a}_{k-1}$ and ${a}_{0}$ in the k equations in Equation (3) and regenerate the (k − 1)-degree polynomial function $f\left(x\right)$ given by Equation (1) to be:$$\begin{array}{ll}f(x)=& f({x}_{1})\frac{(x-{x}_{2})(x-{x}_{3})\dots (x-{x}_{k})}{({x}_{1}-{x}_{2})({x}_{1}-{x}_{3})\dots ({x}_{1}-{x}_{k})}\\ & +f({x}_{2})\frac{(x-{x}_{1})(x-{x}_{3})\dots (x-{x}_{k})}{({x}_{2}-{x}_{1})({x}_{2}-{x}_{3})\dots ({x}_{2}-{x}_{k})}\\ & +\dots +f({x}_{k})\frac{(x-{x}_{1})(x-{x}_{2})\dots (x-{x}_{k-1})}{({x}_{k}-{x}_{1})({x}_{k}-{x}_{2})\dots ({x}_{k}-{x}_{k-1})}.\end{array}$$
- Step 3.
- Figure out the solution for the secret value ${a}_{0}$ according to Equation (4)$$\begin{array}{ll}{a}_{0}=f(0)& ={(-1)}^{k-1}[f({x}_{1})\frac{{x}_{2}{x}_{3}\dots {x}_{k}}{({x}_{1}-{x}_{2})({x}_{1}-{x}_{3})\dots ({x}_{1}-{x}_{k})}\\ & +f({x}_{2})\frac{{x}_{1}{x}_{3}\dots {x}_{k}}{({x}_{2}-{x}_{1})({x}_{2}-{x}_{3})\dots ({x}_{2}-{x}_{k})}\\ & +\dots +f({x}_{k})\frac{{x}_{1}{x}_{2}\dots {x}_{k-1}}{({x}_{k}-{x}_{1})({x}_{k}-{x}_{2})\dots ({x}_{k}-{x}_{k-1})}].\end{array}$$

#### 2.2. Kim et al.’s EMD-2 Scheme

_{i}where $i\in [0,8]$ is used as an input to the function f as a weighted sum with modulo (2$\omega $ + 1).

_{n}. The subscript value v is calculated using Equation (9).

_{i}, where $i\in [0,8].$ Combine the lowest three digits C

_{0}of 0 is [0, 0]. C

_{1}= [1, 0]. C

_{2}= [−1, 1], etc. Note that the number 0 can be generated by the basis vector as $0={C}_{0}\xb7{B}_{2}^{T}=(0\times 1+0\times 3)\mathrm{mod}9$. In addition, C

_{1}is [1, 0]; thus, the number 1 is generated by $1=(1\times 1+0\times 3)\mathrm{mod}9$. All nine numbers from 0 to 8 can be generated using Equation (6) by the linear combination of the basic elements with their associated coefficients.

_{i}and the row value p

_{i}

_{+1}in M represent the grayscale values of the pixel pair (p

_{i}, p

_{i+1}) in the cover image.

_{i}, p

_{i+1}) is located in the element function $M({p}_{i},{p}_{i+1})$ in M. By using Equation (11), we can calculate all the values of the matrix.

## 3. Proposed Scheme

**dealer D**and two participants (i.e.,

**participant 1**and

**participant 2**). Given a secret message and a meaningful cover image, two meaningful shadows are created and distributed to participants by

**dealer D**. At the time of need, the two shadows are given by the designated legal participants, and their secret information can be extracted using our proposed extracting algorithm; at the same time, the cover image is restored. The concealment and sharing process will be introduced in Section 3.2 and Section 3.3, respectively. The hidden secret extraction procedure will proceed when the involved participants gather all shadows together. Meanwhile, the cover image can be reconstructed without loss. The corresponding process is discussed in Section 3.4.

#### 3.1. Preliminary Phase

**S**, which is (or can be transferred into) a binary string, will be concealed. An H × W grayscale image, denoted as O = {o

_{i}|i = 1, 2, …, H × W} is used as the cover image, where ${o}_{i}\in [0,255]$, H is the height and W is the width of the image. Our proposed IH-VSS scheme applies a reversible data hiding scheme to embed secret data S along with the lowest three digits of the first four pixels in the original cover image into two meaningful grayscale images. Once the concealment phase is complete, each pixel pair in the stego-image carries one secret digit in the 9-base system; hence, the maximum hiding capacity using the proposed IH-VSS scheme is n = 415,498 (512 × 512 × log

_{2}9/2) bits when the cover grayscale image has 512 × 512 pixels and the embedding rate is 1.59 = 0.5 × log

_{2}9 bpp.

**Step****1:**- Design a pixel value random diffusion function $Rand3LSB({p}_{i})$. Here 3LSB means the three least significant bits of a pixel value, and Rand means that the 3LSBs are given a value between ‘000’ and ‘111’ in a binary system with equal probability, as shown in Figure 3. This function makes the three LSBs of a pixel value ${p}_{i}$ of a cover image slightly altered with randomness on a small scale. Such an arrangement can keep the pixel value still in the range of [0, 255], and the underflow and overflow problems do not exist in our IH-VSS scheme. Thus, the least significant three bits of the binary number are randomly changed to a new value that differs from the original value in the range [0, 7]. As a result, the severe pixel distortion problem can also be avoided.
**Step****2:**- Process the first four pixels of the cover image $O$ with the random diffusion function $Rand3LSB({p}_{i})$. After being handled, collect the four processed pixels and the rest of the original pixels of the cover image $O$ and denote them as image ${O}^{\prime}$. The first four pixels of image ${O}^{\prime}$ are called ${o}_{1}^{\prime}$, ${o}_{2}^{\prime}$, ${o}_{3}^{\prime}$ and ${o}_{4}^{\prime}$. The relevant preprocessing is illustrated in Figure 4.
**Step****3:**- Consider the pixel values of a grayscale image, which range between $[0,255]$, as a one-dimensional array. ${p}_{1}$ is the first pixel value and ${p}_{2}$ is the second pixel value. The subscript of $p$ increases continuously until the maximum value is $H\times W$. Define pixel pair $({p}_{i},{p}_{i+1})$ that is constituted by the grayscale values of two adjacent pixels ${p}_{i}$ and ${p}_{i+1}$. For example, pixel ${p}_{i}$ has a pixel grayscale value of 42 and pixel ${p}_{i+1}$ has grayscale value of 41. The resulting pixel pair is $({p}_{i},{p}_{i+1})=\left(42,41\right)$, as shown in Figure 5.
**Step****4:**- Define a matrix M with the size of 256 × 256 according to Kim et al.’s EMD-2 algorithm. In the matrix M, any 3 × 3 square, for example, the green, blue and purple square demonstrated in Figure 6, has 9 numbers that can be used to conceal a secret value ranging from 0 to 8, as shown in Table 2 according to Figure 6. $({p}_{i}^{\prime},{p}_{i+1}^{\prime})$ is pixel pair of $({p}_{i},{p}_{i+1})$ after being hidden. Since each pixel pair we processed is targeted at the pixel pairs with the same position in the cover image and stego-image, their subscripts are one-to-one correspondence.

#### 3.2. Concealment Phase

**Step****1:**- Name the first four pixels of cover image $O$ as o
_{1}, o_{2}, o_{3}, and o_{4}. **Step****2:**- Combine the lowest three digits of o
_{1}, o_{2}, o_{3}, and o_{4}to form R = (101 011 001 110)_{2}. Define the sign of operation $\u2018\parallel \u2019$ as a concatenate function. Following the previous example, if $S$ = 001011011111, then $\tilde{S}=S\parallel R={(001011011111101011001110)}_{2}$, and the final number ${S}^{\prime}$ represented by a number in 9-base system is (5602450)_{9}. We specify that $\tilde{S}$ is in the binary number, ${S}^{\prime}$ is the 9-base number corresponding to $\tilde{S}$, and actually, they have the same value. In addition, we express ${S}^{\prime}$ in this form ${S}^{\prime}={s}_{1}^{\prime}{s}_{2}^{\prime}\dots {s}_{n}^{\prime}$, where $n=\left|{S}^{\prime}\right|$ is the length of the number string ${S}^{\prime}$, and ${s}_{k}^{\prime}(k\in [1,n])$ is every digit in this number. This preprocessing procedure is illustrated in Figure 8. **Step****3:**- Conduct the function $RNG\left(Num\right)$ to generate the seed of the $randi()$ function, where $RNG\left(Num\right)$ function controls random number generation so that the same string of {0, 1} will be generated by $randi()$ on the secret distributor and receiver, which allows encrypt and decrypt participants to use the same {0, 1} string.
**Step****4:**- Pair each of the remaining pixels in image ${O}^{\prime}$ with their adjacent pixels to form non-overlapping pixel pairs, such as $({o}_{i}^{\prime},{o}_{i+1}^{\prime})$. Thus, there will be $\lfloor H\times W\rfloor /2-2$ pixel pairs that can be used to embed secret information ${S}^{\prime}$. As the cover image can be selected at will, the number of pixels of its height and width do not have to be even, so their product may be odd. Thus, we get the maximum number of the pixel pairs through floor function on $H\times W$.
**Step****5:**- Embed secret information ${S}^{\prime}$ into each pixel pair with the concealment algorithm according to the following four sub-steps.
**Step 5.1**:- Calculate the value m = M(${o}_{i}^{\prime}$, ${o}_{i+1}^{\prime}$) to obtain the value m by mapping ${o}_{i}^{\prime}$ and ${o}_{i+1}^{\prime}$ to matrix M defined in Figure 2 and Equation (11).
**Step 5.2**:- Compare m and the ${s}_{k}^{\prime}$. If they are equal, no change is required, (${o}_{i}^{\prime}$, ${o}_{i+1}^{\prime}$) in cover image will be copied to (${\tilde{o}}_{i}$, ${\tilde{o}}_{i+1}$) in stego-image. Otherwise, set m as the center (${o}_{i}^{\prime}$, ${o}_{i+1}^{\prime}$) and form a 3 × 3 search area. In the 3 × 3 square search area, find the corresponding ${\tilde{o}}_{i}$ and ${\tilde{o}}_{i+1}$ whose intersection is ${s}_{k}^{\prime}$ in the M matrix. Here, a new pixel pair (${\tilde{o}}_{i}$, ${\tilde{o}}_{i+1}$) = ${M}^{-1}$(${s}_{k}^{\prime}$) of the stego-image is derived to carry the secret digit ${s}_{k}^{\prime}$. The subscripts of (${o}_{i}^{\prime}$, ${o}_{i+1}^{\prime}$) and (${\tilde{o}}_{i}$, ${\tilde{o}}_{i+1}$) are one-to-one correspondence, as discussed in
**Step 4**of preliminary phase. Thus, a pixel pairs (${o}_{i}^{\prime}$, ${o}_{i+1}^{\prime}$) of ${O}^{\prime}$ conceals a base-9 digit ${s}_{k}^{\prime}$ by set values of pixel pairs (${\tilde{o}}_{i}$, ${\tilde{o}}_{i+1}$) of stego image $\tilde{O}$. **Step 5.3**:- Repeat the preceding steps until all pixel pairs of ${O}^{\prime}$ except the first four pixels have been processed. Hence, the stego-image $\tilde{O}$ is obtained.

#### 3.3. Shadow Generation Phase

**Step 1**:- Combine the three LSBs of the first and second pixels of $\tilde{O}$ to form a 6-bits of binary string. Then transform the 6-bits binary string into the decimal number system and name it Num1. Next, combine the three LSBs of the third and fourth pixels of $\tilde{O}$ to form Num2. Finally, a decimal value named Num, which is the sum of Num1 and Num2, is derived.
**Step 2**:- Set $RNum=randi([\mathrm{0\; 1}],\lfloor H\times W\rfloor /2-2,1)$ to get a binary string, such as (100010100110 1001 ……00101110)
_{2}, of which the length is not greater than $\lfloor H\times W\rfloor /2-2$. **Step 3**:- Generate the two shadows ${\tilde{O}}_{1}$ and ${\tilde{O}}_{2}$. For shadow ${\tilde{O}}_{1}$, the first two pixels are the same as those of image $\tilde{O}$, but the following two pixels are derived from the Rand3LSB(pi) function with the third and the fourth pixels of image $\tilde{O}$. On the contrary, the third and the fourth pixels of shadow ${\tilde{O}}_{2}$ are the same as those of image $\tilde{O}$. But the first two pixels of shadow ${\tilde{O}}_{2}$ are derived from the Rand3LSB(p
_{i}) function with the first two pixels of image $\tilde{O}$. **Step 4**:- Pair the adjacent pixels of image $\tilde{O}$ and image ${O}^{\prime}$, except the first four pixels, to form non-overlapping pixel pairs. Use $RNum$ as symbolic bits to decide to copy pixel pairs of ${O}^{\prime}$ and $\tilde{O}$ to shadow1 ${\tilde{O}}_{1}$ or shadow2 ${\tilde{O}}_{2}$. When the current bit of $RNum$ is ‘0’, the pixel pair of image ${O}^{\prime}$ is copied to the corresponding position of shadow1 ${\tilde{O}}_{1}$, and the pixel pair of image $\tilde{O}$ is copied to the corresponding position of shadow2 ${\tilde{O}}_{2}$. When the symbolic bit of $RNum$ is ‘1’, the pixel pair of image ${O}^{\prime}$ is copied to the corresponding position of shadow2 ${\tilde{O}}_{2}$, and the pixel pair of image $\tilde{O}$ is replicated to the corresponding position of shadow1 ${\tilde{O}}_{1}$. The detailed shadow generation procedure is shown in Figure 10.
**Step 4**will be repeated until all pixel pairs of images ${O}^{\prime}$ and $\tilde{O}$ are processed.

**Step 5**:- Set the LSB of the last pixel of shadow ${\tilde{O}}_{1}$ to 0 and name the final result shadow1. Set the LSB of the last pixel of shadow ${\tilde{O}}_{2}$ to 1 and name the final result shadow2. Send shadow1 to
**participant 1**and shadow2 to**participant 2**.

#### 3.4. Extraction and Restoration Phase

**Step 1**.- Collect shadows ${\tilde{O}}_{1}$ and ${\tilde{O}}_{2}$ from participants 1 and 2. Here, we assume two participants are credible and the received shadows are also reliable. According to the LSB of the past pixel of received shadows, shadows ${\tilde{O}}_{1}$ and ${\tilde{O}}_{2}$ can be determined, respectively. From the first pixel pair of ${\tilde{O}}_{1}$ and the second pixel pair of ${\tilde{O}}_{2}$, the random number seed Num can be derived. The RNG(Num) function can then be performed, and images ${O}^{\prime}$ and $\tilde{O}$ can be restored according to the generated strings of 0 and 1. The restoration procedure is the inverse operation of Figure 10.
**Step 2**.- Search in Kim et al.’s M matrix according to images ${O}^{\prime}$, $\tilde{O}$, and the function ${M}^{-1}$; the embedded information in each pixel pair can then be derived sequentially.
**Step 3**.- Copy the last 12 bits of the secret information ${S}^{\prime}$ back to image ${O}^{\prime}$ derived in
**Step 1**. Thus, the original image $O$ is restored exactly.

## 4. Experimental Results and Analysis

_{2}9 bpp. In other words, a 512 × 512-pixels grayscale image can embed $\lfloor {\mathrm{log}}_{2}9\times (H\times W)/2\rfloor =\lfloor {\mathrm{log}}_{2}9\times (512\times 512)/2\rfloor =415,498$ secret bits.

#### 4.1. Security Analysis

#### 4.2. Visual Quality

**Step 5**of shadow generation phase and Figure 10. To further prove that such an arrangement does not affect the visual quality of the final generated shadows, Table 3 shows the PSNRs of intermediate shadows and final shadows under different ECs, which increase from 13,000 to 415,485 bits. The column named image ${O}^{\prime}$ (before exchange) shows the PSNR of image ${O}^{\prime}$ before the exchange method, and it is as high as 84.99 dB when the EC is 415,485 bits because only four pixel values have changed, as we demonstrated in Section 3.3. The column named image ${\tilde{O}}_{1}$ (after exchange) indicates the PSNR of the stego-image, which carries the secret using Kim et al.’s EMD-2 algorithm. The PSNR is larger than 52 dB when the EC is over 400,000 bits, which is significantly higher than 30 dB because the difference between the two pixel values before and after the hidden information is controlled between [0, 7] using Kim et al.’s EMD-2 algorithm. We also found that the PSNR of image ${\tilde{O}}_{2}$ increased with the happening of the exchange because the exchange of the original image pixel pairs making image ${\tilde{O}}_{2}$ contains not only the stego-pixel pairs, but also some original pixel pairs. Therefore, the PSNR of image ${\tilde{O}}_{2}$ remains at a very high level, as shown in Table 3.

#### 4.3. Comparisons with Four Existing Schemes

## 5. Conclusions and Future Work

## Author Contributions

## Funding

## Conflicts of Interest

## References

- Diffie, W.; Hellman, M. New directions in cryptography. IEEE Trans. Inf. Theory
**1976**, 22, 644–654. [Google Scholar] [CrossRef] [Green Version] - Rivest, R.L.; Shamir, A.; Adleman, L. A method for obtaining digital signatures and public-key cryptosystems. Commun. ACM
**1978**, 21, 120–126. [Google Scholar] [CrossRef] [Green Version] - American National Standards Institute. American National Standard Data Encryption Algorithm; American National Standards Institute: Washington, DC, USA, 1981. [Google Scholar]
- Daemen, J.; Rijmen, V. AES Proposal: Rijndael. 1999. Available online: http://www.cs.miami.edu/home/burt/learning/Csc688.012/rijndael/rijndael_doc_V2.pdf (accessed on 1 December 2018).
- Shamir, A. How to share a secret. Commun. ACM
**1979**, 22, 612–613. [Google Scholar] [CrossRef] - Blakley, G.R. Safeguarding cryptographic keys. Managing Requirements Knowledge. Int. Workshop (AFIPS)
**1979**, 313–317. [Google Scholar] [CrossRef] - Naor, M.; Shamir, A. Visual cryptography. In Advances in Cryptology—EUROCRYPT; De Santis, A., Ed.; Springer: Berlin/Heidelberg, Germany, 1994; Volume 950, pp. 1–12. [Google Scholar]
- McEliece, R.J.; Sarwate, D.V. On sharing secrets and Reed-Solomon codes. Commun. ACM
**1981**, 24, 583–584. [Google Scholar] [CrossRef] - Karnin, E.; Greene, J.; Hellman, M. On secret sharing systems. IEEE Trans. Inf. Theory
**1983**, 29, 35–41. [Google Scholar] [CrossRef] - Brickell, E.F. Some ideal secret sharing schemes. In Advances in Cryptology—EUROCRYPT; Quisquater, J.-J., Vandewalle, J., Eds.; Springer: Berlin/Heidelberg, Germany, 1989; Volume 434, pp. 468–475. [Google Scholar]
- Benaloh, J.; Leichter, J. Generalized secret sharing and monotone functions. In Advances in Cryptology—CRYPTO; Springer: Berlin/Heidelberg, Germany, 1988; Volume 403, pp. 27–35. [Google Scholar]
- Ateniese, G.; Blundo, C.; Santis, A.; Stinson, D.R. Constructions and bounds for visual cryptography. Autom. Lang. Program.
**1996**, 1099, 416–428. [Google Scholar] [Green Version] - Lai, C.P.; Ding, C. Several generalizations of shamir’s secret sharing scheme. Int. J. Found. Comput. Sci.
**2004**, 15, 445–458. [Google Scholar] [CrossRef] - Cimato, S.; De Prisco, R.; De Santis, A. Probabilistic visual cryptography schemes. Comput. J.
**2006**, 49, 97–107. [Google Scholar] [CrossRef] - Thien, C.C.; Lin, J.C. Secret image sharing. Comput. Graph.
**2002**, 26, 765–770. [Google Scholar] [CrossRef] - Tsai, C.S.; Chang, C.C.; Chen, T.S. Sharing multiple secrets in digital images. J. Syst. Softw.
**2002**, 64, 163–170. [Google Scholar] [CrossRef] - Lin, C.C.; Tsai, W.H. Secret image sharing with steganography and authentication. J. Syst. Softw.
**2004**, 73, 405–414. [Google Scholar] [CrossRef] - Wu, Y.S.; Thien, C.C.; Lin, J.C. Sharing and hiding secret images with size constraint. Pattern Recognit.
**2004**, 37, 1377–1385. [Google Scholar] [CrossRef] - Yang, C.N.; Chen, T.S.; Yu, K.H.; Wang, C.C. Improvements of image sharing with steganography and authentication. J. Syst. Softw.
**2007**, 80, 1070–1076. [Google Scholar] [CrossRef] - Chang, C.C.; Hsieh, Y.P.; Lin, C.H. Sharing secrets in stego images with authentication. Pattern Recognit.
**2008**, 41, 3130–3137. [Google Scholar] [CrossRef] - Chang, C.C.; Lin, P.Y.; Wang, Z.H.; Li, M.C. A Sudoku-based secret image sharing scheme with reversibility (invited paper). J. Commun.
**2010**, 5. [Google Scholar] [CrossRef] - Wang, Z.H.; Guo, C.; Chang, C.C. A novel (n, n) secret image sharing scheme based on Sudoku. J. Electr. Sci.
**2013**, 11, 44–50. [Google Scholar] - Huynh, N.T.; Bharanitharan, K.; Chang, C.C. Quadri-directional searching algorithm for secret image sharing using meaningful shadows. J. Vis. Comun. Image Represent.
**2015**, 28, 105–112. [Google Scholar] [CrossRef] - Chang, C.C.; Liu, Y.; Wu, H.L. Distortion-free secret image sharing method with two meaningful shadows. IET Image Process
**2016**, 10, 590–597. [Google Scholar] [CrossRef] - Liu, Y.; Chang, C.C. A turtle shell-based visual secret sharing scheme with reversibility and authentication. Multimed. Tools Appl.
**2018**, 77, 25295–25310. [Google Scholar] [CrossRef] - Cheng, T.F.; Chang, C.C.; Liu, L. Secret sharing: using meaningful image shadows based on Gray code. Multimed. Tools Appl.
**2017**, 76, 9337–9362. [Google Scholar] [CrossRef] - He, J.H.; Lan, W.Q.; Tang, S.H. A secure image sharing scheme with high quality stego-images based on steganography. Multimed. Tools Appl.
**2017**, 76, 7677–7698. [Google Scholar] [CrossRef] - Chang, C.C.; Liu, Y.J.; Chen, K.M. Real-time adaptive visual secret sharing with reversibility and high capacity. J. Real. Time Image Process.
**2018**, 1–11. [Google Scholar] [CrossRef] - Kim, H.J.; Kim, C.; Choi, Y.; Wang, S.; Zhang, X. Improved modification direction methods. Comput. Math. Appl.
**2010**, 60, 319–325. [Google Scholar] [CrossRef] [Green Version] - Zhang, X.; Wang, S. Efficient steganographic embedding by exploiting modification direction. IEEE Commun. Lett.
**2006**, 10, 781–783. [Google Scholar] [CrossRef] - Chan, C.K.; Cheng, L.M. Hiding data in images by simple LSB substitution. Pattern Recognit.
**2004**, 37, 469–474. [Google Scholar] [CrossRef] - Chen, K.M.; Chang, C.C. High-capacity reversible data hiding in encrypted images based on extended Run-Length coding and block-based MSB plane rearrangement. J. Vis. Commun. Image Represent.
**2019**, in press. [Google Scholar] [CrossRef] - Qin, C.; Chang, C.C.; Hsu, T.J. Reversible data hiding scheme based on exploiting modification direction with two steganographic images. Multimed. Tools Appl.
**2015**, 74, 5861–5872. [Google Scholar] [CrossRef]

**Figure 11.**(

**a**) Cover image; (

**b**) Reconstructed cover image; (

**c**) Shadow1 (PSNR = 55.98); (

**d**) Shadow2 (PSNR = 55.91).

**Figure 15.**Eight test images with size of 512 × 512 pixels. (

**a**) Lena; (

**b**) Baboon; (

**c**) Airplane; (

**d**) Couple; (

**e**) Peppers; (

**f**) Harbor; (

**g**) Barbara; (

**h**) Fashion.

Basic Number | Ci |
---|---|

0 | [0, 0] |

1 | [1, 0] |

2 | [−1, 1] |

3 | [0, 1] |

4 | [1, 1] |

5 | [−1, −1] |

6 | [0, −1] |

7 | [1, −1] |

8 | [−1, 0] |

Hidden Data Value | $({\mathit{p}}_{\mathit{i}}^{\prime},{\mathit{p}}_{\mathit{i}+1}^{\prime})$ (Pixel Pair after Being Hidden) | ||
---|---|---|---|

$({\mathit{p}}_{\mathit{i}},{\mathit{p}}_{\mathit{i}+1})$ = (6, 7) | $({\mathit{p}}_{\mathit{i}},{\mathit{p}}_{\mathit{i}+1})$ = (8, 3) | $({\mathit{p}}_{\mathit{i}},{\mathit{p}}_{\mathit{i}+1})$ = (1, 1) | |

0 | (6, 7) | (9, 3) | (0, 0) |

1 | (7, 7) | (7, 4) | (1, 0) |

2 | (5, 8) | (8, 4) | (2, 0) |

3 | (6, 8) | (9, 4) | (0, 1) |

4 | (7, 8) | (7, 2) | (1, 1) |

5 | (5, 6) | (8, 2) | (2, 1) |

6 | (6, 6) | (9, 2) | (0, 2) |

7 | (7, 6) | (7, 3) | (1, 7) |

8 | (5, 7) | (8, 3) | (2, 2) |

**Table 3.**PSNRs of two generated shadows with the increasing EC (EC: Embedding capacity; BE: Before Exchange; AE: After Exchange).

EC (Bits) | Image ${\mathit{O}}^{\prime}$ (BE) | Image ${\tilde{\mathit{O}}}_{1}$ (AE) | Image $\tilde{\mathit{O}}$ (BE) | Image ${\tilde{\mathit{O}}}_{2}$ (AE) |
---|---|---|---|---|

PSNR (dB) | PSNR (dB) | PSNR (dB) | PSNR (dB) | |

13,000 | 84.99 | 59.94 | 62.97 | 62.91 |

65,786 | 84.65 | 55.98 | 57.90 | 55.91 |

130,096 | 84.96 | 52.94 | 49.92 | 52.94 |

415,485 | 88.89 | 52.90 | 49.88 | 52.89 |

Top 8 (Pixel Value) | The Number of Pixels | ||
---|---|---|---|

Cover Image | Shadow1 | Shadow2 | |

1(155) | 2723 | 2711 | 2714 |

2(156) | 2699 | 2688 | 2642 |

3(157) | 2683 | 2671 | 2659 |

4(154) | 2611 | 2615 | 2589 |

5(130) | 2493 | 2572 | 2519 |

6(158) | 2483 | 2410 | 2521 |

7(145) | 2471 | 2469 | 2481 |

8(143) | 2433 | 2461 | 2407 |

**Table 5.**Comparison of PSNR among different VSS schemes when the EC is 415,484 bits (all the data except the proposed scheme come from [28]).

Cover Image | PSNR (dB) | |||||||
---|---|---|---|---|---|---|---|---|

Qin et al.’s Scheme [33] | Liu et al.’s Scheme [25] | Chang et al.’s Scheme [28] | The Proposed Scheme | |||||

Shadow1 | Shadow2 | Shadow1 | Shadow2 | Shadow1 | Shadow2 | Shadow1 | Shadow2 | |

(a) Lena | 52.12 | 41.60 | 51.72 | 45.70 | 37.71 | 37.92 | 52.90 | 52.89 |

(b) Baboon | 52.04 | 41.57 | 51.73 | 45.71 | 36.46 | 37.92 | 52.91 | 52.89 |

(c) Airplane | 52.11 | 41.57 | 51.67 | 45.72 | 37.45 | 37.96 | 52.95 | 52.85 |

(d) Couple | 51.83 | 41.55 | 51.75 | 45.68 | 37.52 | 37.92 | 52.92 | 52.89 |

(e) Peppers | 52.09 | 41.59 | 51.75 | 45.70 | 37.59 | 37.93 | 52.87 | 52.89 |

(f) Harbour | 51.42 | 41.48 | 51.73 | 45.73 | 36.46 | 37.92 | 52.89 | 52.90 |

(g) Barbara | 52.11 | 41.57 | 51.72 | 45.71 | 36.87 | 37.92 | 52.89 | 52.90 |

(h) Fashion | 46.84 | 40.66 | 51.94 | 45.92 | 36.87 | 37.92 | 52.97 | 52.94 |

© 2019 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).

## Share and Cite

**MDPI and ACS Style**

Li, L.; Lin, C.-C.; Chang, C.-C.
Using Two Meaningful Shadows to Share Secret Messages with Reversibility. *Symmetry* **2019**, *11*, 79.
https://doi.org/10.3390/sym11010079

**AMA Style**

Li L, Lin C-C, Chang C-C.
Using Two Meaningful Shadows to Share Secret Messages with Reversibility. *Symmetry*. 2019; 11(1):79.
https://doi.org/10.3390/sym11010079

**Chicago/Turabian Style**

Li, Lin, Chia-Chen Lin, and Chin-Chen Chang.
2019. "Using Two Meaningful Shadows to Share Secret Messages with Reversibility" *Symmetry* 11, no. 1: 79.
https://doi.org/10.3390/sym11010079