## 2 Related Work  
Many RDH algorithms have been proposed using various approaches, including lossless compression [35], histogram shifting [36; 37; 38; 39] and difference expansion [40]. The main idea behind lossless compression is to vacate the room for data embedding. The histogram shifting technique in [36] shifts the zero point and peak point of the histogram to create space to embed the secret data while slightly modifying the pixel values of the original images. Subsequently, a method in which the image is divided into blocks was proposed, where one bit of data is hidden in each of the blocks [26]. This scheme was modified in [27] by introducing a smoothness function that takes border pixels into account, improving the error recovery rate. RDH schemes based on the difference expansion technique [41] embed secret data into the differences between the neighboring pixel values. RDH schemes are also explored for use with different image datasets, such as natural images [42], medical images [43], etc. Though many RDH schemes have been described in the literature [44; 45], RDH techniques which operate in an encrypted medium [16; 46] have become widely accepted due to their wide range of practical applications pertaining to the security of the cover medium. To protect the privacy of the cover image, the images are generally encrypted. These encrypted cover images are transferred to applications such as the cloud. This, in turn, protects the image contents from being accessed by an unauthorized party. One of the RDH schemes in encrypted images proposed used a stream cipher to encrypt the image and employed an Arnold transform to hide the secret information [47]. A median edge-detector prediction error-based RDH is discussed in [16]. Prediction errors are encoded using a two's complement encoding approach. A label map of the encoded two's complement is managed for efficient recovery. The label map also needs to be embedded with the additional data as an overhead, but without which the recovery will fail. Another prediction error-based RDH scheme which applies median edge-detector prediction on the adjacent pixels and a quad-tree coding-based room creation for embedding the secret message is described in [17]. Here, the multiple-MSB planes are compressed via quad-tree coding before encrypting the cover image to create the room. In this case, the compression would be maximum on smooth regions and less on rough regions. In [18], a two-tuples coding method is used to compress the MSBs of the cover image to provide adequate room for the additional data during the encryption process. In this scheme, the embedding capacity depends on the rate of compression. A higher embedding rate was achieved with an acceptable recovered quality greater than \(PSNR\) 40 dB. An RDH scheme in encrypted signals with a public keycryptosystem was introduced in [48] that was also extended to images. The public key encryption was based on a Paillier homomorphic cryptosystem. The paper was the first to address the issue of allowing the data hider to be anyone. Hence, the security of the scheme depends on the Paillier encryption. Another scheme that addressed the same issue was proposed in [49]. Here, the classical difference expansion was utilized to construct the public key cryptography based on RDH in encrypted images. In [48], the authors describe an approach in which each pixel in the image is divided into two chunks which are encrypted, with the message embedded in each of the pairs. These are added before passing to the receiver. Hence, there is a chance of overflow that was resolved in [49]. In relation to the previous methods, [50] also used a public key cryptosystem, but used histogram-shifting for RDH. The authors used homomorphic multiplication on the encrypted image to expand the histogram and embedded the additional data through histogram-shifting implemented via homomorphic addition. Unlike other schemes, the embedding of different images used a constant of 1 bpp based on a histogram expansion that did not rely on the pixel distribution.