Introduction

For one thing, the image processing software has been upgraded with time going by, and it is becoming more and more powerful, humanized and popular. For another image integrity authentication resulting from more frequent modifications on images has aroused concerns since 2000. Maliciously modified images would lead to serious consequences. For example, misdiagnose will happen if the medical images are modified. Many pioneers have explored the methods of dealing with the problem of image modification.

The existing authentication methods can be classified into two groups: digital signature-based methods [13] and fragile watermarking-based methods [47]. In the digital signature-based methods, signature is kept by third party. The signature extracted from image will be compared with the signature kept by third party to detect the integrity of image. The fragile watermarking can be divided into semi-fragile watermarking and complete fragile watermarking. The semi-fragile watermarking is robust to some processes and can distinguish usual signal processing and malicious tampering. Nevertheless, semi-fragile watermarking is insensitive to tampering. By contrast, complete fragile watermarking is sensitive to tampering. Any image modification can be detected by complete fragile watermarking. So complete fragile watermarking is suitable for precise authentication.

Information hiding methods in image spatial domain [8, 9] are different form robust watermarking methods. They are not able to resist any modification, thus belong to complete fragile watermarking. Correct data cannot be extracted from a marked image if pixels’ value of the marked image has been changed. The data hiding methods could be used in image authentication can be divided into irreversible methods, such as [10, 11], and reversible methods, such as [1220]. Most of the current image integrity authentication methods adopt irreversible data hiding to embed authentication codes. Two evaluation criteria are applied to assess image integrity authentication methods: detection accuracy and image quality. Irreversible methods modify pixels’ values of a host image to embed data, and the image quality and detection accuracy are high. However, irreversible methods bring damages to the host image in itself and the host image cannot be recovered after data embedding. On the contrary, reversible methods can reconstruct the host image error-free. The common techniques of reversible data hiding methods can be divided into two categories: histogram shifting [1217] and difference expansion [18, 19]. The main idea of shifting-based reversible data hiding is modifying the pixels between peak point and zero point of histogram produced by image to embed data into peak point. The image quality and embedding capacity of shifting-based reversible method are acceptable. In 2013, pixel value ordering (PVO) [14] was proposed by Li et al. [14]. In PVO, host image is divided into non-overlapping blocks. Histograms are produced by the difference between the largest value and the second-largest value, and between the smallest value and the second-smallest value of each block. The largest value and the smallest value of each block are modified to embed data. PVO achieves high embedding capacity with high image quality, but it does not take advantage of image’s redundancy space fully. In 2014, Peng et al. [15] improved PVO by utilizing more peak points. Higher embedding capacity and better image quality are achieved. In 2015, Wang et al. [16] made a further improvement with dynamic block partition.

Since it can detect whether image is modified, locate the tampered areas, and recover the host image accurately, reversible data hiding-based authentication methods are desired in our time. Unlike irreversible authentication methods, reversible authentication methods can recover the host image after extracting authentication codes, which is not only applicable to medical images and some other images requiring image integrity, but also suitable for any case where host images need to be recovered after integrity detecting.

However, most of the image authentication schemes proposed so far employed the irreversible data hiding approach and the detection accuracy and image quality of the published few reversible authentication methods are not satisfactory. Last year, Lo and Hu [7] proposed a histogram sifting-based reversible image authentication scheme for digital images, which makes full use of the poor robustness of spatial domain data hiding, and embeds authentication codes into host image to get a marked image. Then integrity of marked image can be detected according to the integrity of extracted data. To improve the detection accuracy as well as marked image quality based on [7], an improved reversible image authentication method based on Hilbert Curve mapping is proposed in this paper. In the first place, pixels are mapped to a one-dimensional vector by using Hilbert Curve, and divided into non-overlapping sets. Then, authentication codes can be embedded into each set by reversible data hiding approach. After comparing the extracted bits with the original authentication codes, the image set could be taken as modified one or unmodified one. Because image redundancy can be explored more fully and more flexibly by adopting Hilbert Curve mapping, more authentication codes can be embedded into the host image while leaving less distortion. Thus, both the detection accuracy and the marked image quality can be improved. Compared with the latest development of reversible image authentication [7], the experimental results demonstrate significant improvement in terms of detection accuracy and image quality. The following section is the details of the proposed method. The third section is experimental results and conclusion is made in the fourth section.

Proposed Method

In this part, the details of the proposed method are depicted. The proposed method includes three parts: authentication codes embedding, tamper detection and image recovery, and refinement process. Pre-arranged authentication codes are embedded into a host image to obtain the corresponding marked image. Receiver can detect integrity of the marked image by comparing extracted bits with pre-defined authentication codes. Actually, it is important that how to embed the location map for solving overflow and underflow problem. This is also a common issue for all of the reversible data hiding methods and has been addressed in the original reversible image authentication scheme proposed in Ref. [7]. Because it has nothing to do with the improvement of detection accuracy and image quality, no modification of this part is made in this paper.

Authentication Codes Embedding

In the proposed method, several bits authentication codes need to be embedded into each set. We make an improvement reversible data hiding method based on [16] and adopt it to embed authentication codes. In the first place, a host image is visited with Hilbert Curve (as shown in Fig. 1) and divided into non-overlapping sets. After that, each set are dynamically partitioned according to two pre-defined thresholds \(T_{1} ,T_{2} ( - 1 \le T_{1} \le T_{2} \le 255)\). Then authentication codes will be embedded with two difference histograms. The detailed embedding procedure is presented step by step in the following.

Fig. 1
figure 1

Visit image with Hilbert Curve

  • Step 1: (Image partition)

Visit the host image sized \(H \times W\) with Hilbert Curve and divide all the pixels into non-overlapping sets with L pixels.

  • Step 2: (Authentication codes generating)

Pseudorandom binary bits \(B = \{ b_{i} |b_{i} = 0\,{\text{or}}\,1,\quad i = 1,2,3, \ldots \}\) produced by secret key are used for authentication codes. The length of B is \(\left\lfloor {H \times W/L} \right\rfloor\) so that one bit authentication code corresponds to one set.

  • Step 3: (Authentication codes embedding)

According to pre-defined two thresholds \(T_{1} ,_{{}} T_{2}\), embed the copies of i-th authentication code b i into the i-th set as following. Please note that, the copies of \(b_{i}\) would be embedded in the i-th set. It must be admitted that the embedding capacity of reversible method is far lower than irreversible method. \(\exists_{{}}^{{}} i\), the i-th set is not embeddable, then \(b_{i}\) will be skipped, and \(b_{i + 1}\) will be embedded into the (i + 1)-th set.

Given the i-th set \(X_{i} = \{ x_{1} , \ldots ,x_{L} \}\) containing L pixels, in order to evaluate the complexity NL of it, \(X_{i}\) is divided into four subsets \(X_{i}^{n} = \left\{ {x_{1}^{n} , \ldots ,x_{L/4}^{n} } \right\},\quad n = 1,2,3,4\). Sort these subsets in ascending order:

$$X_{i}^{1} = \left\{ {x_{\sigma (1)}^{1} ,\;x_{\sigma (2)}^{1} , \ldots ,x_{\sigma (L/4)}^{1} } \right\}$$
$$X_{i}^{2} = \left\{ {x_{\sigma (1)}^{2} ,\;x_{\sigma (2)}^{2} , \ldots ,x_{\sigma (L/4)}^{2} } \right\}$$
$$X_{i}^{3} = \left\{ {x_{\sigma (1)}^{3} ,\;x_{\sigma (2)}^{3} , \ldots ,x_{\sigma (L/4)}^{3} } \right\}$$
$$X_{i}^{4} = \left\{ {x_{\sigma (1)}^{4} ,\;x_{\sigma (2)}^{4} , \ldots ,x_{\sigma (L/4)}^{4} } \right\}$$

Here \(\sigma\) is a function mapping \(\left\{ {1, \ldots ,k} \right\}\) to \(\left\{ {1, \ldots ,k} \right\}\) and \(x_{\sigma (i)} \le x_{\sigma (j)}\) if \(i < j\). NL is obtained according to the following equation:

$${\text{NL}} = \hbox{max} \left\{ {x_{\sigma (L/4 - 1)}^{1} ,x_{\sigma (L/4 - 1)}^{2} ,x_{\sigma (L/4 - 1)}^{3} ,x_{\sigma (L/4 - 1)}^{4} } \right\} - \hbox{min} \left\{ {x_{\sigma (2)}^{1} ,x_{\sigma (2)}^{2} ,x_{\sigma (2)}^{3} ,x_{\sigma (2)}^{4} } \right\}$$
(1)
  • Case 1 If \({\text{NL}} \le T_{1}\), \(X_{i}\) would be considered as a flat set and subdivided into four subsets with \({L \mathord{\left/ {\vphantom {L 4}} \right. \kern-0pt} 4}\) pixels to embed codes;

  • Case 2 If \(T_{1} < {\text{NL}} \le T_{2}\), \(X_{i}\) would be taken as normal block with no partition to embed code;

  • Case 3 If \(T_{2} < {\text{NL}}\), \(X_{i}\) would be omitted in embedding procedure as a rough set

After dynamic partition, \(X_{i}\) will remain unchanged or be subdivided into 4 sets, namely the length of the set is \(L\) or \({L \mathord{\left/ {\vphantom {L 4}} \right. \kern-0pt} 4}\). The flat set and normal set are possible to embed data, we define those dynamically partitioned sets as \(X^{\prime}_{i}\). Then sort \(X^{\prime}_{i}\) in ascending order and calculate \(d_{\hbox{max} }\), the difference between the largest value and the second-largest value of \(X_{i}^{\prime }\), as Eq. (2).

$$d_{\hbox{max} } = x_{u} - x_{v} \quad {\text{where}}\;\left\{ \begin{aligned} u = \hbox{min} \left( {\sigma (\xi ),\sigma (\xi - 1)} \right) \hfill \\ v = \hbox{max} \left( {\sigma (\xi ),\sigma (\xi - 1)} \right) \hfill \\ \end{aligned} \right.\quad {\text{and}}\quad \xi \,\,{\text{is}}\,{\text{the}}\,{\text{length}}\,{\text{of}}\,X_{i}^{\prime }$$
(2)

All \(d_{\hbox{max} }\) in the whole image constitute a difference histogram. On account of most \(d_{\hbox{max} }\) are 0 and 1 in images [16], take bin 1 and bin 0 acquiescently as the peak points of difference histogram to embed data. Histograms are shifted and the i-th authentication code \(b_{i}\) can be embedded in the set by the following equation:

$$\tilde{x}_{\sigma (\xi )} = \left\{ \begin{aligned} x_{\sigma (\xi )} + b_{i} ,\quad {\text{if}}\;d_{\hbox{max} } = 1\;{\text{or}}\;d_{\hbox{max} } = 0 \hfill \\ x_{\sigma (\xi )} + 1,\quad {\text{if}}\;d_{\hbox{max} } > 1\;{\text{or}}\;d_{\hbox{max} } < 0 \hfill \\ \end{aligned} \right.\quad {\text{where}}\;\xi \;{\text{is}}\,{\text{the}}\,{\text{length}}\,{\text{of }}X_{i}^{\prime }$$
(3)

Similarly, \(d_{\hbox{min} }\), the difference between the smallest value and the second-smallest value of \(X_{i}^{\prime }\), can constitute another histogram. And the i-th authentication code \(b_{i}\) can be embedded once more.

$$d_{\hbox{min} } = x_{s} - x_{t} \quad {\text{where}}\;\left\{ \begin{aligned} s = \hbox{min} \left( {\sigma (1),\sigma (2} \right) \hfill \\ t = \hbox{max} \left( {\sigma (1),\sigma (2)} \right) \hfill \\ \end{aligned} \right.$$
(4)
$$\tilde{x}_{\sigma \left( 1 \right)} = \left\{ \begin{aligned} x_{\sigma \left( 1 \right)} - b_{i} ,\quad {\text{if}}\;d_{\hbox{min} } = 1\;{\text{or}}\;d_{\hbox{min} } = 0 \hfill \\ x_{\sigma \left( 1 \right)} - 1,\quad {\text{if}}\;d_{\hbox{min} } > 1\;{\text{or}}\;d_{\hbox{min} } < 0 \hfill \\ \end{aligned} \right.$$
(5)

Until now, the authentication codes are embedded.

  • Step 4: (Marked image generating)

Hereto, the marked image \(\tilde{I}\) with authentication codes can be obtained by utilizing an inverse process of Hilbert Curve visiting.

Tamper Detection and Image Recovery

In tamper detection procedure, authentication codes \(B = \left\{ {b_{i} |b_{i} = 0\,{\text{or}}\,1,\;i \in N} \right\}\) are generated by the same secret key used in Sect. 2.1 and are consistent with the authentication codes embedded in the embedding procedure. If the bits extracted from the marked image are the same as \(B\), this image is regarded as an integral one; otherwise, this image is regarded as a tampered one. The specific tamper detection and image recovery procedure is presented in the following.

  • Step 1 Evaluate the complexity NL of the i-th set \(\tilde{X}_{i} = \left\{ {x_{1} , \ldots ,x_{L} } \right\}\) based on Eq. (1).

  • Step 2 Partition \(\tilde{X}_{i}\) dynamically according to the thresholds \(T_{1} ,_{{}} T_{2}\) used in the embedding procedure to obtain \(\tilde{X}_{i}^{\prime }\) and Sort \(\tilde{X}_{i}^{\prime }\) in ascending order.

  • Step 3 Generating difference histogram constituted by all \(d_{\hbox{max} }\) in \(\tilde{I}\).

  • Step 4 The code \(\tilde{b}_{i}\) is extracted from the set according to the following equation:

    $$\tilde{b}_{i} = \left\{ {\begin{array}{*{20}l} {0,\quad {\text{if}}\;d_{\hbox{max} } = 1\;{\text{or}}\;d_{\hbox{max} } = 0} \hfill \\ {1,\quad {\text{if}}\;d_{\hbox{max} } = 2\;{\text{or}}\;d_{\hbox{max} } = - 1} \hfill \\ \end{array} } \right.$$
    (6)
  • Step 5 Image recovery according to the following equations:

    $$x_{\sigma \left( \xi \right)} = \left\{ {\begin{array}{*{20}l} {\tilde{x}_{\sigma \left( \xi \right)} ,\quad \quad \;{\text{if}}\;d_{\hbox{max} } = 1\;{\text{or}}\;d_{\hbox{max} } = 0} \hfill \\ {\tilde{x}_{\sigma \left( \xi \right)} - 1,\quad {\text{if}}\;d_{\hbox{max} } > 1\;{\text{or}}\;d_{\hbox{max} } < 0} \hfill \\ \end{array} } \right.,\quad \xi \;{\text{is}}\,{\text{the}}\,{\text{length}}\,{\text{of}}\;\tilde{X}_{i}^{\prime }$$
    (7)
  • Step 6 Authentication codes extraction and image recovery from difference histogram constituted by all \(d_{\hbox{min} }\):

    $$\tilde{b}_{i} = \left\{ \begin{aligned} 0,\quad {\text{if}}\;d_{\hbox{min} } = 1\;{\text{or}}\;d_{\hbox{min} } = 0 \hfill \\ 1,\quad {\text{if}}\;d_{\hbox{min} } = 2\;{\text{or}}\;d_{\hbox{min} } = - 1 \hfill \\ \end{aligned} \right.$$
    (8)
    $$x_{\sigma \left( 1 \right)} = \left\{ \begin{aligned} \tilde{x}_{\sigma \left( 1 \right)} ,\quad {\text{if}}\;d_{\hbox{min} } = 1\;{\text{or}}\;d_{\hbox{min} } = 0 \hfill \\ \tilde{x}_{\sigma \left( 1 \right)} + 1,\quad {\text{if}}\;d_{\hbox{min} } > 1\;{\text{or}}\;d_{\hbox{min} } < 0 \hfill \\ \end{aligned} \right.$$
    (9)

    Authentication codes \(\tilde{B} = \left\{ {\tilde{b}_{i} ,i = 1, \ldots ,\left\lfloor {H \times W/L} \right\rfloor } \right\}\) can be completely extracted with data extraction method mentioned above one by one. It is easy to make out that 8 bit codes \(\tilde{B}_{i} = \left\{ {\tilde{b}_{i}^{n} ,n \le 8,n \in N_{ + } } \right\}\) at most can be extracted from \(\tilde{X}_{i}\), and no data can be extracted at worst.

  • Step 7 Tamper detection. The i-th set will be regarded as an unmodified set if \(\tilde{b}_{i}^{1} = \cdots = \tilde{b}_{i}^{n} = b_{i} ,\quad n \le 8\); otherwise, it will be regarded as a tampered set if \(\exists \tilde{b}_{i}^{n} \ne b_{i} ,n \le 8\). If \(\tilde{B}_{i} = \emptyset\), which is possible to happen, the i-th set will be treated as an unmodified one for the time being and handled in the refinement process later. Host image can be recovered without any error with location map if the image is integral.

Refinement Process

L pixels in marked image are segmented into one set. Some sets cannot be detected because no code is embedded in them. In addition, it is true that the codes extracted from tampered areas are precisely the same as authentication codes in some cases. On account of two special cases above, refinement process is adopted to deal with the initial detection results in Sect. 2.2.

The shape of the set is likely to be irregular after dividing using Hilbert curve. We use square block to count the modified block or unmodified block. In one square block, if unmodified pixels are more than modified pixels, that block is taken as unmodified block, or else that block is taken as a modified block.

To refine preliminary detection in Sect. 2.2, an unmodified block is regarded as a modified one if above adjacent set and below adjacent set are tampered sets. In a similar way, an unmodified set will be treated as a modified one if the adjacent right and left sets, upper right and bottom left sets, or upper left and bottom right sets are tampered sets. Conduct repeatedly the above refinement processing until no unmodified set becomes modified set after a round, then tampered areas is located. Experimental results show that, with above procedure, tampered area can be located accurately.

Experimental Results

In this part, all experiments are performed with MATLAB. Nine commonly used grayscale images sized \(512 \times 512\) are adopted here. They are: Lena, Peppers, Sailboat, Tiffany, Plane, Boat, Baboon, Splash and Man, as show in Fig. 2.

Fig. 2
figure 2

Nine test grayscale images. a Lena, b Peppers, c Sailboat, d Tiffany, e Plane, f Boat, g Baboon, h Splash, i Man

Two commonly used evaluation criteria for authentication methods are detection accuracy and marked image quality. In this paper, peak signal-to-noise ratio (PSNR) defined as Eqs. (10)–(11) is used to evaluate the marked image quality:

$${\text{MSE}} = \frac{1}{H \times W}\sum\limits_{i = 1}^{H\, \times \,W} {(I_{i} - \tilde{I}_{i} )^{2} }$$
(10)
$${\text{PSNR}} = 10\log_{10} \frac{{255^{2} }}{\text{MSE}}({\text{dB}})$$
(11)

where \(H \times W\) is the image size, \(I_{i}\) and \(\tilde{I}_{i}\) is the i-th pixel of the host image and the marked image, respectively. The unit of PSNR is dB. The higher PSNR is, the better the marked image quality is. The average PSNR of the marked image generated by the proposed method is above 50 dB in general, which is higher than that of 48.75 dB in method [7].

Except for image quality, detection accuracy is another and more important evaluation criterion for authentication methods. The mechanism of the two image authentication methods proposed by [7] and this paper are the same: authentication codes are embedded into host images so that the codes can be extracted from the marked images and compared with the original bits to detect image integrity. So the detection accuracy depends much on authentication codes embedding. If we intend to detect the integrity of some areas, authentication codes must have been embedded into those areas. However, the capacity of reversible authentication methods is limited. Some areas of image are not embeddable, so the embedding blind area exists. It can confirm that detection accuracy of reversible authentication would enhance if the embedding blind areas decrease.

In Fig. 3, the embeddable areas of Lena in the proposed method are given with \(L = 16\). Sixteen pixels in two-dimensional image are located in a \(4 \times 4\) block, similarly hereinafter. If a block is embeddable, in other words, at least 1 bit data can be embedded in this block, it is colored with white, or else black. In Fig. 3 (a) is the embeddable areas when \(T_{1} = 40,\quad T_{2} = 48,\quad {\text{PSNR}} = \,52.36\,{\text{dB}}\), (b) is the embeddable areas when \(T_{1} = 60 ,\quad T_{2} = 100 ,\quad {\text{PSNR}} = 52.09\,{\text{dB}}\), and (c) \(T_{1} = 255,\quad T_{2} = 255,\quad {\text{PSNR}} = 51.84\,{\text{dB}}\). It is obvious that as threshold \(T_{1} ,_{{}} T_{2}\) increase, image quality decreases, but embeddable areas increase, and blind areas decrease.

Fig. 3
figure 3

The embeddable areas of Lena in the proposed method. a \(T_{1} = 40,\quad T_{2} = 80,\quad {\text{PSNR}} = 52.36\,{\text{dB}}\), b \(T_{1} = 60,\quad T_{2} = 100,\quad {\text{PSNR}} = 52.09\,{\text{dB}}\), c \(T_{1} = 255,\quad T_{2} = 255,\quad {\text{PSNR}} = 51.84\,{\text{dB}}\)

To test the detection accuracy of the proposed method, a flower is added to Lena’s hat, as show in Fig. 4a. The corresponding tampered area of Fig. 4a is shown in Fig. 4b, and the black area in Fig. 4b is the modified area. Figure 3a–c are modified as Fig. 4a, and corresponding preliminary detection results are shown in Fig. 5a, d, g. The black blocks in Fig. 5a, d, g are the tampered blocks whose extracted codes are distinct from authentication codes. The white blocks in Fig. 5a, d, g are not tampered blocks or blocks without data extraction.

Fig. 4
figure 4

Tampered Lena. a A flower added to Lena’s hat, b Tampered area of (a)

Fig. 5
figure 5

Tamper detection results. a, d, g are the preliminary detection results, b, e, h are the final detection results of a, d, g, and d, f, i are the detection error of b, e, h

According to Fig. 5a, d, g, it is not hard to know that, with the increasing of threshold, the embeddable areas increase and the blind areas decrease so that the accuracy of preliminary detection is enhanced. Preliminary detection is a rough reflection of tampered areas, but not accurate enough. Figure 5a, d, g is processed further with method in Sect. 2.3, and the corresponding results are shown in Fig. 5b, e, h. It is clear that the detection results of Fig. 5b, e, h are more accurate than Fig. 5a, d, g. As a result, Sect. 2.3 is estimation of tampered area on the basis of preliminary detection. The difference between estimated tampered areas and genuine tampered areas exists. In Fig. 5c, f, i, the difference between the final authentication results in Fig. 5b, e, h and genuine tampered areas is given. The black blocks in Fig. 5c, f, i are the authentication error of the proposed method. Likewise, it can be concluded that authentication accuracy increase with the augment of embeddable areas.

Furthermore, to make comparison of detection accuracy with Lo and Hu’s method [7], the statistic of block that is not embeddable is shown as Table 1. In Table 1, the first row is the amount of block that is not embeddable in the proposed method, and the second row is that of Lo and Hu’s method [7]. The proposed method produces fewer blind areas than Lo and Hu’s method in nine test images, as shown in the third row. Tables 2 and 3 are the number of image blocks with different embeddable bits and theoretical average error rate of proposed method and [7]. If one block is modified, the error rate of block without extracted codes is 1, the error rate of block with n authentication codes is \((1/2)^{n}\). It is obvious that the average error rate of proposed method is lower than [7].

Table 1 Amount of non-embeddable block of the proposed method and Lo and Hu’s method in nine test images
Table 2 Total number of the image blocks with different embeddable bits t and the theoretical average error rate of the proposed method with \(T_{1} = T_{2} = 256\), and average PSNR = 51.82 dB
Table 3 Total number of the image blocks with different embeddable bits t and the theoretical average error rate of the [7], average \({\text{PSNR}} = 48.75\,{\text{dB}}\)

The embeddable area of the proposed method and Lo and Hu’s method in Lena, Peppers, Plane, Boat, and Splash are shown in Fig. 6. Respectively, the embeddable area of the proposed method are shown in Fig. 6a, c, e, g, i, and the embeddable area of Lo and Hu’s method are shown in Fig. 6b, d, f, h, j. It can be observed with naked eye that the black blocks in Fig. 6a, c, e, g, i are fewer than b, d, f, h, j. The increase in embeddable areas and decrease in blind areas ensure the enhancement of detection accuracy.

Fig. 6
figure 6

Comparison of embeddable area between the proposed method and [7]. a, b Lena, c, d Peppers, e, f Plane, g, h Boat, i, j Splash. a, c, e, g, i are generated by the proposed method with average \({\text{PSNR}} = 51.82\,{\text{dB}}\), b, d, f, h, j are generated by Lo and Hu’s method with average \({\text{PSNR}} = 48.75\,{\text{dB}}\)

Conclusion

In this paper, an improved reversible image authentication method is proposed. With the purpose of improving the detection accuracy as well as marked image quality, Hilbert Curve is adopted to visit the image and map all pixels to a one-dimensional vector. By embedding authentication codes into each non-overlapping set and comparing the extracted bits with the original authentication codes, the image set could be taken as modified one or unmodified one. Because image redundancy can be explored more fully and more flexibly by adopting Hilbert Curve mapping, more authentication codes can be embedded into the host image while leaving less distortion. As the experimental results suggest, compared with Lo and Hu’s reversible authentication method, the proposed method achieves better image quality, fewer blind areas, and higher detection accuracy.