1. Introduction
The rapid developments of computer and network technologies led to an explosion in the transmission of digital information over the Internet. The digital information mostly contains sensitive and confidential contents that can be intercepted or tampered with during transmission. Therefore, ensuring secure information communication has become a very important issue. There are two main approaches to achieve this goal. One approach is cryptography [
1], in which the message is encrypted with a secret key and only the holder of the secret key can decrypt the cipher text to recover the original message. RSA publickey cryptosystem using a pair of keys is the most widely used cryptography. A public key is paired with a private key that is known only to the expected message receiver. The sender encrypts a message with the public key and only the receiver who has the paired private key can decrypt it. Unfortunately, disclosure of the message may happen if the private key leaks. The other approach for information security is data hiding, and this has attracted a lot of attention over the past few years [
2,
3,
4,
5].
Data hiding [
2,
3] is an efficient technique that conceals secret data into a medium. The differences in the image before and after concealing data are so tiny that it is impossible for an observer to visually perceive the presence of hidden data. A good data hiding scheme should both maintain good image quality and preserve sufficient embedding capacity. However, it is difficult to satisfy the two requirements at the same time in most cases. It is generally true that the image distortion increases when the embedding capacity increases; on the other hand, the image quality is enhanced at the cost of the embedding capacity. Therefore, how to achieve a satisfactory balance between the image quality and the embedding capacity has become a technically challenging topic and many researchers have proposed various data hiding methods [
4,
5,
6] focusing on this topic.
Data hiding for digital images is basically developed in three domains—the spatial domain, the frequency domain and the compression domain. In the frequency domain, the cover image is transformed into frequency coefficients via various discrete transform functions such as discrete Fourier transform (DFT), discrete cosine transform (DCT), and discrete wavelet transform (DWT). The primary property of frequency domain data is that low frequency coefficients contain more important information, whereas in high frequency areas, information is less significant. Thus, the matrix of frequency coefficients are divided into nonoverlapping blocks and the secret data will be embedded in those blocks. For data hiding in compression domain, the frequently used compression technologies include vector quantization (VQ), block truncation coding (BTC) and joint photographic experts group (JPEG). A milestone in the history of spatial domainbased data hiding is the method of leastsignificantbit (LSB) replacement [
2]. LSB method is very simple as it just replaces the LSBs in a cover image with secret bits to produce a stego image. The embedding capacity is satisfactory along with a good image quality, but it is very vulnerable to statistical analysis of the stego image. Westfeld and Pfitzmann [
3] found that the statistics for the frequencies of neighboring pixel value pairs in the stego image can easily detect the presence of hidden data. To resist statistical attack, LSB matching [
4] was introduced. It improves the way of modifying the cover image such that the value of the cover pixel is either randomly increased or decreased by one in case the LSB of the cover pixel is not identical to the secret bit. Later, Mielikainen [
5] exploited the direction of modification to the cover pixels for the first time to enhance the LSB matching scheme. A cover pixel pair is used as a minimal unit to embed two consecutive secret bits according to a binary function. This scheme outweighs LSB matching in terms of security and image quality degradation while keeping the same embedding capacity. However, Zhang and Wang [
6] pointed out that Mielikainen’s scheme [
5] does not fully exploit the modification directions, and they presented a novel data hiding scheme called the exploiting modification direction (EMD) scheme. The EMD scheme first converts binary secret data into a (2
m + 1)ary stream of secret digits, and then uses a group of
m adjacent pixels to carry one secret digit. Only one pixel value in the group is +1 or −1 according to a new extraction function, thereby achieving very good image quality. The weakness of the EMD scheme is that the embedding capacity decreases drastically if the number of pixels in a group increases.
In recent years, many data hiding schemes that are inspired by the concept of EMD have been proposed to increase the embedding capacity [
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21]. Lee et al.’s scheme [
7] employed a pixel segmentation strategy to provide a larger payload than that of EMD, but this suffers from worse image quality. Chang et al. [
8] introduced a novel scheme based on EMD and Sudoku solutions. Each cover pixel pair conceals one secret digit in the nonary numeral system by the reference matrix according to a selected Sudoku solution. The scheme can achieve a higher embedding capacity of 1.5 bits per pixel (bpp) and a very good image quality. Moreover, the scheme is more secure than the EMD method since it is very difficult to determine which Sudoku solution is selected from a large number of possible solutions. To minimize the image distortions, Hong et al. [
9] proposed a new scheme that searches embeddable positions using the nearest Euclidean distance, leading to a better image quality than that of Chang et al.’s scheme [
8] under the same embedding capacity. In 2010, Kim et al. [
10] introduced an EMD2 scheme that changes the values of at most two pixels in a group. Experimental results showed that EMD2 is superior to EMD in larger payloads with similar image distortions. In 2014, Chang et al. [
11] proposed a novel data hiding scheme originating from EMD and turtle shell structure. The binary secret stream can be embedded directly in such a way that three secret bits are embedded in a pair of consecutive cover pixels with the guidance of a reference matrix based on turtle shells. Experimental results revealed that this scheme has a higher embedding capacity than EMD and Kim et al.’s scheme [
10]. Also, it outperforms EMD, Chang et al.’s scheme [
8] and Hong et al.’s scheme [
9] in better image quality under the same embedding capacity. Later, Liu et al. [
12] improved Chang et al.’s scheme [
11] by constructing a location table from the turtle shellbased reference matrix to guide the modification of cover pixel pairs. This scheme achieves very good image quality above 45 dB and is better than Chang et al.’s scheme [
11] with higher embedding capacity.
Recently, Kuo et al. proposed a series of EMDtype schemes [
15,
16,
17] to further improve the EMD method. In order to increase the embedding capacity, a generalized EMD (GEMD) scheme was introduced in [
16]. Unlike the EMD, the GEMD does not require the conversion of the binary secret data before embedding so as to accelerate the embedding speed. The GEMD scheme maintains better embedding capacity than EMD under different pixel group sizes. Later, a modified signed digit (MSD) scheme [
17] for data hiding was proposed that restricts the number of modified pixels to
$\lceil m/2\rceil $ when the group size is m, while all group pixels may be changed in GEMD. Unfortunately, MSD sacrifices the embedding capacity to obtain better image quality than GEMD. Recently, Kuo et al. [
18] proposed a new EMDtype scheme called binary power EMD (BPEMD) in which both the coefficient and modulus of the extraction function are binary power. Experimental results reveal that BPEMD has higher embedding capacity than EMD and MSD and withstands wellknown attacks.
In order to further increase the embedding capacity, we propose an EMDtype data hiding scheme based on Chinese remainder theorem (CRT) [
22]. CRT can make a solution to determine an integer by the given system of simultaneous congruencies in number theory. Nowadays, CRT is used extensively in secret sharing and other applications of information security [
22,
23,
24]. Fortunately, we also find that CRT is very suitable for data hiding. To the best of our knowledge, no EMDtype schemes employing CRT has been proposed. In this paper, for the first time, we propose a high capacity data hiding scheme from the combination of CRT and a new extraction function. The characteristics of the proposed scheme are listed below:
It is the first EMDtype data hiding scheme that uses CRT as its main building block. The cover image is divided into nonoverlapping mpixel groups for embedding data. According to the CRT and a new extraction function, the ith cover pixel in a group can directly embed $\left(i+1\right)$ binary secret bits;
The coefficients of the constructed extraction function are pairwise coprime integers and the modulus is the product of the coefficients, which is different from the extraction functions of previous EMDtype schemes. Therefore, for data extraction, the embedded secret data is first computed by the extraction function and then retrieved by a modular operation according to the CRT. This two layer embedding strategy can further increase the security;
The embedding capacity of the proposed scheme is significantly high while guaranteeing good image quality. In particular, the embedding capacity can maintain at least 2.5 bpp and increase when the number of cover pixels in a group increases.
The rest of the paper is organized as follows.
Section 2 briefly reviews typical EMDtype data hiding schemes and basic knowledge about CRT.
Section 3 describes our proposed data hiding scheme. Experimental results are provided in
Section 4, and conclusions are given in
Section 5.
2. Preliminaries
In this section, we first give a review of typical EMDtype data hiding schemes, such as EMD [
6], GEMD [
16] and BPEMD [
18]. Then, we introduce essential knowledge about CRT since it is the most important building element of our proposed scheme.
2.1. EMD Data Hiding Scheme
The EMD scheme proposed by Zhang and Wang [
6] embeds one secret digit in a (2
m + 1)ary numeral system into m cover pixels, among which at most one pixel is +1 or −1. Let a vector
${P}_{m}=\left[{p}_{1},{p}_{2},\dots ,{p}_{m}\right]$ denote a group of
m pixel values and
${P}_{m}$ in an
mdimensional space corresponds to a value of an extraction function
${g}_{E}$, which is computed by the following equation as a weighed sum modulo
$(2m+1)$:
According to the extraction function
${g}_{E}$, the EMD embedding algorithm (Algorithm 1) is shown as follows:
Algorithm 1 EMD Embedding Algorithm [6]. 
Input: cover image ${I}_{c}$ and binary secret data stream $S$ Output: stego image ${I}_{s}$ Step 1.
Convert binary secret data stream $S$ to a (2 m + 1)ary stream ${S}^{\prime}$. First, $S$ is divided into a sequence of segments with l bits. Then, each lbit segment is converted to r digits in a (2 m + 1)ary numeral system, where
 Step 2.
Divide the cover image ${I}_{c}$ into nonoverlapping groups, each of which consists of m adjacent pixels.  Step 3.
Obtain an mpixel group $({p}_{1},{p}_{2},\dots ,{p}_{m})$ from ${I}_{c}$ and one digit $t$ from ${S}^{\prime}$.  Step 4.
Compute $y={g}_{E}({p}_{1},{p}_{2},\dots ,{p}_{m})$ by Equation (1) and obtain the difference ${D}_{E}=(ty)\mathrm{mod}(2m+1)$.  Step 5.
If ${D}_{E}=0$, set ${p}_{i}^{\prime}={p}_{i}$ for $i\in \{1,2,\dots ,m\}$, where ${p}_{i}^{\prime}$ is the stego pixel. If ${D}_{E}\ne 0$ and ${D}_{E}\le m$, set ${p}_{{D}_{E}}^{\prime}={p}_{{D}_{E}}+1$ and ${p}_{i}^{\prime}={p}_{i}$ for $i\in \{1,2,\dots ,m\}$ and $i\ne {D}_{E}$. If ${D}_{E}\ne 0$ and ${D}_{E}>m$, set ${p}_{2m+1{D}_{E}}^{\prime}={p}_{2m+1{D}_{E}}1$ and ${p}_{i}^{\prime}={p}_{i}$ for $i\in \{1,2,\dots ,m\}$ and $i\ne (2m+1{D}_{E})$.  Step 6.
Repeat Steps 3–5 until all secret data is embedded.

For the extraction, we retrieve all mpixel group $({p}_{1}^{\prime},{p}_{2}^{\prime},\dots ,{p}_{m}^{\prime})$ from the stego image ${I}_{s}$, and then compute $s={g}_{E}({p}_{1}^{\prime},{p}_{2}^{\prime},\dots ,{p}_{m}^{\prime})$ for each group. Obviously, $s$ is one digit in the (2m + 1)ary secret stream ${S}^{\prime}$. Finally, ${S}^{\prime}$ is converted back to the binary secret stream $S$. Here, we give an example to illustrate how to embed secret data using the EMD scheme.
Example 1. Given three grayscale pixels $(28,35,38)$ of a cover image and a binary secret data stream $S={(0101)}_{2}$, embed $S$ into the above threepixel group using EMD when $m=3$.
First, compute one digit $t={(0101)}_{2}={(5)}_{7}$. Then, compute $y={g}_{E}({p}_{1},{p}_{2},{p}_{3})=(28\times 1+35\times 2+38\times 3)\mathrm{mod}7=2$. Thus, the difference ${D}_{E}=(ty)\mathrm{mod}(2m+1)=(52)\mathrm{mod}7=3$ is obtained. Because ${D}_{E}=m$, we set ${p}_{1}^{\prime}={p}_{1}=28$, ${p}_{2}^{\prime}={p}_{2}=35$ and ${p}_{3}^{\prime}={p}_{3}+1=39$ in the stego image. To extract the hidden data, we just compute $s={g}_{E}({p}_{1}^{\prime},{p}_{2}^{\prime},{p}_{3}^{\prime})=(28\times 1+35\times 2+39\times 3)\mathrm{mod}7=5={(0101)}_{2}$.
2.2. GEMD Data Hiding Scheme
From the EMD scheme, we can infer that its largest embedding capacity is achieved at 1.16 bpp when there are two pixels in a group. The embedding capacity decreases drastically if the size of the pixel group increases. To enhance the embedding capacity, Kuo and Wang [
16] proposed the GEMD scheme. GEMD has two main contributions: (1) it does not require the conversion of the binary secret data to a specified numeral stream before embedding; and (2) its embedding capacity stays greater than 1 bpp when the size of pixel group increases. A new extraction function
${g}_{G}$ is introduced in GEMD as follows:
According to the extraction function
${g}_{G}$, the GEMD embedding algorithm (Algorithm 2) is shown below:
Algorithm 2 GEMD Embedding Algorithm [16]. 
Input: cover image ${I}_{c}$ and binary secret data stream $S$ Output: stego image ${I}_{s}$ Step 1.
Divide the cover image ${I}_{c}$ into nonoverlapping groups, each of which consists of m adjacent pixels.  Step 2.
Obtain an mpixel group $({p}_{1},{p}_{2},\dots ,{p}_{m})$ from ${I}_{c}$.  Step 3.
Read (m + 1) secret bits from $S$ and obtain the corresponding $({2}^{m+1})$ary secret data $t$.  Step 4.
Compute $y={g}_{G}({p}_{1},{p}_{2},\dots ,{p}_{m})$ by Equation (3) and obtain the difference ${D}_{G}=(ty)\mathrm{mod}{2}^{m+1}$.  Step 5.
If ${D}_{G}={2}^{m}$, set ${p}_{1}^{\prime}={p}_{1}+1$, ${p}_{m}^{\prime}={p}_{m}+1$ and ${p}_{i}^{\prime}={p}_{i}$ for $i\in \{2,3,\dots ,m1\}$, where ${p}_{i}^{\prime}$ is the stego pixel, and then go to Step 8; else if ${D}_{G}<{2}^{m}$, go to Step 6; else go to Step 7.  Step 6.
Transform ${D}_{G}$ to $(m+1)$bit data ${({d}_{m+1}{d}_{m}\dots {d}_{2}{d}_{1})}_{2}$. For $i=1$ to $m$ do If (${d}_{i+1}=0$ and ${d}_{i}=1$) then ${p}_{i}^{\prime}={p}_{i}+1$; else if (${d}_{i+1}=1$ and ${d}_{i}=0$) then ${p}_{i}^{\prime}={p}_{i}1$; else ${p}_{i}^{\prime}={p}_{i}$. End For. Go to Step 8.  Step 7.
Compute ${D}_{G}={2}^{m+1}{D}_{G}$ and then transform ${D}_{G}$ to $(m+1)$bit data ${({d}_{m+1}{d}_{m}\dots {d}_{2}{d}_{1})}_{2}$. For $i=1$ to $m$ do If (${d}_{i+1}=0$ and ${d}_{i}=1$) then ${p}_{i}^{\prime}={p}_{i}1$; else if (${d}_{i+1}=1$ and ${d}_{i}=0$) then ${p}_{i}^{\prime}={p}_{i}+1$; else ${p}_{i}^{\prime}={p}_{i}$. End For.  Step 8.
Go to Step 2 until all secret data is embedded.

Similar to the EMD scheme, the GEMD scheme extracts the secret data by computing the extraction function ${g}_{G}$ using stego pixels as its inputs. To make a clear comparison between GEMD and EMD, we still take Example 1 to demonstrate the embedding and extracting processes using GEMD when $m=3$.
In the embedding process of GEMD, first, obtain $16$ary secret data $t={(0101)}_{2}={(5)}_{16}$. Then, compute $y={g}_{G}({p}_{1},{p}_{2},{p}_{3})=(28\times 1+35\times 3+38\times 7)\mathrm{mod}16=15$. Thus, the difference ${D}_{G}=(ty)\mathrm{mod}{2}^{m+1}=(515)\mathrm{mod}16=6$ is obtained. Because ${D}_{G}<{2}^{m}=8$, transform ${D}_{G}$ to ${(0110)}_{2}$. According to Step 6, we set ${p}_{1}^{\prime}={p}_{1}1=27$, ${p}_{2}^{\prime}={p}_{2}=35$ and ${p}_{3}^{\prime}={p}_{3}+1=39$ in the stego image. To extract the hidden data, we just compute $s={g}_{G}({p}_{1}^{\prime},{p}_{2}^{\prime},{p}_{3}^{\prime})=(27\times 1+35\times 3+39\times 7)\mathrm{mod}16=5={(0101)}_{2}$.
2.3. BPEMD Data Hiding Scheme
Unlike the aforementioned EMDtype schemes, both the coefficient and modulus of the extraction function are binary power in the BPEMD scheme (Algorithm 3) [
18]. Since the multiplication of binary numbers implemented by shifting bits is faster than that of numbers in other radices, BPEMD can speed up the embedding process. Experimental results show that embedding capacity of BPEMD is quite similar to that of GEMD but higher than that of EMD and MSD. The extraction function
${g}_{B}$ in BPEMD is shown below:
Algorithm 3 BPGEMD Embedding Algorithm [18]. 
Input: cover image ${I}_{c}$ and binary secret data stream $S$ Output: stego image ${I}_{s}$ Step 1.
Divide the cover image ${I}_{c}$ into nonoverlapping groups, each of which consists of m adjacent pixels.  Step 2.
Obtain an mpixel group $({p}_{1},{p}_{2},\dots ,{p}_{m})$ from ${I}_{c}$.  Step 3.
Read (m + 1) secret bits from $S$ and obtain the corresponding $({2}^{m+1})$ary secret data $t$.  Step 4.
Compute $y={g}_{B}({p}_{1},{p}_{2},\dots ,{p}_{m})$ by Equation (4) and obtain the difference ${D}_{B}=(ty)\mathrm{mod}{2}^{m+1}$.  Step 5.
If ${D}_{B}={2}^{m}$, set ${p}_{m}^{\prime}={p}_{m}+2$ and ${p}_{i}^{\prime}={p}_{i}$ for $i\in \{1,2,\dots ,m1\}$, where ${p}_{i}^{\prime}$ is the stego pixel, and then go to Step 8; else if ${D}_{B}<{2}^{m}$, go to Step 6; else go to Step 7.  Step 6.
Transform ${D}_{B}$ to $m$bit data ${({d}_{m}{d}_{m1}\dots {d}_{2}{d}_{1})}_{2}$. For $i=1$ to $m$ do ${p}_{i}^{\prime}={p}_{i}+{d}_{i}$. Go to Step 8.  Step 7.
Compute ${D}_{B}={2}^{m+1}{D}_{B}$ and then transform ${D}_{B}$ to mbit data ${({d}_{m}{d}_{m1}\dots {d}_{2}{d}_{1})}_{2}$. For $i=1$ to $m$ do ${p}_{i}^{\prime}={p}_{i}{d}_{i}$.  Step 8.
Go to Step 2 until all secret data is embedded.

From the embedding algorithm of BPEMD, it can be implied that ${p}_{m}$ can be modified by $\{1,0,1,2\}$, whereas ${p}_{i}$ for $i\ne m$ can be modified by $\{1,0,1\}$. Obviously, the secret data can be extracted easily by calculating the extraction function ${g}_{B}$ with stego pixels as its inputs. Here, we also use Example 1 to explain the BPGEMD scheme with $m=3$.
For the embedding, after obtaining 16ary secret data $t={(0101)}_{2}={(5)}_{16}$, we compute $y={g}_{B}({p}_{1},{p}_{2},{p}_{3})=(28\times 1+35\times 2+38\times 4)\mathrm{mod}16=10$. Thus, the difference ${D}_{B}=(ty)\mathrm{mod}{2}^{m+1}$$=(510)\mathrm{mod}16=11$ is obtained. Because ${D}_{B}>{2}^{m}=8$, we compute ${D}_{B}={2}^{m+1}{D}_{B}=1611=5$ and then transform it to ${(101)}_{2}$. According to Step 7, we set ${p}_{1}^{\prime}={p}_{1}1=27$, ${p}_{2}^{\prime}={p}_{2}=35$ and ${p}_{3}^{\prime}={p}_{3}1=37$ in the stego image. To extract the hidden data, we just compute $s={g}_{B}({p}_{1}^{\prime},{p}_{2}^{\prime},{p}_{3}^{\prime})=(27\times 1+35\times 2+37\times 4)\mathrm{mod}16=5={(0101)}_{2}$.
2.4. Chinese Remainder Theorem
The CRT [
22,
23,
24], resulting from Bézout’s Lemma [
25], is an approach to determine an integer in a specific range by the given system of simultaneous congruencies in number theory. CRT is used as a main building block in our proposed scheme and described as follows. Given
$n$ positive, pairwise coprime integers,
${q}_{1},{q}_{2},\dots ,{q}_{n}$, and
$n$ positive integers,
${x}_{1},{x}_{2},\dots ,{x}_{n}$, for
${x}_{i}<{q}_{i}$, a system of equations can be established for determining an integer
X:
Therefore, the unique solution X in ${Z}_{P}$ is computed by CRT as $X={\displaystyle \sum _{i=1}^{n}{M}_{i}}\cdot {M}_{i}^{\prime}\cdot {x}_{i}\mathrm{mod}{\displaystyle {\prod}_{i=1}^{n}{q}_{i}},$ where ${M}_{i}=\frac{{\displaystyle {\prod}_{i=1}^{n}{q}_{i}}}{{q}_{i}}$ and ${M}_{i}\cdot {M}_{i}^{\prime}\equiv 1(\mathrm{mod}{q}_{i}).$
3. Proposed CRTBased Scheme for Data Hiding
In this section, we propose a novel EMDtype data hiding scheme based on CRT called CRTEMD. In the proposed scheme, the cover image is divided into nonoverlapping
mpixel groups. According to the CRT and a new extraction function, the
ith cover pixel in a group can directly embed
$(i+1)$ secret bits so as to achieve high embedding capacity. In particular, the feasibility of data embedding by our proposed scheme is addressed in
Section 3.1. In
Section 3.2 and
Section 3.3, we elaborate the embedding and extracting processes of the proposed scheme, respectively.
3.1. Feasibility Study
In our proposed data hiding scheme, an extraction function which is quite different from those of previous EMDtype schemes is constructed as follows:
where
$({p}_{1},{p}_{2},\dots ,{p}_{m})$ is an
mpixel group in the cover image and
${q}_{1},{q}_{2},\dots ,{q}_{m}$ are
$m$ positive, pairwise coprime integers with
${q}_{i}\ge {2}^{i+1}$ for
$1\le i\le m$. Denote the
$({2}^{i+1})$ary value of
$(i+1)$ secret bits carried by
${p}_{i}$ as
${b}_{i}$, where
$1\le i\le m$. Now the key issue is whether it is feasible to modify
${p}_{i}$ for embedding
${b}_{i}$ while minimizing the image distortion. In this subsection, we will analyze the feasibility of the above issue by using CRT.
Let
$y={g}_{C}({p}_{1},{p}_{2},\dots ,{p}_{m})$ and thus the value of
$y$ is obviously in the range of
$\left[0,{\displaystyle {\prod}_{i=1}^{m}{q}_{i}}\right)$. Assume there is an integer
${y}^{\prime}$ also in the range of
$\left[0,{\displaystyle {\prod}_{i=1}^{m}{q}_{i}}\right)$. Then, we can establish the following equations:
and easily compute the value of
${y}^{\prime}$ by CRT. Therefore, if we can change
$y$ to
${y}^{\prime}$ through modifying
${p}_{1},{p}_{2},\dots ,{p}_{m}$, the secret data
${b}_{i}$ can successfully be embedded in
${p}_{i}$. Let
${D}_{C}=({y}^{\prime}y)\mathrm{mod}{\displaystyle {\prod}_{i=1}^{m}{q}_{i}}$ and the modification on
${p}_{i}$ be
${\epsilon}_{i}$ (
${\epsilon}_{i}\in N$). Therefore, we must prove
to ensure that
$y$ can be modified to
${y}^{\prime}$.
In the following, we apply Bézout’s Lemma (also called Bézout’s identity) [
25], a famous theorem in number theory, to prove Equation (7). Bézout’s Lemma is described as follows:
Bézout’s Lemma [25]. Let ${a}_{1}$ and ${a}_{2}$ be nonzero integers and denote $h$ as their greatest common divisor. Then there exist two integers ${y}_{1}$ and ${y}_{2}$ such thatwhere $H$ is a multiple of $h$.
It should be noticed that the integer pair
$({y}_{1},{y}_{2})$ is not unique. When one pair of solution
$({y}_{1},{y}_{2})$ has been computed, all pairs can be obtained by
where
k is an arbitrary integer. Let a pair of solutions
$({y}_{1},{y}_{2})$ that minimize the value of
$\left(\left{y}_{1}\right+\left{y}_{2}\right\right)$ be called
minimal solution. Bézout’s Lemma has an attractive property that it is very easy to determine the minimal solution. In fact, exactly two pairs of all the solutions satisfy
$\left{y}_{1}\right\le \left{a}_{2}/h\right$ and
$\left{y}_{2}\right\le \left{a}_{1}/h\right$. The extended Euclidean algorithm [
25] always produces one of the above two pairs from which the minimal solution can be obtained immediately.
Lemma 1 [25]. Let ${c}_{1}$ and ${c}_{2}$ be coprime integers and ${H}^{\prime}$ be a nonzero integer. Then there exist two integers ${y}_{1}$ and ${y}_{2}$ such that Proof. Since the integers ${c}_{1}$ and ${c}_{2}$ are coprime, their greatest common divisor $h$ is “1”. According to Bézout’s Lemma, we can infer that ${c}_{1}\cdot {y}_{1}+{c}_{2}\cdot {y}_{2}={H}^{\prime}\cdot h={H}^{\prime}$. Therefore, Lemma 1 is a special case of Bézout’s Lemma when ${a}_{1}$ and ${a}_{2}$ are coprime integers. ☐
Both Bézout’s Lemma and Lemma 1 can be extended to more than two integers as follows:
Lemma 2 [25]. Let ${a}_{1},{a}_{2},\dots ,{a}_{n}$ be $n$ nonzero integers and denote $h$ as their greatest common divisor. Then there exist integers ${y}_{1},{y}_{2},\dots ,{y}_{n}$ such thatwhere $H$ is a multiple of $h$. Lemma 3 [25]. Let ${c}_{1},{c}_{2},\dots ,{c}_{n}$ be pairwise coprime integers and ${H}^{\prime}$ be a nonzero integer. Then there exist integers ${y}_{1},{y}_{2},\dots ,{y}_{n}$ such that Now we present a very important theorem regarding our proposed scheme.
Theorem 1. In the CRTEMD data hiding scheme, there exist integers, ${\epsilon}_{1},{\epsilon}_{2},\dots ,{\epsilon}_{m}$, satisfying ${q}_{1}\cdot {\epsilon}_{1}+{q}_{2}\cdot {\epsilon}_{2}+\dots +{q}_{m}\cdot {\epsilon}_{m}={D}_{C}$ (Equation (7)). In addition, a minimal solution that minimizes the value of $\left(\left{\epsilon}_{1}\right+\left{\epsilon}_{2}\right+\dots +\left{\epsilon}_{m}\right\right)$ can be obtained.
Proof. According to the CRTEMD scheme, there are two integers $y$ and ${y}^{\prime}$ in the same range of $\left[0,{\displaystyle {\prod}_{i=1}^{m}{q}_{i}}\right)$, where $y={g}_{C}({p}_{1},{p}_{2},\dots ,{p}_{m})$ and ${y}^{\prime}$ is computed by CRT through Equation (6). Let ${D}_{C}={y}^{\prime}y$ and the modification on the cover pixel ${p}_{i}$ be ${\epsilon}_{i}$ (${\epsilon}_{i}\in N$). Since ${q}_{1},{q}_{2},\dots ,{q}_{m}$ are positive, pairwise coprime integers, we can hold that ${q}_{1}\cdot {\epsilon}_{1}+{q}_{2}\cdot {\epsilon}_{2}+\cdots +{q}_{m}\cdot {\epsilon}_{m}={D}_{C}$ by Lemma 3. Especially, we set ${\epsilon}_{1}={\epsilon}_{2}=\cdots {\epsilon}_{m}=0$ when ${D}_{C}=0$. Moreover, a minimal solution that minimizes the value of $\left(\left{\epsilon}_{1}\right+\left{\epsilon}_{2}\right+\cdots +\left{\epsilon}_{m}\right\right)$ can be obtained easily by the extended Euclidean algorithm as stated previously in Bézout’s Lemma. This lemma indicates that the minimal image distortion can be achieved by employing the minimal solution. In other words, the issue to embed the secret data ${b}_{i}$ into the cover pixel ${p}_{i}$ while minimizing the image distortion is feasible by the CRTEMD scheme. ☐
3.2. The Embedding Process
Detailed description of the embedding process is provided in the following algorithm (Algorithm 4).
Algorithm 4 CRTEMD Embedding Algorithm. 
Input: cover image ${I}_{c}$ and binary secret data stream $S$ Output: stego image ${I}_{s}$ Step 1.
Divide the cover image ${I}_{c}$ into nonoverlapping mpixel groups.  Step 2.
Select $m$ positive, pairwise coprime integers, ${q}_{1},{q}_{2},\dots ,{q}_{m}$, where ${q}_{i}\ge {2}^{i+1}$ for $1\le i\le m$.  Step 3.
Obtain an mpixel group $({p}_{1},{p}_{2},\dots ,{p}_{m})$ from ${I}_{c}$.  Step 4.
For $i=1$ to $m$ do Read $(i+1)$ secret bits from $S$; Obtain the $({2}^{i+1})$ary value ${b}_{i}$ of these bits. End For.  Step 5.
Compute $y={g}_{C}({p}_{1},{p}_{2},\dots ,{p}_{m})$ by Equation (5).  Step 6.
Compute an integer ${y}^{\prime}$ by CRT. First, establish Equation (6) by using ${b}_{1},{b}_{2},\dots ,{b}_{m}$ and ${q}_{1},{q}_{2},\dots ,{q}_{m}$. Finally, ${y}^{\prime}$ is computed by CRT as ${y}^{\prime}={\displaystyle \sum _{i=1}^{m}{M}_{i}}\cdot {M}_{i}^{\prime}\cdot {b}_{i}\mathrm{mod}{\displaystyle {\prod}_{i=1}^{m}{q}_{i}},$ where ${M}_{i}=\frac{{\displaystyle {\prod}_{i=1}^{m}{q}_{i}}}{{q}_{i}}$ and ${M}_{i}\cdot {M}_{i}^{\prime}\equiv 1(\mathrm{mod}{q}_{i}).$  Step 7.
Compute the difference ${D}_{C}=({y}^{\prime}y)\mathrm{mod}{\displaystyle {\prod}_{i=1}^{m}{q}_{i}}$.  Step 8.
Let the modification on ${p}_{i}$ be ${\epsilon}_{i}$ (${\epsilon}_{i}\in N$) and find the minimal solution ${\epsilon}_{1},{\epsilon}_{2},\dots ,{\epsilon}_{m}$ for Equation (7).  Step 9.
Compute the stego pixel ${p}_{i}^{\prime}={p}_{i}+{\epsilon}_{i}$ for $1\le i\le m$.  Step 10.
Go to Step 3 until all secret data is embedded.

From the above embedding process, it can be observed that the CRTEMD scheme has a very high embedding capacity since $(i+1)$ secret bits can be directly embedded into the ith cover pixel in a group. Now let us give a clear explanation for the embedding process of the CRTEMD scheme.
Given two grayscale pixels $(43,52)$ of a cover image and a binary secret data stream $S={(01100)}_{2}$, we will show how to embed $S$ into the above twopixel group using CRTEMD when $m=2$. Because $m=2$, the cover image is divided into nonoverlapping groups for embedding, each contains 2 pixels. Accordingly, the binary secret stream $S$ is divided into a 2bit segment ${b}_{1}$ and 3bit segment ${b}_{2}$, in which ${b}_{1}={(01)}_{2}=1$ and ${b}_{2}={(100)}_{2}=4$. Then, we select two coprime integers ${q}_{1}=5$ and ${q}_{2}=8$ and compute $y={g}_{C}({p}_{1},{p}_{2})=({p}_{1}\cdot {q}_{1}+{p}_{2}\cdot {q}_{2})\mathrm{mod}({q}_{1}\cdot {q}_{2})=(43\times 5+52\times 8)\mathrm{mod}(5\times 8)=31$ by Equation (5) (See Step 5). After that, we establish two equations ${y}^{\prime}\mathrm{mod}5=1$ and ${y}^{\prime}\mathrm{mod}8=4$ and compute ${y}^{\prime}=36$ by CRT. We then find the minimal solution $({\epsilon}_{1}=1,{\epsilon}_{2}=0)$ for the equation $5\cdot {\epsilon}_{1}+8\cdot {\epsilon}_{2}={D}_{C}=(3631)\mathrm{mod}(5\times 8)=5$ according to Step 8. Thus, we obtain stego pixels ${p}_{1}^{\prime}={p}_{1}+{\epsilon}_{1}=43+1=44$ and ${p}_{2}^{\prime}={p}_{2}+{\epsilon}_{2}=52+0=52$.
3.3. The Extracting Process
Detailed steps of the extracting process are provided in the following algorithm (Algorithm 5).
Algorithm 5 CRTEMD Extracting Algorithm. 
Input: stego image ${I}_{s}$ and a sequence of integers ${q}_{1},{q}_{2},\dots ,{q}_{m}$ Output: binary secret data stream $S$ Step 1.
Divide the cover image ${I}_{s}$ into nonoverlapping mpixel groups.  Step 2.
Obtain an mpixel group $\left({p}_{1}^{\prime},{p}_{2}^{\prime},\dots ,{p}_{m}^{\prime}\right)$ from ${I}_{s}$.  Step 3.
Compute ${y}^{\prime}={g}_{C}\left({p}_{1}^{\prime},{p}_{2}^{\prime},\dots ,{p}_{m}^{\prime}\right)$ by Equation (5).  Step 4.
Compute ${b}_{i}={y}^{\prime}\mathrm{mod}{q}_{i}$ and convert ${b}_{i}$ to $(i+1)$bit binary data for $1\le i\le m$.  Step 5.
Go to Step 2 until all stego pixel groups have been processed. The binary secret data stream $S$ is exactly retrieved by concatenating all binary data.

The extracting process implies that the extraction function constructed in the CRTEMD scheme is different from those in previous EMDtype schemes. The secret data is computed directly by the extraction function in existing schemes. In contrast, the value ${y}^{\prime}$ computed by the extraction function in Step 3 of CRTEMD is not the embedded secret data but just an intermediate. Then, the secret data ${b}_{i}$ is obtained by ${b}_{i}={y}^{\prime}\mathrm{mod}{q}_{i}$. This two layer embedding strategy can further increase the security. To extract the hidden data in the stego pixel pair $({p}_{1}^{\prime},{p}_{2}^{\prime})=(44,52)$, we first compute ${y}^{\prime}={g}_{C}({p}_{1}^{\prime},{p}_{2}^{\prime})=(44\times 5+52\times 8)\mathrm{mod}(5\times 8)=36$, and then obtain secret data ${b}_{1}={y}^{\prime}\mathrm{mod}{q}_{1}=36\mathrm{mod}5=1={(01)}_{2}$ and ${b}_{2}={y}^{\prime}\mathrm{mod}{q}_{2}=36\mathrm{mod}8=4={(100)}_{2}$.