**3. Proposed Method**

The information hiding technology proposed in the paper is mainly divided into two, secret message hiding and secret message extraction. The whole process is divided into two stages. The first stage takes advantage of the coverless information hiding to hide the secret message. The stage generates a vital location table. The second stage embeds the location table using the PEE algorithm. The main idea of our model is to combine coverless information hiding and PEE during hiding the secret message.

Before the secret message is hidden, the new encryption model is designed to enhance the security of secret data first. To increase the diversity of hash codes, the original image is divided into two sub-images using the two-level mechanism, and the mapping relationship formed by the look-up table established by the image blocks of the sub-image and the secret message is formed to realize the coverless hiding of the secret data. Although the hiding process does not change the original image, it needs to generate a corresponding location table. Considering that the location table needs additional storage and transmission, the paper adopts PEE to realize the second embedding of the location table. After receiving the watermarked image, the receiver can extract the location table and recover the original image. After obtaining the original image, the same look-up table can be established, and the encrypted secret information can be extracted according to the mapping relationship. The secret message can be recovered through decryption model with the same key. Figure 2 shows the framework model of the proposed algorithm. Due to the parameters used in the sender and receiver are the same, the designed model is symmetric.

**Figure 2.** The framework of the proposed model.

#### *3.1. Encrypt the Secret Message*

Logistic mapping is an encryption algorithm with a simple structure and good encryption effect. However, it is sensitive and periodic to the initial value, and its structure is relatively simple. Once the initial value is known, it is easy to be cracked. Therefore,

we adopt a dual logistic mapping, and the function of the model can be described as Equation (5).

$$\begin{cases} y\_{i+1} = \mu \times y\_i \times (1 - y\_i), \; i = 1, 2, 3, \dots, n/2 - 1 \\ y\_{i+1} = \mu \times \sin(\pi/2 \times y\_i) \times (1 - \sin(\pi/2 \times y\_i)), \; i = n/2, n/2 + 1, \dots, n - 1 \end{cases} \tag{5}$$

By combining the original logistic mapping and sin-logistic mapping, the final sequence is more chaotic. It is less easy to traverse to the secret message after encryption. If the initial value is not set, ten bits of secret information will be randomly selected to calculate the mean value as the initial value, see as Equation (6).

$$\begin{cases} r = randperm(sum, 10), \\ y\_1 = \frac{\sum S(r)}{10}, \end{cases} \tag{6}$$

where *S* is the one-dimensional secret message sequence and the length is *sum*.

#### *3.2. Hiding the Secret Message*

The two-level mechanism splits the image into two sub-images, and two sub-images can be restored to the original image. Each pixel value of the image is composed of an 8-bit binary value, and the image can be divided into 8-bit planes. The image is split into two images according to the 8-bit planes of the image. The pixel value of the image is represented as Equation (7).

$$p = p\_{\mathbb{H}} \times \mathbb{2}^w + p\_{\mathbb{H}} \tag{7}$$

where *p* represents the pixel value in the image, *ph* represents the high-level plane, *w* represents the number of bits divided, and *pl* is the low-level plane. According to Equation (8), the high-level plane is divided into two parts *ph*1 and *ph*2, where *a* is the constant ranging from 0 to 1.

$$\begin{cases} p\_{h1} = a \times p\_{h\prime} \\ p\_{h2} = p\_h - p\_{h1} \end{cases} \tag{8}$$

Equation (9) is the method of dividing the low-level plane, that is, dividing the lowlevel plane into two sub-planes *pl*1 and *pl*2. The parameter *c* is the number of bits during the division.

$$\begin{cases} p\_{l1} = \frac{(p\_l - p\_{l1})}{2^c}, \\ p\_{l2} = p\_l \% 2^c \end{cases} \tag{9}$$

The two sub-planes of the high plane are combined with the two sub-planes of the low plane, respectively, according to Equation (10). Thus, two sub-images can be obtained by splitting one image according to the above-mentioned division mechanism.

$$\begin{cases} p\_1 = p\_{l1} \times 2^w + p\_{l1} \times 2^c, \\ p\_2 = p\_{l2} \times 2^w + p\_{l2} \end{cases} \tag{10}$$

The hiding stage is mainly divided into two parts; one is coverless information hiding based on the look-up table approach, and the other embeds the location table into the original image by PEE. Firstly, the image is split into two sub-images and divided into image blocks. Secondly, the 8-bits hash code of the image block is calculated according to the designed arrangements, and each group of hash code is converted into ASCII code. The ASCII code of all image blocks and their location are combined to form a look-up table. Then the secret message is hidden without changing depending on the mapping relationship. Finally, the key location table is embedded into the image by PEE. The specific embedding steps are as follows:

Step 1. Predict the pixel value *pr*,*<sup>i</sup>* by Equation (11) according to the predictor as shown in Figure 3.

$$\mathfrak{p}\_{r,i} = \frac{p\_{r+1,i-1} + p\_{r+1,i} + p\_{r+1,i+1}}{3},\tag{11}$$

where *p*<sup>ˆ</sup>*r*,*<sup>i</sup>* is the predicted value.

**Figure 3.** The predictor used in our algorithm.

> Step 2. Calculate the prediction error of the pixel *pr*,*<sup>i</sup>* according to Equation (12).

$$
\epsilon\_{r,i} = p\_{r,i} - \beta\_{r,i} \tag{12}
$$

Step 3. Expand the prediction error and embed the secret message by Equation (13) where T is a threshold. The prediction error in [−*T*, *T*) will be used to embed the secret message.

$$\boldsymbol{\varepsilon}\_{r,i}^{\prime} = \begin{cases} 2 \times \boldsymbol{\varepsilon}\_{r,i} + \boldsymbol{s}\_{i} & \text{if } \boldsymbol{\varepsilon}\_{r,i} \in [-T\_{\prime}, T) \\ \boldsymbol{\varepsilon}\_{r,i} + T & \text{if } \boldsymbol{\varepsilon}\_{r,i} \in [T\_{\prime} \cos \rangle \\ \boldsymbol{\varepsilon}\_{r,i} - T & \text{if } \boldsymbol{\varepsilon}\_{r,i} \in (-\infty, -T) \end{cases} \tag{13}$$

Step 4. Modify the corresponding pixel value according to the extended prediction error referring to Equation (14).

$$
\boldsymbol{\dot{p}'\_{r,i}} = \boldsymbol{\pounds\_{r,i}} + \boldsymbol{\epsilon'\_{r,i}} \tag{14}
$$

After the secret message is embedded into the original and is transmitted to the receiver, the receiver could extract the message and recover the original image by the inverse process. Our method designs three novel arrangements as seen in Figure 4 to increase the diversity of hash codes. In Figure 4c, the nine values of the sub-block are scrambled randomly to generate the hash code so that each hiding process will have different results. The paper adopts the two-level mechanism and selects three arrangements from seven ways in Figures 1 and 4 randomly to generate features. The random approach adopted can elevate the security of the architecture. This mode increases the diversity of hash code and can further allow the secret message to be successfully hidden. To understand the whole hiding process, the specific steps can be seen as Algorithm 1.

**Figure 4.** The remaining three arrangements we designed. (**a**) Arr.5 (**b**) Arr.6, (**c**) Arr.7.

#### **Algorithm 1** Pseudo-code of the hiding model.

**Require:** Original image **I**, secret message *S*, the initial key *Initk*, parameter *μ*, *w*, *c*, *b*, *bs* **Ensure:** Watermarked image **I** 

Step 1. Generate one-dimensional sequence *Y* that the length is as same as the secret message using Equations (5) and (6) with the initial key *Initk*.

Step 2. Encrypt the secret message *S* by exclusive-or operation with Y and obtain the encrypted sequence *S* .

Step 3. Divide host image **I** into two sub-images **I1** and **I2** based on the two-level mechanism by Equations (8)–(10).

Step 4. Split two sub-images into image block **Bj** with fixed-size *b*.

Step 5. Further split **Bj** into nine sub-blocks **Bjl** with the small size *bs* where *l* denotes the *l*-th sub-block in the image block **Bj**.

Step 6. Calculate the eigenvalue of all sub-blocks **Bjl** and find the largest value *max*\_*ejl* by Equation (2).

Step 7. Acquire the hash code by arranging the eigenvalues of the sub-blocks in every image block where uses three arrangements of seven arrangements randomly.

Step 8. Generate the ASCII code with every 8-bit hash code and an ASCII code corresponding to a block.

Step 9. Establish look-up table including ASCII codes and their location.

Step 10. Convert the encrypted message *S* to ASCII code *S a*.

Step 11. Match *S a* with the equal image block and record the location of the corresponding image block in order in the position table.

Step 12. Embed the location table and additional information into the original image **I** using above PEE. The additional information includes the encryption key, parameter *w*, *c*, *b*, *bs*, the arrangements selected, and the size of the secret message.

#### *3.3. Extract the Secret Message and Recover the Original Image*

The symmetric framework of requiring secret data is the inverse process of embedding. After receiving the watermarked image, the receiver first performs the inverse operation of the prediction error expansion to extract the location table and additional information. Then, the original image is recovered, and the same look-up table is established. Finally, the key and encrypted secret data are extracted according to the mapping relationship. The secret can be recovered by decrypting the encrypted message with the key. The pseudocode is displayed in Algorithm 2 which includes the whole process of extracting the secret message and recovering the original image.

#### **Algorithm 2** Pseudo-code of the extraction and recover model.
