Reversible data hiding(RDH) [barton1997method] is to embed secret message into sensitive cover medium(medical images, military images), these cover medium should be able to accommodate all secret message and not allow distortion, and more importantly, the cover medium can be perfectly recovered after extracting secret message, otherwise, serious consequences will be caused[zhang2011reversible]. Therefore, currently, RDH is mainly concerned with increasing embedding capacity and reducing distortion as much as possible[celik2006lossless, zhang2013recursive, ni2006reversible, li2013general, jia2019reversible, ou2019high, gao2020reversible]
. Classical RDH methods can be classified into three categories: (1)Histogram Shifting (HS)[ni2006reversible], (2) Difference Expansion(DE)[tian2003reversible, hu2008difference], (3) lossless compression[celik2006lossless, zhang2013recursive]. The RDH based on HS technology first obtain a histogram of the pixel distribution of the original image, and then embeds the secret message according to the zero or minimum point of the histogram. DE technology is to use integer wavelet transform to obtain the difference, and then expand the difference to reserve space for reversible information embedding. The RDH method based on lossless compression is the embedding of secret information without significant degradation of the original image[zhang2014efficient].
With the popularization of cloud services, users are often required to encrypt uploaded files, images , and other data for privacy protection, turning the original data into incomprehensible ciphertext data. Cloud servers need to directly embed time stamps and user identity information on ciphertext for ciphertext management. RDH-ED technology, which combines cryptography and RDH technology, comes into being and promotes the development and application of RDH technology. RDH-ED technology is to embed secret message on the cover medium such as the encrypted image, which requires that the receiver is able to extract secret message hidden in the cover medium without error and recover the original cover medium without loss. From the point of view of the encryption scheme, it can be divided into symmetric encryption and public-key encryption. RDH-ED method based on public-key encryption/homomorphic encryption can always retain the redundant space before and after encryption to achieve better ciphertext embedding performance. Homomorphic encryption technology allows direct operation (addition or multiplication) of data in the encrypted domain, and can directly manage the ciphertext in the encrypted domain. The operation result is equivalent to the direct operation in the plaintext domain, which has a good application prospect[zhang2015lossless, xiang2017reversible, zheng2019lossless]. [zhang2015lossless]proposed a encrypted domain data hiding scheme based on probabilistic and homomorphic properties of public-key cryptosystems. In [xiang2017reversible], the probabilistic and homomorphic properties of the Paillier cryptographic system is used to design a reversible data hiding scheme for encrypting images. The original image is first self-embedded in two parts and then encrypted. Homomorphic encryption focuses on the security of data storage. [zheng2019lossless] proposed that the lossless data hiding method of homomorphic encryption does not introduce distortion and has a high embedding rate in the process of data embedding. However, homomorphic encryption will produce a large number of file extensions and reduce the efficiency of computing. Symmetric encryption is an encryption algorithm in which information is encrypted and decrypted using the same secret key. It is fast for encryption and decryption and makes it more difficult for an attacker to crack a message when a data hider uses a long secret key. Symmetric encryption is divided into vacating room after encryption(VRAE)[zhang2011reversible, zhang2011separable, wu2014high, yin2016reversible, wu2019improved] and vacating room before encryption(RRBE)[ma2013reversible, cao2015high, yin2020reversible, yin2021reversible].[zhang2011reversible] proposed to first divide the image into non-overlapping blocks and then embed 1 bit of information by flipping three LSB of half of the pixels in the block. However, after the image is encrypted, the original correlation decreases, and the redundant space correspondingly decreases, which makes the embedding rate of this kind of method not very high.[ma2013reversible] first proposed to reserve space before encryption so as to retain the original relevance of the carrier. In this method, the LSB of some pixels of plaintext image is embedded into the other smooth pixels by histogram shifting method to reserve space for data hiding. As application scenarios change RDH is not only limited to the image as the carrier. The RDH technology
in two-dimensional vector graphics encryption is proposed in[peng2019reversible], which uses the real number reversible mapping model to achieve stable embedding capacity, and is the first vector watermarking scheme that can extract watermark information robustly from the clear domain and encrypted domain respectively. [xu2014data] proposed a new scheme to hide information directly in the encrypted H.264/AVC video streams.
Human digital perception and description of the physical world has gradually entered the era of 3D, and the wide application of 3D models has made it an ideal data hiding carrier. 3D mesh models are commonly used to represent virtual surfaces and volumes. In the past decade, 3D meshes are widely used in industrial, medical and entertainment fields, making 3D mesh research of great practical significance.[jiang2017reversible]
was the first to extend the reversible data hiding in encrypted images(RDH-EI) technique to 3D mesh models. This method inverts the last few bits of LSB embedded in the set vertex to embed 1bit of secret message, and uses the designed smoothing estimator for data extraction and mesh recovery. There is still a large space to improve the embedding rate, the quality of the restored mesh, and the accuracy of data extraction, which makes the method have some limitations in the application.[shah2018homomorphic] proposed a double-layer embedding scheme based on Paillier encryption. In the first layer, secret message is embedded by histogram translation. In the second layer, cloud administrators embed additional information by using self-blind property of Paillier cryptosystem. Applied Paillier cryptography encryption enhances the security of data hiding but neglected that this encryption method can lead to data expansion and high computational complexity. [yin2019separable] applied multi-MSB prediction method to 3D mesh models for the first time. Multi-MSB prediction is used to greatly improve the embedding capacity, but the redundant space of some vertices is not fully utilized. [tsai2020separable] proposed using spatial coding technology with the embedded threshold to embed additional information into encrypted vertices. Although the embedding capacity is improved compared with the previous method, there is a bit error rate of data extraction.
|Vertex list||Face information|
Research on reversible data hiding in encrypted domain based on 3D mesh model is still few, and there is still much room for improvement in this aspect. This paper proposed to divide all the vertex sets by using odd-even property and divide all the vertex sets into embedded set and prediction set. The “embedded set” is used to embed secret message, and the “prediction set” is used to restore the model. The maximum embeddable length of the embedded set vertices is recorded, and the embeddable space of each vertex is fully utilized. The method presented in this paper greatly improves the embedding capacity of 3D mesh models. The main contributions of our method are as follows.
1) We divide the vertices of the 3D mesh model into two sets: “embedded set” and “prediction set” based on the parity of the vertex index, these two sets can be crossed for multi-MSB prediction. This ensures that half of the vertices can be used to embed secret message.
2) Adaptively embedding all information into each vertex makes full use of the redundant space for each vertex, greatly increasing the embedded capacity.
3) In this paper, labels are used as auxiliary information to record the maximum embedded bit of each vertex, to reduce the space occupied by auxiliary information, so arithmetic coding is proposed to compress auxiliary information, greatly reserved more space to embed secret message.
The structure of this paper includes the following parts. In Section II, the detailed process of our proposed method is introduced. In Section III, we present the experimental results of our method. The paper concludes with a discussion in Section IV.
Ii Proposed Method
The proposed method involves the following phases: (1) The content owner encrypts the original model; (2) Data-hider embed secret message into the model; (3) The receiver extracts the secret message and restores origianl mesh model content. In order to describe our method more clearly, we present a framework to show the concrete process of our proposed method, as show in Fig.1. Section II-A describes the process of reserving space before encryption. The mesh model encryption process is shown in Section II-B. Section II-C describes the process of data embedding. The process of extracting and restoring mesh model by recipients with different keys is given in section II-D.
Ii-a Vacating room before encryption
In the method used in this paper, the original mesh model has to go through integer-mapping steps, the integer-mapping steps will be explained in detail in the following content.
A mesh model is a collection of faceted meshes whose goal is to form a proper approximation of a real 3D objective. It is nets of interconnected triangles. 3D mesh contains geometric and topological information. Geometrical information can represent the position and size of the model in space and topological information can represent the connectivity between the various parts of the model. For different application scenarios, 3D data is stored in a variety of data formats, including 3DS, OBJ, OFF, MD2, MD3, and In academic research, OFF and OBJ models are commonly used. This paper discusses the 3D mesh model in OFF format. It has three different combinative elements: vertices, edges, and faces. A 3D mesh model consists of important two sets of parameters: the set of vertices and the set of surfaces . TABLE I shows the data structure of triangular index. In the uncompressed mesh model, the coordinate value of each vertex is represented as a 32-bit floating point number, with six significant bits. [deering1995geometry] suggested that most applications of 3D mesh models should be performed at acceptable levels of precision, without the need to operate on every bit of floating point, and gave an algorithm for lossy compression of vertex data. We use the truncation function to truncate the part below the accuracy level. The positions of all vertices are normalized using a boundary box based on coordinate axes, and then the position coordinates are quantized uniformly to the accuracy of bits, so that the coordinates of each vertex can be expressed as integers between 0 and , empirically, , u is truncation coefficient, for each vertex of the mesh vertices, normalize it to , the normalization process can be expressed as
When restoring the mesh, we need to convert integer coordinates to the original floating-point form by
where represents the converted floating point coordinates. When converting floating point coordinates into integer coordinates, truncation coefficient affects the embedded capacity of the mesh model and the quality of mesh model recovery. The specific rules are as
L indicates the length of the binary bit stream.
Ii-A2 Prediction error bit detection scheme
We select a local area of a 3D mesh model, as is shown in Fig.2, all the vertices are divided into the “embedded set” and the “prediction set” according to the parity of each vertex index. We highlight the “embedded set” vertices with blue dots , and the red dots represent the vertices of the “prediction set” . 3D mesh model of vertex list and 3D mesh list is defined as I and F. In this paper, the vertices with odd index can be selected as the vertices, and the vertices with even indexes can be selected as the vertices, or the vertices with even indexes can be selected as vertices, and the vertices with odd index can be selected as vertices. is the set used to embed secret message, and the is used to predict the vertex coordinates of . In this paper, 3D mesh model vertices with odd index are selected as to introduce the method in detail. In the figure2 above, assume that vertex 3 is traversed firstly, , and the vertices of 1-ring neighborhood of vertex 3 has vertices 2, 4, 8, 9, 16, 17, and record neighbors of 3, select the vertices whose indexes are even and add them to . So the even index vertices 2, 4, 8, 16 are added to the “prediction set” , that is . It should be noted that these vertices are invariant during the information embedding process. In similarly, use numbers 8, 10, and 16 to predict vertex 17, one by one, until all the odd vertices in the have been predicted. Therefore, “embedded set” and “prediction set” are independent of each other, so the modification of the vertex coordinates in the embedded set do not affect the vertex coordinates in the prediction set. The two sets are independent of each other to ensure that the prediction of the “prediction set” to the vertex coordinates of the “embedded set” is the same in the process of data extraction and embedding, so that reversibility can be achieved.
The following sections describe the process of detecting prediction error bit in detail.
To make the prediction method used in this paper clearer, we take a specific example to illustrate. Depending on the relative proximity of vertices within the 1-ring neighborhood, the most significant bit has a higher correlation than the low significant bit, and in order to make better use of the vertex correlation, we propose to use multi-MSB prediction to detect where the prediction is wrong, thus reserving space to embed additional information. As shown in Fig.3, the x-axis coordinates of the vertex 3 in “embedded set” and the vertices in the 1-ring neighborhood are converted into a binary stream after integer-mapping according to the taken truncation coefficient u, the truncation coefficient u for this process is 5. In a 3D mesh model, the central vertex is closer to the vertices of its 1-ring neighborhood in space and has higher correlation. The content owner adds index 2, 4, 8, 16 vertices to the prediction set and counts their multi-MSB 0 bit and 1 bit, is the number of 0, is the number of 1. We determine the correctness of the prediction bits based on the majority criteria in the voting mechanism. The specific prediction rules are shown in
is the th bit value of the vertex being processed in “embedded set”. represents the number of prediction bit where the th bit is predicted to be 1, represents the number of prediction bit where the th bit is predicted to be 0. Namely, if the number of 1 bit predicted is greater than or equal to 0 bit, it means that the most significant bit of the currently embedded vertex is predicted to be 1; if the most significant bit of vertex 3 is consistent with the prediction result, it means that the prediction is correct; otherwise, it means that the prediction is wrong, and the prediction error bit is recorded. In Fig.3, the 23rd bit of vertex 3 is inconsistent with the predicted result, so the 23rd bit is the predicted error, and the position of the error is recorded with a label, that is, L
=23. Then the same operation is performed on the next most significant bit, and the same operation is performed in the order from the most significant bit to the least significant bit until the prediction error bit is detected. At this time, six-bits fixed-length code is used to record the error position and use it as auxiliary information. All label information is auxiliary information for the receiver to extract information and recover the cover medium. As part of the secret message, the auxiliary information is also embedded in the 3D mesh model and then sent to the receiver. However, fixed-length coding takes up a lot of redundant space, so arithmetic code is used in this paper to compress auxiliary information and reserve more space for embedding secret message. A 3D mesh model is cover medium in space. In the three-dimensional Cartesian coordinate system, each vertex is represented by coordinates of three directions. Assuming that, , and represent the maximum embedding length of the x-coordinate, y-coordinate, and z-coordinate, respectively, then the length of the embeddable secret message of this vertex is .
Ii-B 3D mesh model encryption
We choose the encryption key to generate a random cipher stream to encrypt the original 3D mesh model, and all vertices are converted to integers by integer-mapping. According to different truncation coefficients, integer coordinates are converted to the binary form of the corresponding length using
where ; is number of vertices and ; is the lower bound function. In order to improve the efficiency of the method, we use the stream cipher to encrypt the 3D mesh model. The encrypted coordinate bitstream is then converted into a floating form, and we have an encrypted 3D mesh model .
The content owner randomly generates key and encrypts 3D mesh model, as shown in
where is a binary random cipher stream generated with a secret key. is a generated ciphertext, and is an XOR operation.
Then the encrypted 3D mesh model can be expressed as follows,
where is the integer coordinates of the encrypted 3D mesh model, ; is the number of vertices. Encryption phase changes the values of the coordinates, but does not change the index of the mesh vertices.
Ii-C Data embedding in the encrypted 3D mesh model
After the prediction error bit detection, the generated auxiliary information records the length of secret message that can be embedded in each vertex, and data is embedded in the (n-1)-MSB of each vertex ((n-1) most significant bits can be used to embed secret message). Then use bit substitution to embed the secret message in the ”embedded set” vertices. The secret message is embedded according to the order of the vertices in , and the mesh coordinates after the marked 3D mesh model is obtained. The secret message is embedded by
Where, represents the integer vertex coordinate embedded with secret message, (0 or 1) represents the secret message, , represents the length of the coordinate converted into binary stream, is the integer coordinates of the encrypted mesh model, and n represents the label value, that is, the maximum length of the secret message that can be embedded in each vertex.
Ii-D Data extraction and mesh recovery
Before information embedding we need to classify all vertices into “embedded set” and “prediction set”. Similarly, after the legitimate receiver receives the marked 3D mesh model, it is also necessary to divide all vertices into “embedded set” and “prediction set”. The legitimate receiver first extracts the labels embedded in marked 3D mesh model, and then extracts secret message embedded in the mesh model based on the labels. For a receiver with different keys, they can extract information and reconstruct the original 3D mesh model.
If the receiver has only the data hiding key , the extracted encrypted secret message can be directly decrypted to obtain the plaintext secret message. The receiver extracts the secret message of the embedded bit corresponding to each vertex according to the auxiliary information. However, the original mesh model cannot be reconstructed because there is no encryption key for the mesh model.
If the receiver has only the mesh model encryption key , the original mesh model can be recovered with high quality. The receiver possesses the decryption key to decrypt the encrypted mesh model. However, in the information embedding process, the information is embedded at the vertices of “embedded set”, so the decrypted mesh model is still very different from the original mesh model. Since the vertices of the “embedded set” and the vertices of the “prediction set” are independent of each other, and the vertices coordinates of the “prediction set” are not changed in the information embedding phase, the vertices coordinates of the embedding set can be restored by using multi-MSB prediction. As shown in Fig.3, the (n-1) most significant bit of vertex 3 is used to embed secret message. (n-1) of vertex 3 can be accurately restored by vertex 2, 4, 8, 16 in the 1-ring neighborhood vertex 3. Without the need to extract the information of vertex 3 in advance.
If the receiver has both the data hiding key and the encryption key , the receiver can extract secret message and recover the original mesh model in high quality. The detailed steps are the same as above. It should be noted that the information extraction must be done before the mesh model is decrypted.
Iii Experimental Results
In this section, we will show the experimental results of this method. We will analyze the performance of the proposed method from the following aspects: visual quality, capacity,and the impact of threshold on embedded capacity and the quality of recovered original model. We tested on four 3D objects Beetle, Casting, Cow, Mushroom, Mannequin, Elephant shown in Fig.4 and also on e Princeton dataset [shilane2004princeton] to further verify the validity of the method. Embedding capacity and whether the cover medium can be recovered without loss are the key indicators of RDH technology in encrypted domain.
Iii-a Analysis of Security
In our method, the efficiency of the algorithm is taken into account, we encrypt the original 3D mesh model with a random cipher stream generated by a secret key. Most RDH-ED methods takes the image as the original cover medium and the image is vulnerable to statistical attack. The cover medium used in this paper is the mesh model, Fig.5 vividly shows the dispersion and irregularity of vertex distribution on the “Cow” model, there are no statistical features that can be easily detected by attacker. In addition, the proposed method has large key space. The key space of our proposed method is in theory, where is the number of vertices. This proves that our method can guarantee security to some extent.
Iii-B Visual quality of restored mesh model
Whether the original cover medium can be recovered lossless after the information is extracted is always an important problem of RDH technology in encrypted domain. As is shown in Fig.6, the appearance of the model at different phase of “Cow” is shown from left to right. It can be seen that the presented method can restore mesh model high quality, the human eye cannot perceive the changes between the restored mesh models and the original 3D mesh models.
In order to accurately measure the difference between the original mesh model and the restored mesh model, SNR and Hausdorff distance are proposed to perceive the distortion introduced in the information embedding process [deering1995geometry].
Hausdorff distance is the distance between two subsets of a metric space.
Where M and N represent two sets, and represents the Euclidean distance between any point m in set M and any point n in set N [shah2018homomorphic].
where , , are the mean coordinates of models, , , are the original coordinates of , and , , are the modified coordinates of . We selected four mesh models to test Hausdorff distance. Fig.7 shows the experimental results. According to Fig.7, it can be seen that the Hausdorff distance decrease as the truncation coefficient u increases, the closer the Hausdorff Distance is to 0, the higher the quality of the restoration of the mesh model. This shows that the truncation coefficient u has a great influence on the quality of mesh models restoration. This is because the truncation coefficient u determines the accuracy of the mesh model in the integer-mapping phase. The integer-mapping phase affects the operation of the mesh model in the subsequent phases. Fig.8 shows the trend of the SNR of the four test models, when choosing different truncation coefficient u. As the truncation coefficient u increases, the SNR tends to . Therefore, the method in this paper can restore the mesh model with high quality as long as the appropriate truncation coefficient is selected.
Iii-C Analysis of embedding capacity
|Test Models||Total EC(bit)||Label Length(bit)||ER(bpv)|
Not just “Cow” model, TABLE II shows the embedding capacity and space occupied by auxiliary information on other different test 3D mesh models. Fig.11 shows the test results on the Princeton dataset. As we can see, the embedding rate of the method we proposed has significantly improved compared to state-of-the-art method. Compared with [yin2019separable], the embedding rate of our proposed method is improved by 11.40 bpv. [jiang2017reversible] embed 1 bit information by flipping last few bits of LSB of the encrypted vertices, so the utilization rate of vertices is low and the embedding capacity is also low. Later, [shah2018homomorphic] proposed a two-layer embedding scheme based on homomorphic encryption. The first layer of embedding uses the extended histogram translation method, so that each vertex can embed 3 bits of information, and the second layer of embedding based on the self-blinding of Paillier cryptosystem. Each vertex can also embed 3 bits of secret message. [yin2019separable] is first to propose multi-MSB prediction RDH on 3D mesh models, greatly exploring the correlation of multi-MSB. Therefore, the embedding capacity is greatly improved. [tsai2020separable] proposed to use spatial subdivision technology to process the mesh model into a series of blocks, and then use spatial coding to embed secret message into the encrypted mesh vertex. Embedding capacity depends on the selection of embedding threshold. We proposed a high capacity RDH method based on multi-MSB prediction, which adaptively embeds secret message according to the different embedding capability of each vertex. Therefore, the embedding capacity of the proposed method is superior to other methods. We also explored the correlation between truncation coefficient u and embedding rate, as shown in Fig.9, We selected four models for testing. We can clearly see that, when u=4, the embedding capacity fluctuates greatly. We can explain this result as follows. According to Eq.(3), when the truncation coefficient u=3 or 4, the vertex coordinates of the mesh model are represented by 16-bit binary stream. When u=4, the multi-MSB correlation decreases, but the space occupied by auxiliary information decreases less, leading to a significant decrease in embedding rate. When the truncation coefficient u=5, the mesh model is represented by 32-bit binary stream, and the multi-MSB correlation is greatly improved, and the space occupied by auxiliary information increases slightly, so the embedding capacity is significantly improved. When the truncation coefficient u is greater than 5, the high correlation decreases gradually, and so does the embedding capacity. TABLE III shows the change of embedding capacity before and after using arithmetic coding to compress auxiliary information. We can see that using arithmetic coding to compress auxiliary information increases the available space for embedding more additional information, thus increasing the embedding capacity.
Iii-D Performance comparison with state-of-the-art methods
TABLE IV is the results of the comparison of the performance of the method in this paper and state-of-the-art method. [jiang2017reversible] converted the decimal vertex coordinates into integers through pre-processing, and then converted them into binary
|Error-free in data extraction||No||Yes||Yes||Yes||Yes|
|Lossless recovery model||No||Yes||Yes||No||Yes|
forms. By flipping the bit LSB, the secret message “0” or “1” was embedded into the coordinates of encrypted vertices, and the smooth function that measures fluctuations is used to evaluate the change of the mesh model smoothness caused by information embedding, and the local surface smoothness of 3D mesh model is used to extract information and restore original mesh model. There is still a large space to improve the embedding rate, the quality of the restored mesh models, and the accuracy of data extraction. [shah2018homomorphic] proposed a double-layer embedding scheme based on Paillier encryption. Embedding rate up to 6 bpv. It is proposed to extend the information bits in least significant part, thereby embedding secret message by slightly modifying the vertices. Pailliar homomorphic cryptosystem encrypted 3D mesh models will cause data expansion and high computational complexity. This limits the practical application of the method. [tsai2020separable] proposed using spatial coding technology with embedded threshold to embed secret message into encrypted vertices. firstly, get a ratio by the distance between the vertex and minimum boundary point to the side length of the bounding volume. Then instead of directly encrypting the mesh model vertex coordinates, encrypt the ratio already obtained. The embedding capacity is improved compared with the previous method. However, some information extraction errors may occur when extracting information. [yin2019separable] using multi-MSB prediction greatly improves the embedding capacity. However, the redundant space of vertices is not fully utilized. When choosing different truncation coefficient , some vertices will be discarded accordingly. Our method has low computational complexity, can accurately extract secret information and restore the original carrier model without loss. Most importantly, the embedding capacity of our method is significantly higher than that of other methods. In this paper, we divide the “embedded set” and “prediction set” according to the parity of the mesh vertex index, which ensure that nearly half of the vertices are used to embed secret message. We adaptively embed information into the vertices of “embedded set”, which further improves the embedding capacity of the mesh model. In addition, We use arithmetic coding to effectively compress the auxiliary information. That leaves a lot of room for embedding secret message, which is conducive to the improvement of the embedding rate.
In this paper, to ensure the maximum number of information vertices that can be embedded, we divide the embedding set and the prediction set according to the parity of the vertex index to ensure that at least half of the vertices can be used to embed secret message. We use labels to record the embedding length of the vertices of the embedding set, which can adaptively embed information into each vertex, making full use of the correlation of the vertex’s multi-MSB. In addition, arithmetic coding is proposed to compress auxiliary information so as to reduce the space occupation of auxiliary information, thereby freeing up more space.
In the next step, we will explore better mesh traversal methods to reduce the time consumed by mesh traversal in this paper. In addition, our method is not a separable RDH in the encrypted domain. In other words, our method cannot make data extraction and mesh recovery independent of each other. We will design a more superior method to achieve separability. That is, decrypt the ciphertext to obtain the plaintext containing secret message which can be carried out separately in the clear domain, data extraction or reversible recovery.
The authors would like to thank the anonymous referees for their valuable comments and suggestions. This research work is partly supported by National Natural Science Foundation of China (62172001,61872003).