# Reversible Data Hiding in Encrypted Color Halftone Images with High Capacity
## 3 Proposed Scheme
### Data Embedding  
In this subsection, we describe the watermark embedding procedure which adopts dual images. The diagram of data embedding procedure is illustrated in Figure 2. Given the cover image \(\mathbf{I}\), the service provider first splits the cover image into \(\mathbf{R}\), \(\mathbf{G}\), and \(\mathbf{B}\) channels and does the same operation to each channel as follows. 1. Taking cover image \(\mathbf{R}\) as an example, for the first WPC embedding, the service provider first copies it into two identical cover images \(\mathbf{R}^{\prime}\) and \(\mathbf{R}^{\prime\prime}\). We partition each of them into non-overlapping blocks of size \(\alpha\times\beta\); each block is denoted as \(\mathbf{L}_{\ell j}\), \(j=1,\cdots,w\) and \(\ell=1,2\), where \(w\) is the total number of blocks for each channel image: \[w=\left\lfloor\frac{N_{1}}{\alpha}\right\rfloor\times\left\lfloor\frac{N_{2}} {\beta}\right\rfloor\] (5) where \(\left\lfloor x\right\rfloor\) rounds \(x\) to the nearest integer towards \(-\infty\). The service provider first encrypts the watermark \(b_{\gamma i}\) by \[\theta_{\gamma i}=b_{\gamma i}\oplus p_{\gamma i}\] (6) where \(\gamma=1,\cdots,9\), because we perform the embedding process three times on one channel image and there are three channels, \(\theta_{\gamma i}\) is the encrypted watermark, and \(p_{\ell i}\) is determined via standard stream cipher using data-hiding key \(K_{d}\). Then, for every four bits of each \(\theta_{\gamma i}\), we group them to a block. Thus, the \(j\)th watermark block \(\theta_{\gamma i}\) is obtained as  
\[\theta_{\gamma j}=[\theta_{\gamma(4j-3)}\ \theta_{\gamma(4j-2)}\ \theta_{\gamma(4j-1)}\ \theta_{\gamma(4j)}]^{T},\ 1\leq j\leq w \tag{7}\]  
For cover image \(\mathbf{R}^{\prime}\), we read one block \(\mathbf{L}_{1j}\), and convert it into a column vector \(\mathbf{x}_{1j}\). Let the first four elements of \(\mathbf{x}_{1j}\) be the dry elements of WPC. Generate the pseudo-random binary matrix \(\mathbf{D}_{1j}\) of dimensions \(q\times n\) by using \(K_{d}\). Then, to generate the column vector \(\mathbf{y}_{1j}\), which satisfies  
\[\mathbf{D}_{1j}\times\mathbf{y}_{1j}=\mathbf{\theta}_{1j} \tag{8}\]  
we need first calculate \(\mathbf{s}_{1j}=\mathbf{D}_{1j}\times\mathbf{x}_{1j}\) according to Equation (3). Next, the exclusive-or operations between \(\mathbf{s}_{1j}\) and \(\mathbf{\theta}_{1j}\) are implemented. After that, the last four columns of each \(\mathbf{D}_{1j}\) are removed to form \(\mathbf{H}_{1j}\). Finally, \(\mathbf{v}_{1j}\) is solved based on the solvability of the linear equations and then  
\[\mathbf{y}_{1j}=\mathbf{v}_{1j}+\mathbf{x}_{1j} \tag{9}\]  
Having \(\mathbf{y}_{1j}\), new blocks \(\mathbf{L}^{\prime}_{1j}\) are formed and, then, these blocks are combined to produce stego image \(\mathbf{F}_{R^{\prime}}\) by following raster scanning order. As for cover image \(\mathbf{R}^{\prime\prime}\), we embed each watermark vector \(\mathbf{\theta}_{1j}\) into \(\mathbf{L}_{2j}\). First, the first four bits of each block \(\mathbf{L}_{2j}\) are converted to a vector \(\mathbf{z}_{1j}\). Then, embed watermark vector into \(\mathbf{z}_{1j}\) by  
\[\mathbf{\bar{z}}_{1j}=\mathbf{z}_{1j}\oplus\mathbf{\theta}_{1j} \tag{10}\]  
After all blocks of \(\mathbf{R}^{\prime\prime}\) are modified, we obtain new blocks \(\mathbf{L}^{\prime}_{2j}\) and also stego image \(\mathbf{F}_{R^{\prime\prime}}\). Figure 2: Block diagram of data embedding procedure. For the second WPC embedding, we take image \(F_{R^{\prime}}\) as the cover image. The same as the above procedure, the service provider first copies \(F_{R^{\prime}}\) into two identical images \(F^{\prime}_{R^{\prime}}\) and \(F^{\prime\prime}_{R^{\prime}}\). For cover image \(F^{\prime}_{R^{\prime}}\), we take the same WPC embedding operation as in Step (1) and then generate stego image \(S_{R^{\prime}}\). For cover image \(F^{\prime\prime}_{R^{\prime}}\), we embed watermark vector in it and then we get stego image \(S_{R^{\prime\prime}}\). 3.