## 3 Proposed Work
### Hiding the Secret Information  
In this step, as we are using an RDH scheme on encrypted images, we need to encrypt the original image before embedding the secret information. Let us consider \(ORI\) as the original image and the size of the image as \(M\times N\). Now generate a pseudo-random matrix \(MM\) of the same size \(M\times N\) using an encryption key \(K1\). To encrypt the image \(ORI\), we perform a bitwise XOR operation of \(ORI\) and \(MM\). The resulting encrypted image is \(E\).  
\[E=ORI\bigoplus MM. \tag{2}\]  
The proposed RDH scheme processes the encrypted image \(E\) by dividing it into different sub-blocks \(E_{i}\), which are of the same fixed size \(A\times A\) pixels. Thus,  
\[E_{i}\subset E, \tag{3}\]  
and  
\[TN=\left\lfloor\frac{(M\times N)}{(A\times A)}\right\rfloor. \tag{4}\]  
where, \(E_{i}\) indicates different non-overlapping sub-blocks of \(E\) of size \(A\times A\) pixels. If the total non-overlapping sub-blocks of \(E\) is \(TN\) (refer to Equation (4)), then \(i\) can take a maximum value of \(TN\). Hence, we have \(0\leq i\leq TN\). \(TN\) gives the total number of non-overlapping sub-blocks of size \(A\times A\) pixels that we can generate from \(E\).  
We considered the standard input image size to the algorithm to be \([512\times 512]\) for all the images. The encrypted image \(E\) is divided into \(TN\) number of non-overlapping blocks with each block size as \(A\times A\) pixels.  
In addition, we took \(A=8\) for all the images (refer to Section 4.1 to understand the background of fixing the block side-length as \(8\)). The number of bits of data that can be embedded in a block is dependent upon the block size \(A\). The Fibonacci transform function has a cyclic period. That is, if the period value is \(j\) then, after applying the Fibonacci transform \(j\) times, the shuffled image is again reduced to its original image. So, the values that can be embedded are \(\{0,1,2\ldots,j-1\}\). For a block of side length \(A\), the period \(j\) is given by:  
\[j=2\times A. \tag{5}\]  
In the current investigation, the block size considered for the algorithm is \(8\) and its period value is \(16\). This implies that we can embed \(16\) values in the range \(\{0,1,2\ldots,15\}\). Hence, the number of bits \(B\) that can be embedded per block of size \(A\times A\) pixels can be related to the period \(j\) as:  
\[j=2^{B}. \tag{6}\]  
Figure 1: Schematic diagram of the proposal.  
This implies that we can embed 4 bits of information in a block of side length 8. Consider \(I\) as the secret information of length \(T\) and each \(i^{th}\) individual data value of \(I\) is represented as \(I_{i}\). We have,  
\[T=TN\times B. \tag{7}\]  
Here, \(TN\) represents the total non-overlapping blocks of \(E\) of side length \(A\) (refer to Equation (4)).  
Now we pass each \(i^{th}\) block \(E_{i}\) and \(i^{th}\) individual data value \(I_{i}\) as input to the Fibonacci transform function to perform the scrambling operation on the block using the data unit passed. The Fibonacci transform function generates a scrambled block in return. Hence, the data unit passed is the scrambling factor of the Fibonacci transform function and the number of block scrambles we perform is the basis for embedding the data unit. Similarly, we perform the Fibonacci transform on every block and combine them to form an encrypted and data-embedded image \(E^{\prime}\). The algorithms used to perform the embedding of the secret data in the encrypted image are Algorithms 1 and 2.