## 3 Proposed RDH-ED Scheme Based on VTSIS
### Secret Sharing and Data Embedding  
The process of secret sharing and data embedding is shown in Algorithm 1. The secret owner chooses a prime number \(p\) to construct the Galois domain \(GF(p)\) and selects \(k,h,n\in GF(p)\). Every eight bits of the secret to be embedded are converted into decimal numbers. To improve security, different encryption algorithms can be selected according to the characteristics of the data to be embedded, e.g., stream encryption, AES, or some more efficient encryption algorithms [38]. The data hider uses a pseudorandom number generator to generate a coefficient matrix of size \(k\times h\) and then uses the seed key to generate a substitution matrix of size \(k\times k\) (each row and column has one and only one element that  
Figure 1: Test image and attack effect when \(k-1\) attackers are involved in reconstructing the images. Figure 2: The framework of the proposed scheme. is 1, all others are 0.) as the hidden key \(sk\). The embedding is performed by scanning the key matrix from top to bottom and from left to right. The position of one is the position of the embedding image pixel and extra secret, and the position of zero remains unchanged. The data hider can embed \(k-1\) secrets in each pixel. Assuming that the \(l\)th pixel of the original image is \(p_{l},l=0,1,\ldots,M\times N\), \(M\times N\) is the size of the image, and the \(k-1\) secrets to be embedded are \(s_{i,1},s_{i,2},\ldots,s_{i,k-1}\), the generated coefficient matrix coefficients are \(d_{i,j}\), \(i=0,\,1,\ldots,k-1,j=0,\,1,\ldots,h-1\). The data hider first constructs a polynomial using the \(k\times h\)\(d_{i,j}\) as follows:  
\[F(x,y)=(1,x^{1},\ldots,x^{k-1}) \begin{pmatrix}d_{0,0}&\ldots&d_{0,h-1}\\ \vdots&\ddots&\vdots\\ d_{k-1,0}&\ldots&d_{k-1,h-1}\end{pmatrix}\begin{pmatrix}1\\ y^{1}\\ \vdots\\ y^{h-1}\end{pmatrix} . \tag{6}\]  
Then, the data hider can generate the hidden key based on the seed key. Pixel encryption and data embedding can be implemented by replacing pixels or extra secrets with random numbers. The secret owner computes \(f_{t}(y)=F(t,y),\;\;g_{t}(x)=F(x,t),\;t=1,\,2,\ldots,\,n\). \((f_{t}(y),g_{t}(x))\) can be the initial share distributed to \(n\) participants. At the same time, the seed key can be sent to the participants via a secure channel. ```
1:original image, prime number \(p\), \(k\), \(n\)
2:\(1\): Scan the original image to obtain the size \(M\times N\);
3:\(l\)\(\leftarrow\)\(1\);
4:while\(l\)\(<\)\(M\times N\) do
5: Scan pixel to obtain \(p_{l}\);
6: Generate \(k\times h\) coefficient matrix \(\mathbf{C}\) using pseudorandom number;
7: Generate \(k\times k\) hiding key matrix \(\mathbf{H}\) using the seed key;
8: Encrypt extra secrets using AES;
9: Construct the polynomial \(F(x,y)\);
10: Scan \(d_{i,j}\) in \(\mathbf{C}\) and \(d_{i,j}\) in \(\mathbf{H}\);
11:if\(d_{i,j}=\)\(n=1\)
12: then replace \(d_{i,j}\) with extra secrets or \(p_{l}\);
13:else
14: not to change \(d_{i,j}\)
15: return \(F(x,y)\);
16: Calculate \(f_{t}(y)=F(t,y),\;g_{t}(x)=F(x,t)\) then distribute \(\langle f_{t}(y),g_{t}(x)\rangle\) to participant \(P_{t}\);
17:endif
18:\(l\)\(\leftarrow\)\(l+1\);
19:endwhile Output: Share images with extra secrets embedded
```  
**Algorithm 1** Secret sharing and data embedding  
An instance flowchart is shown in Figure 3, when \(k=2\), \(h=3\), \(n=4\), and \(p=251\), the data hider first utilizes the 6 \(d_{i,j}\) to construct a polynomial as follows:  
\[F(x,y)= \begin{pmatrix}1&x\end{pmatrix}\begin{pmatrix}112&165&47\\ 97&142&152\end{pmatrix}\begin{pmatrix}1\\ y\\ y^{2}\end{pmatrix} \text{mod}251. \tag{7}\]  
The hidden key generated via the seed key is as follows:  
\[sk= \begin{pmatrix}0&1\\ 1&0\end{pmatrix} . \tag{8}\]Assuming that the pixel is 86, and the secret to be embedded is 79, the embedding process is shown in Equation (9). \[F(x,y)= \begin{pmatrix}1&x\end{pmatrix}\begin{pmatrix}112&86&47\\ 79&142&152\end{pmatrix}\begin{pmatrix}1\\ y\\ y^{2}\end{pmatrix} \text{mod}251.