Next Article in Journal
A Multivariate Approach to Determine the Dimensionality of Human Facial Asymmetry
Next Article in Special Issue
Symmetric Modeling of Communication Effectiveness and Satisfaction for Communication Software on Job Performance
Previous Article in Journal
Efficient Oxidative Resolution of 1-Phenylphosphol-2-Ene and Diels–Alder Synthesis of Enantiopure Bicyclic and Tricyclic P-Stereogenic C-P Heterocycles
Previous Article in Special Issue
A Matching Pursuit Algorithm for Backtracking Regularization Based on Energy Sorting
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Homomorphic Encryption-Based Robust Reversible Watermarking for 3D Model

1
Department of Computer Science, Hangzhou Dianzi University, Hangzhou 330018, China
2
Collage of Science and Technology, Ningbo University, Ningbo 315000, China
3
Department of Computer Science, University of Warwick, Coventry CV47AL, UK
*
Author to whom correspondence should be addressed.
Symmetry 2020, 12(3), 347; https://doi.org/10.3390/sym12030347
Submission received: 31 January 2020 / Revised: 19 February 2020 / Accepted: 21 February 2020 / Published: 1 March 2020
(This article belongs to the Special Issue Selected Papers from IIKII 2019 conferences in Symmetry)

Abstract

:
Robust reversible watermarking in an encrypted domain is a technique that preserves privacy and protects copyright for multimedia transmission in the cloud. In general, most models of buildings and medical organs are constructed by three-dimensional (3D) models. A 3D model shared through the internet can be easily modified by an unauthorized user, and in order to protect the security of 3D models, a robust reversible 3D models watermarking method based on homomorphic encryption is necessary. In the proposed method, a 3D model is divided into non-overlapping patches, and the vertex in each patch is encrypted by using the Paillier cryptosystem. On the cloud side, in order to utilize addition and multiplication homomorphism of the Paillier cryptosystem, three direction values of each patch are computed for constructing the corresponding histogram, which is shifted to embed watermark. For obtaining watermarking robustness, the robust interval is designed in the process of histogram shifting. The watermark can be extracted from the symmetrical direction histogram, and the original encrypted model can be restored by histogram shifting. Moreover, the process of watermark embedding and extraction are symmetric. Experimental results show that compared with the existing watermarking methods in encrypted 3D models, the quality of the decrypted model is improved. Moreover, the proposed method is robust to common attacks, such as translation, scaling, and Gaussian noise.

1. Introduction

Due to the development of outsourced storage in the cloud, reversible watermarking in an encrypted domain has been developed for security in the cloud [1,2,3,4]. However, the cloud cannot introduce distortion of original content during watermark embedding. Therefore, the reversible watermarking method is required [5,6]. In addition, the watermark carrier is vulnerable during transmission, and the embedded watermark is expected to resist common attacks [7,8]. Therefore, robust reversible watermarking in an encrypted domain has greatly attracted researchers for potential applications.
In general, watermarking can be divided into robust and fragile watermarking methods in terms of their robustness. Robust watermarking [9] is used to protect security and resist attacks, while fragile watermarking [10,11] is used to provide integrity authentication. For the occasions with high data security requirements, such as judicial authentication, medical images, etc., more researchers focus on fragile watermarking in the encrypted domain.
Reversible watermarking in the encrypted domain can be divided into reserving room before encryption (RRBE) and vacating room after encryption (VRAE). The RRBE method reserves embedding room before encrypting the original image [12,13,14,15]. For example, the vacated bits, which are reserved by self-embedding before encryption, can be substituted by the watermark in the encrypted domain [4]. With the development of reversible watermarking [16,17], the original image can be restored absolutely after extracting the watermark. The second type directly implements watermark embedding by modified the encrypted image [18,19] after encryption. For instance, Xiang divided the original image into patches to be encrypted, and then the histogram of statistical values was calculated in the encrypted domain for shifting to embed watermark [20].
However, these methods are only applied to images, and cannot be used in 3D models directly due to different structures between images and 3D models. Ke et al. proposed a robust watermarking method on the basis of self-similarity [21]. In that method, a 3D model is divided into patches, and watermark bits were embedded by changing the local vector length of a point in each patch. Feng et al. divided a 3D model into patches, then embedded a watermark into each patch by modulating angle quantization [22]. However, those methods are not reversible. Jiang et al. proposed a 3D model watermarking method on the basis of stream cipher encryption [1]. The watermark was embedded by flipping the least significant bits (LSBs) of the vertex coordinates. Since the original 3D models have high spatial correlation, the watermark can be extracted successfully. Shah proposed a watermarking method based on the homomorphic Paillier cryptosystem, which used VRAE framework to vacate space before encryption [2]. However, those methods are fragile to attacks and cannot protect their copyrights.
To our best of knowledge, although the aforementioned watermarking methods on encrypted 3D models have been developed, the research on robustness for encrypted 3D models is rarely reported. In this paper, in order to protect the security of a 3D model in the cloud, we proposed a homomorphic encryption-based robust reversible watermarking method. In this method, the original model is first divided into patches to facilitate patch encryption using the Paillier cryptosystem. Then, the watermark is embedded by constructing the symmetrical direction histogram and shifting histogram in the encrypted domain, and the robust interval is reserved during the histogram shifting. Last, the receiver extracts the watermark in the encrypted model or the decrypted model by constructing a direction histogram of patches, and restores the original model through the method of histogram shifting which is the opposite to the embedding process. The contributions of the paper are organized as follows.
(1) The proposed method can directly construct direction histogram in the encrypted model so that the watermark can be extracted and the original encrypted model can be restored in the encrypted domain.
(2) The proposed method is robust to several common attacks by reserving the robust interval during the histogram shifting for watermark embedding.
(3) The proposed method not only has higher security and capacity, but also has less distortion compared with the original model.
The rest of this paper is organized as follows. In the second part, the Paillier cryptosystem is briefly introduced. In the third part, the related robust reversible watermarking method flow is proposed. The experimental results are shown in Section 4. The conclusions of the thesis are discussed in Section 5.

2. Paillier Cryptosystem

The Paillier cryptosystem [23], which was proposed by Paillier Pascal in 1999, has homomorphism and probability. Homomorphism means that one arithmetic operation of two ciphertexts are equal to another arithmetic operation of two corresponding plaintext. Moreover, homomorphism includes addition and multiplication homomorphism. Probability means that different ciphertexts, which are obtained by encrypting the same plaintext with different parameters, can be decrypted to the same plaintext. The following describes the processes of key generation, encryption, and decryption, two properties, and the application of modular multiplication inverse (MMI) [24] in the Paillier cryptosystem.
  • Key Generation
Randomly pick up two large primes numbers p and q . Calculate N = p q and λ = l c m ( p 1 , q 1 ) , where l c m ( ) stand for the lowest common multiple. Afterwards, select g Z N 2 randomly, which satisfies
gcd ( L ( g λ mod N 2 ) , N ) = 1
where L ( u ) = ( u 1 ) / N , and gcd ( ) means the greatest common divisor of two inputs. Z N 2 = { 0 , 1 , 2 , , N 2 1 } and Z N 2 are the numbers in Z N 2 which prime with N 2 . Finally, we get the public key ( N , g ) and corresponding private key λ .
  • Encryption
Select a parameter r Z N 2 randomly. The plaintext m Z N can be encrypted to the corresponding ciphertext c by
c = E [ m , r ] = g m r N mod N 2
where E [ ] denotes the encryption function. Due to the nature of the Paillier cryptosystem, for the same plaintext m , different ciphertexts c can be obtained by choosing different r . After decryption, different ciphertexts can be restored to the same plaintext m , which ensures the security of the ciphertext.
  • Decryption
The original plaintext m can be obtained by
m = D [ c ] = L ( c λ mod N 2 ) L ( g λ mod N 2 ) mod N
Moreover, two important characteristics are described as follows (which has been applied in the proposed method).
  • Lemma One
For two plaintexts m 1 , m 2 Z N , compute corresponding ciphertexts c 1 , c 2 with r 1 , r 2 according to Equation (1), respectively. The Equation c 1 = c 2 holds if and only if m 1 = m 2 and r 1 = r 2 .
  • Homomorphic Multiplication
For r 1 , r 2 Z N , two plaintexts m 1 , m 2 Z N and corresponding ciphertexts E [ m 1 , r 1 ] , E [ m 2 , r 2 ] Z N 2 satisfy
c 1 c 2 = E [ m 1 , r 1 ] E [ m 2 , r 2 ] = g m 1 + m 2 ( r 1 r 2 ) N mod N 2
D [ c 1 c 2 ] = D [ E [ m 1 , r 1 ] E [ m 2 , r 2 ] mod N 2 ] = m 1 + m 2 mod N
The original Paillier cryptosystem only has addition homomorphism and multiplication homomorphism. The subtraction homomorphism can be achieved through modular multiplication inverse (MMI).
  • Modular Multiplication Inverse (MMI)
For two coprime integers y and z , the existence of an integer θ satisfies
θ y = 1 mod z
where θ is called the modular multiplicative inverse of y , and θ can be obtained according to the extended Euclidean method [25].

3. The Proposed Method

In order to protect the security of 3D model in the cloud, a homomorphic encryption-based robust reversible watermarking method is proposed. Figure 1 shows the flowchart of the proposed method. Firstly, the original model is divided into patches, and vertices in each patch are encrypted using the Paillier cryptosystem. In the cloud, three direction values of each patch are computed, and the direction histogram is constructed for shifting to embed the watermark. At last, the watermark can be extracted from direction histogram, and the original 3D model can be restored by histogram shifting.

3.1. Preprocessing

Because the input of the Paillier cryptosystem should be a positive integer, the vertex coordinates firstly are converted from decimal to positive integer.
3D models are consisted of vertex data and connectivity data. The vertex data includes the coordinates of each vertex in the spatial domain. The connectivity data reflects the connection relationship between vertices. A 3D model devil and its local region are illustrated in Figure 2. Each vertex and each face of the 3D model have a corresponding index number, respectively. For a 3D model M , let { v i } i = 0 N V represents the sequence of vertices, where v i = ( v i , x , v i , y , v i , z ) and N V is the number of vertices. Note that each coordinate | v i , j | < 1 , j { x , y , z } , and the significant digit of each coordinate is 6.
Normally, uncompressed vertices are 32-bit floating point numbers with a precision of 6 digits. The first four significant digits of vertex coordinates can accurately display the 3D model. Therefore, the vertex coordinates are converted into an integer with four significant digits by using Equation (7).
v i , j = v i , j 10 4 , j { x , y , z }
Moreover, all vertex coordinates should be converted to positive integers for encryption by using Equation (8).
v i , j = v i , j + 10000 , j { x , y , z }
After preprocessing, the pre-processed 3D model is computed, and denoted as M .

3.2. Patch Dividing and Patch Encryption

The section describes how to divide the model into several non-overlapping patches and perform encryption by using the Paillier cryptosystem.

3.2.1. Patch Dividing

For the vertex of the 3D model, if two vertices v i and v k are connected by a edge, v k is a neighbor of v i . All neighbors of v i constitute the 1-ring neighborhood of v i , and all 1-ring neighborhood of the neighbors of the vertex v i constitute its 2-ring neighborhood. N ( v i ) is the 2-ring neighborhood of the vertex v i , and N ( v i ) is computed by
N ( v i ) = { v k | 0 | v i v k | 2 , k = 0 , 1 , , N V }
where N V are the number of the vertices of the 3D model, and | v i v k | represents the number of vertices between v i and v k . As illustrated in Figure 2, the blue vertices are the 1-ring neighborhood of the red vertex, and the green vertices are the 2-ring neighborhood of the red vertex.
When the 3D model is divided into patches, it is necessary to ensure patches do not overlap each other. Suppose that the unclassified and classified sets are S Y and S N , respectively. S Y = { v i } i = 0 N V and S N are initially empty. Suppose that the l t h patch is denoted as P ( l ) . A 3D model is divided into patches by the following rules, and initially l = 1 .
Step 1: The first vertex v i is selected according to the order of vertex index, and v i and its 1-ring neighborhood are used as the P ( l ) . Vertices in P ( l ) are sorted by
P ( l ) ( p ) = { v i , p = 1 v k , p = 2 , 3 , N l
where N l is the number of vertices in P ( l ) .
Step 2: Update the unclassified set and the classified set by using Equation (11).
S N = S N N ( v i ) , S Y = S Y N ( v i )
where S N N ( v i ) is the union of two sets, and S Y N ( v i ) is the vertex set that exist in S Y but not in N ( v i ) . N ( v i ) is put into the classified set for ensuring patches do not overlap each other.
Step 3: Determine whether the unclassified set S Y is empty. If S Y is empty, then the division of patches ends. If S Y is not empty, then continue to select the ( l + 1 ) t h patch from Step 1, until S Y is empty.
As illustrated in Figure 3, the local region of 3D model devil can be divided into five patches, and each color in Figure 3 represents a patch.

3.2.2. Patch Encryption

Let P ( l ) ( p , j ) , j { x , y , z } be the j -axis coordinates of the p t h vertex in P ( l ) . Referring to Equation (2), an integer r 1 ( l ) Z N can be randomly selected to encrypt P ( l ) ( p , j ) with the public key ( N , g ) .
C ( l ) ( p , j ) = E [ P ( l ) ( p , j ) , r 1 ( l ) ] = g P ( l ) ( p , j ) r 1 ( l ) N mod N 2
where p [ 1 , N l ] , j { x , y , z } , C ( l ) denotes the encrypted vertex coordinates, and E [ M ] represents the encrypted model.

3.3. Watermark Embedding

Firstly, three direction values of each patch in ciphertext are computed. Then, according to the possible values of the direction in ciphertext, the mapping table is constructed to map the direction values in ciphertext to the direction values in plaintext. The direction histogram is constructed by counting the direction values of all patches. Lastly, the watermark is embedded by histogram shifting.

3.3.1. Three Direction Values Calculation of Each Patch

In order to calculate three direction values of each patch, a vector M ( p ) is defined by using Equation (13).
M ( p ) = { 1 i f p = 2 , 3 , N l 1 i f p = 1
Suppose that d ( l ) ( j ) , j { x , y , z } denotes the j -axis direction value of the l t h patch P ( l ) , which is calculated by Equation (14).
d ( l ) ( j ) = p = 2 N l [ P ( l ) ( p , j ) M ( p ) + P ( l ) ( 1 , j ) M ( 1 ) ]
In the encrypted domain, without the private key λ , the encrypted vertex coordinates cannot by decrypted to obtain the vertex coordinate in plaintext, so the direction value d ( l ) ( j ) cannot be directly calculated. In the proposed method, the direction value in ciphertext can be calculated using the MMI method. C ( l ) represents the encrypted patch corresponding to the original patch P ( l ) . In order to calculate the direction value in ciphertext, the modular multiplicative inverse θ C ( l ) ( p , j ) of C ( l ) ( p , j ) should be calculated through the extended Euclidean method. θ C ( l ) ( p , j ) satisfies
θ C ( l ) ( p , j ) C ( l ) ( p , j ) = 1 mod N 2
For the l t h patch, the vectors M 1 ( l ) and M 2 ( l ) are defined by using Equations (16) and (17), respectively.
M 1 ( l ) ( p , j ) = { C ( l ) ( p , j ) i f p = 2 , 3 , N l θ C ( l ) ( p , j ) i f p = 1
M 2 ( l ) ( p , j ) = { θ C ( l ) ( p , j ) i f p = 2 , 3 , N l C ( l ) ( p , j ) i f p = 1
Since the direction value d ( l ) ( j ) may be negative, two direction values c d 1 ( l ) ( j ) and c d 2 ( l ) ( j ) are re-defined. If d ( l ) ( j ) is positive, c d 1 ( l ) ( j ) is the ciphertext corresponding to d ( l ) ( j ) . If d ( l ) ( j ) is negative, c d 2 ( l ) ( j ) is the ciphertext corresponding to d ( l ) ( j ) . c d 1 ( l ) ( j ) and c d 2 ( l ) ( j ) can be calculated by Equation (18).
{ c d 1 ( l ) ( j ) = M 1 ( l ) ( 1 , j ) 3 p = 2 N l M 1 ( l ) ( p , j ) mod N 2 c d 2 ( l ) ( j ) = M 2 ( l ) ( 1 , j ) 3 p = 2 N l M 2 ( l ) ( p , j ) mod N 2
After c d 1 ( l ) ( j ) and c d 2 ( l ) ( j ) are calculated, d ( l ) ( j ) is obtained by querying the mapping table. The following is the corresponding equation derivation and proof. To facilitate understanding, a patch consisting of four vertices is used as an example. Suppose that P 1 , P 2 , P 3 , P 4 denote the j -axis coordinate of the p t h vertex as illustrated in Figure 4, and c ^ 1 , c ^ 2 , c ^ 3 , c ^ 4 is the ciphertext corresponding to P 1 , P 2 , P 3 , P 4 . θ 1 , θ 2 , θ 3 , θ 4 is the modular multiplicative inverses corresponding to c ^ 1 , c ^ 2 , c ^ 3 , c ^ 4 , which satisfies
{ θ 1 c 1 = θ 1 g P 1 r 1 N = 1 mod N 2 θ 2 c 2 = θ 2 g P 2 r 1 N = 1 mod N 2 θ 3 c 3 = θ 3 g P 3 r 1 N = 1 mod N 2 θ 4 c 4 = θ 4 g P 4 r 1 N = 1 mod N 2
Then the direction value in ciphertext can be calculated by using Equation (20).
{ c d 1 ( j ) = M 1 ( 1 , j ) 3 p = 2 N l M 1 ( p , j ) mod N 2 = θ 1 3 c ^ 2 c ^ 3 c ^ 4 c d 2 ( j ) = M 2 ( 1 , j ) 3 p = 2 N l M 2 ( p , j ) mod N 2 = c ^ 1 3 θ 2 θ 3 θ 4
It can be derived to the following equation.
{ c d 1 ( l ) ( j ) = g P 2 + P 3 + P 4 r 1 3 N θ 1 mod N 2 c d 2 ( l ) ( j ) = g 3 P 1 r 1 3 N θ 1 θ 2 θ 3 mod N 2
According to Carmichael theory, the following equation holds.
{ g N λ = 1 mod N 2 r 1 N λ = 1 mod N 2
Hence, the following equation holds.
g N λ r 1 N λ = 1 mod N 2
According to Equations (19) and (23), Equation (24) can be derived.
{ θ 1 = g N λ P 1 · r 1 N ( λ 1 ) mod N 2 θ 2 = g N λ P 2 · r 1 N ( λ 1 ) mod N 2 θ 3 = g N λ P 3 · r 1 N ( λ 1 ) mod N 2 θ 4 = g N λ P 4 · r 1 N ( λ 1 ) mod N 2
According to Equations (22) and (24), Equation (20) can be simplified as
{ c d 1 ( l ) ( j ) = g 3 N λ + P 2 + P 3 + P 4 3 P 1 mod N 2 c d 2 ( l ) ( j ) = g 3 N λ + 3 P 1 P 2 P 3 P 4 mod N 2

3.3.2. Constructing the Mapping Table

Due to the spatial correlation of the 3D model, the vertex coordinates are relatively close in space. According to the experiments on multiple 3D model, the direction values are usually in a certain range, and the maximum direction value is usually related to the number of vertices in the patch. As illustrated in Figure 5, the blue line shows the change in the maximum direction value when the number of vertices in the patch changes. The red line is the fitted curve of the blue line, and its fitting function F ( N l ) satisfies
F ( N l ) = 1.925 ( N l 1 ) 3 60.6 ( N l 1 ) 2 + 528 ( N l 1 ) 609
Therefore, the direction values are all within a certain range. When the number of vertices of the patch changes, the direction values does not exceed F ( N l ) . Moreover, in order to obtain robustness, the robust interval T ( N l ) is designed in the process of histogram shifting. The robust interval T ( N l ) is related to the number of the patch, which is defined by
T ( N l ) = t ( N l 1 )
where t represents the strength of robustness. Hence, the change of direction values is F ( N l ) + T ( N l ) at most.
Suppose that d p denotes the absolute of direction values, then d p [ 0 , 2 F ( N l ) + T ( N l ) ] . With the public key, and the ciphertext c d p corresponding to d p can be calculated by
c d p = g d p mod N 2 , d p = 0 , 1 , 2 , , 2 F ( N l ) + T ( N l )
Hence, the mapping table can be constructed as illustrated in Figure 6, and the direction values in ciphertext can be mapped to the direction values in plaintext through the mapping table c d p . The mapping method is described as follows: c d p is a ciphertext set obtained by encrypting all possible values d p . When c d 1 ( l ) ( j ) matches the value c d p [ m ] in c d p , it indicates d ( l ) ( j ) 0 , and d ( l ) ( j ) = d p [ m ] . When c d 2 ( l ) ( j ) matches the value c d p [ m ] in c d p , it indicates d ( l ) ( j ) < 0 , and d ( l ) ( j ) = d p [ m ] , where m [ 0 , 2 F ( N l ) + T ( N l ) ) , and d p [ m ] represents the m t h value in the mapping table. Therefore, without the private key, the direction values in plaintext can be obtained by querying the mapping table.

3.3.3. Constructing the Symmetrical Direction Histogram

In the proposed method, the direction values in ciphertext are first calculated using the MMI method. Then, according to all possible direction values, the mapping table can be constructed, so the direction values in ciphertext can be mapped to direction values in plaintext. Last, the direction histogram can be constructed by counting all direction values. The direction histogram of all patches with six vertices is shown as Figure 7. It is found that most direction values are concentrated in the central area, and only a small part of the direction values are beyond the central area. Moreover, the direction histogram is symmetrical visually.

3.3.4. Embedding Watermark by Histogram Shifting

In the proposed method, the watermark is embedded by shifting the direction histogram. In order to embed the watermark, the changed direction values should exceed the range of original histogram. Using F ( N l ) and T ( N l ) as embedding keys, the embedded function B ( N l ) is defined by Equation (29) to change the direction values.
B ( N l ) = F ( N l ) + T ( N l ) N l 1 = t + 528 + φ ( N l 1 )
where φ ( N l 1 ) is the function about N l 1 , φ ( N l 1 ) will not change, and means to round up. Suppose that β = t + 528 , and B ( N l ) can be changed by modifying β . Moreover, three bits can be embedded by changing three direction values of a patch. Suppose that C w ( l ) denotes the encrypted patch with watermark. If the watermark bit ‘0′ needs to be embedded, the vertex coordinate is not changed, which means C w ( l ) = C ( l ) . If the bit ‘1′ needs to be embedded, the ciphertext C ( l ) ( p , j ) in the patch C w ( l ) is changed by Equation (30) to obtain C w ( l ) ( p , j ) .
C w ( l ) ( p , j ) = { C ( l ) ( p , j ) g B ( N l ) = g P ( l ) ( p , j ) + B ( N l ) r 1 ( k ) N mod N , i f d ( l ) ( j ) [ 0 , f ( N l ) ) a n d p = 2 , 3 , , N C ( l ) ( p , j ) g B ( N l ) = g P ( l ) ( p , j ) + B ( N l ) r 1 ( k ) N mod N , i f d ( l ) ( j ) ( f ( N l ) , 0 ) a n d p = 1
where C w ( l ) ( p , j ) is the encrypted patch with watermark. Suppose that P w ( l ) ( p , j ) denotes the decrypted patch with watermark. The operation in ciphertext is equivalent to change the coordinates P ( l ) ( p , j ) to P w ( l ) ( p , j ) in plaintext.
P w ( l ) ( p , j ) = { P ( l ) ( p , j ) + B ( N l ) , i f d ( l ) ( j ) [ 0 , F ( N l ) ) a n d p = 2 , 3 , , N P ( l ) ( p , j ) + B ( N l ) , i f d ( l ) ( j ) ( F ( N l ) , 0 ) a n d p = 1
Suppose that d w ( l ) ( j ) denotes the direction value with watermark. After embedding the bit ‘0′, d w ( l ) ( j ) is still in the range ( F ( N l ) , F ( N l ) ) , so ( F ( N l ) , F ( N l ) ) is called the 0-bit area. After embedding the bit ‘1′, d ( l ) ( j ) will be changed by the size of F ( N l ) + T ( N l ) for making d w ( l ) ( j ) within the range ( 2 F ( N l ) T ( N l ) , F ( N l ) T ( N l ) ] or [ F ( N l ) + T ( N l ) , 2 F ( N l ) + T ( N l ) ) . ( 2 F ( N l ) T ( N l ) , F ( N l ) T ( N l ) ] and [ F ( N l ) + T ( N l ) , 2 F ( N l ) + T ( N l ) ) are called the 1-bit area. Finally, the encrypted model with watermark can be obtained. For example, after embedding 1000 bits, the direction histogram is shown in Figure 8. When embedding the bit ‘0′, the direction values are still in the 0-bit area. When embedding the bit ‘1′, the direction values will be shifted into the 1-bit area. Moreover, the 0-bit area and the 1-area are separated by the robust interval of size T ( N l ) . Hence, the watermark is embedded successfully.

3.4. Watermark Extraction

Watermark extraction includes extracting the watermark in the encrypted model and extracting the watermark in the decrypted model.

3.4.1. Extracting Watermark in an Encrypted Domain and Restore the Original Encrypted Model

The watermarked model is firstly divided into patches, and the direction values in ciphertext is calculated and mapped to the direction values in plaintext using the MMI method and the mapping table. Then, the direction histogram is constructed, and the watermark is extracted from direction histogram. Finally, with the embedding key ( F ( N l ) , T ( N l ) ) , the embedding function B ( N l ) can be obtained to restore the original encrypted model. Let w ( l ) ( j ) be the watermark embedded in the j -axis of the l t h patch, and w ( l ) ( j ) is extracted by Equation (32).
w ( l ) ( j ) = { 0 , i f d ( l ) ( j ) ( F ( N l ) , F ( N l ) ) 1 , e l s e
The original encrypted model can be restored by histogram shifting, which is reverse to the embedding process. In order to restore the original encrypted model, the modular multiplicative inverse θ g B ( N l ) of g B ( N l ) need to be calculated through the extended Euclidean method.
θ g B ( N l ) g B ( N l ) = 1 mod N 2
Therefore, the original encrypted vertex coordinate C ( l ) ( p , j ) can be obtained by Equation (34).
C ( l ) ( p , j ) = { C w ( l ) ( p , j ) θ g B ( N l ) = C ( l ) ( p , j ) g B ( N l ) θ g B ( N l ) mod N 2 i f d ( l ) ( j ) [ F ( N l ) + T ( N l ) , 2 F ( N l ) + T ( N l ) ) a n d p = 2 , .. , N C w ( l ) ( p , j ) θ g B ( N l ) = C ( l ) ( p , j ) g B ( N l ) θ g B ( N l ) mod N 2 i f d ( l ) ( j ) ( 2 F ( N l ) T ( N l ) , F ( N l ) T ( N l ) ] a n d p = 1 C w ( l ) ( p , j ) i f d ( l ) ( j ) ( F ( N l ) , F ( N l ) )
where C w ( l ) ( p , j ) is the vertex coordinate with watermark in the patch C w ( l ) , and the processing in ciphertext is equivalent to the change in plaintext by using Equation (35).
P ( l ) ( p , j ) = { P w ( l ) ( p , j ) B ( N l ) , i f d ( l ) ( j ) [ F ( N l ) + T ( N l ) , 2 F ( N l ) + T ( N l ) ) a n d p = 2 , .. , N P w ( l ) ( p , j ) B ( N l ) , i f d ( l ) ( j ) ( 2 F ( N l ) T ( N l ) , F ( N l ) T ( N l ) ] a n d p = 1 P w ( l ) ( p , j ) , i f d ( l ) ( j ) ( F ( N l ) , F ( N l ) )
After the above process, d w ( l ) is restored to d ( l ) , and the original encrypted model can be obtained.

3.4.2. Extracting Watermark in Decrypted Model

With the private key, the watermarked model can be decrypted. With the embedding key, the watermark can be extracted and the original 3D model can be restored. Firstly, the watermarked model is divided into patches and the direction values of each patch are calculated by using Equation (14). Then, the direction histogram is constructed and the watermark is extracted from direction histogram by using Equation (32). Finally, with the embedding key, the original model can be restored by using Equation (35).
The decrypted model with watermark may be vulnerable to some common attacks such as noise interference during transmission. Since the robust interval during histogram shifting is reserved, the proposed method is robust to common attacks, such as Gaussian noise, translation, scaling, etc. As illustrated in Figure 8, the 0-bit area and the 1-bit area are separated by the robust interval of size T ( N l ) . After the decrypted watermarked model is attacked slightly, it will cause a small range fluctuation of the direction values. However, if the direction values do not enter the error area, the receiver can still correctly extract the watermark. In order to improve the accuracy of watermark extraction after being disturbed, the watermark is extracted by using
w ( l ) ( j ) = { 0 , i f d ( l ) ( j ) ( F ( N l ) T ( N l ) / 3 , F ( N l ) + T ( N l ) / 3 ) 1 , e l s e

4. Experimental Results and Discussion

The proposed method processed 3D model and implemented the watermark method in MATLAB R2016b under Window 7. We implemented the following experiment on 40 3D models and calculated the average of 40 3D models. Figure 9 shows six models used in the experiment.
The quality of the decrypted watermarked model is evaluated by the signal-to-noise ratio ( S N R ). The higher the value S N R , the better the imperceptibility after embedding watermark. S N R is computed as
S N R = 10 lg i = 1 N V [ ( v i , x v ¯ x ) 2 + ( v i , y v ¯ y ) 2 + ( v i , z v ¯ z ) 2 ] i = 1 N V [ ( g i , x v i , x ) 2 + ( g i , y v i , y ) 2 + ( g i , z v i , z ) 2 ]
where v ¯ x , v ¯ y , v ¯ z are the mean of vertex coordinates, v i ( v i , x , v i , y , v i , z ) are the original coordinates, and g i ( g i , x , g i , y , g i , z ) are the coordinates of the watermarked model M w .
In addition, the bit error rate (BER) is used to measure the error rate of the extracted watermark. The lower the value, the higher the accuracy of the extracted watermark.

4.1. The Value of β

According to Equation (29), B ( N l ) = β + φ ( N l 1 ) , and the embedding function B ( N l ) is changed by changing the value of β . According to Equation (31), if the value of β is large, the distortion of the decrypted model is high and the accuracy of watermark extracting is high, and vice versa. In order to observe the effect of β on the quality of decrypted model and the bit error rate of the extracted watermark, we changed the value of β to perform on 40 tested models and calculated their average. The relationship between the value of β and the distortion S N R is illustrated in Figure 10a. As β increases, S N R gradually decreases. When β = 588, S N R of the decrypted model is slightly greater than 30 dB. Based on imperceptible considerations, in order to obtain better model quality, the value of β cannot exceed 588. The relationship between the value of β and BER is shown in Figure 10b. When β 528 , the watermark was correctly extracted without being attacked. Therefore, the value of b cannot be less than 528.

4.2. The Value of t

As shown in Figure 7, the 0-bit area and 1-bit area are separated by the robust interval of size t ( N l 1 ) . If the robust interval is large, the robustness is high. However, as t increases, the quality of the decrypted model is reduced. Therefore, t needs to be adjusted according to the actual application scenario. If higher robustness is required, a greater value of t can be assigned. If better quality of decrypted model is required, a smaller value of t is set. In order to choose a suitable value, experiments were conducted on 40 models to test the robustness with different values of t .
As illustrated in Figure 11, the BER of watermark extraction is low under Gaussian noise (0.01). By increasing t , the BER could be reduced. When t = 50 , the watermark could be extracted correctly. Therefore, when higher robustness is required, the value of t can be assigned to be 50.

4.3. Feasibility of the Watermarking

In order to show the feasibility of the proposed watermarking method, the 3D model devil with 30,000 vertices was tested, and other models had similar results. The watermark was a 1024-bit pseudo-random sequence. Firstly, the original model was divided into patches and the encrypted model was obtained by encrypting the 3D model with the public key as illustrated in Figure 12. Secondly, with the embedding key, the watermark was embedded to obtain the watermarked model as illustrated in Figure 12c. Then, the directly decrypted model (as shown in Figure 12d) is obtained by decrypting the encrypted model; S N R of the decrypted model was 30.93. Lastly, the watermark was extracted and the model was restored (as shown in Figure 12e), and the S N R of the restored model approaches infinity, which shows that the restored model was exactly the same as the original model. Figure 12f shows that all watermark bits were correctly extracted. The experimental results showed that the proposed method achieved reversibility of embedding and extraction, and the restoration of the original model. Figure 13 shows five decrypted 3D models had less distortion compared to the original 3D model, and Figure 13f shows the SNR of the decrypted models were close to 30, which denotes the proposed method can obtain good quality.

4.4. Robustness Analysis

In order to compare the robustness under attacks, several attacks were performed on the decrypted 3D model. Table 1 shows the bit error rate of watermark extraction under different attacks.

4.4.1. Robustness Against Translation Attacks

The robustness against the translation attacks was tested. As shown in Table 1, the method perfectly resisted translation attacks. When the model was subjected to a translation attack, the vertex coordinates of the patch increased by a certain value at the same time. According to Equation (14), when the vertex coordinates in a patch are changed by the same size, it can be known that its direction values will not change. Therefore, the watermark can be extracted correctly.

4.4.2. Robustness Against Scaling Attacks

The robustness against scaling attacks was tested by different levels (0.8, 1.2, 1.5) on the decrypted 3D model. As shown in Table 1, the proposed method was robust to scaling attacks. When the model was attacked, the vertex coordinates of the patch were multiplied by a certain coefficient at the same time. According to Equation (14), its direction values also increased or decreased accordingly. As illustrated in Figure 7, the direction values of most patches were concentrated in the central area. Therefore, when the scaling size was increased, most of the vertices were still in the original area, and only a small number of vertices were offset. On this condition, the robustness was high. When the scaling size was decreased, the 1-bit area was easily shifted to the 0-bit area, which affected the accuracy of extracting the watermark. Therefore, the robustness was much higher when the 3D model was amplified compared with other levels of attacks.

4.4.3. Robustness to Gaussian Noise Attacks

The robustness against Gaussian noise attacks was tested by performing different degrees (0.005, 0.01, 0.02) on the decrypted 3D model. As shown in Table 1, the robustness against Gaussian noise attacks was high. When the model was attacked by Gaussian noise, the vertex coordinates were slightly disturbed. According to Equation (14), its direction values were also slightly modified. As illustrated in Figure 7, the direction values of most patches were concentrated in the central area, and only a few vertices were in the non-central area. Therefore, when the model was slightly disturbed, the direction values of the central area were slightly disturbed, and only a few direction values of non-central area were shifted.
However, the proposed method cannot resist the attacks of cropping and simplification, it is because those attacks will influence the order of the vertices. Moreover, the proposed method cannot resist salt and pepper noise, mainly because the attack obviously changes the relative position between vertices.

4.5. Compared with the Existing Watermark Method in an Encrypted Domain

To our knowledge, few effective robust reversible watermarking methods for 3D model in the encryption domain has been reported in the literature. In order to show the effectiveness of the proposed method, Jiang [1] is extended to the encrypted 3D model. From Table 2, the proposed method has a slightly higher embedding capacity compared with the Jiang [1], and it is mainly because a patch has three coordinate axes and three bits can be embedded. To sum up, the proposed method has good security and robustness, and the decrypted 3D model has low distortion.

5. Conclusions

In this paper, a robust reversible three-dimensional (3D) model watermarking method based on homomorphic encryption is presented for protecting the copyright of 3D models. The 3D model is divided into non-overlapping patches, and the vertex in each patch is encrypted by using the Paillier cryptosystem. On the cloud side, three direction values of each patch are computed, and the symmetrical direction histogram is constructed for shifting to embed watermark. In order to obtain robustness, the robust interval is designed in the process of histogram shifting. The watermark can be extracted from the direction histogram, and the original encrypted model can be restored by histogram shifting. Experimental results show that the decrypted 3D models have less distortion compared with the existing methods, which denotes the proposed method can embed more secret data without increasing the 3D models distortion. Moreover, the proposed method can resist a series of attacks compared to the existing watermarking methods on encrypted 3D model. Thus, the proposed method is efficient to protect copyright of 3D models in the cloud when the cloud administrator does not know the content of the 3D models, but the existing methods have no ability.
In the future, we will investigate the following two possible research directions. (1) Reduce the distortion of the directly decrypted 3D model. (2) Further improve the robustness against more kinds of attacks, such as cropping and salt and pepper noise.

Author Contributions

Conceptualization and funding acquisition are credited to L.L. Methodology and writing—original draft are due to S.W. Conceptualization and supervision are credited to S.Z. Writing—review & editing is credited to T.L. Formal analysis and investigation are originated by C.-C.C. All authors have read and agreed to the published version of the manuscript.

Funding

This work was partially supported by National Natural Science Foundation of China (No. 61370218, No. 61971247), Public Welfare Technology and Industry Project of Zhejiang Provincial Science Technology Department (No. LGG19F020016), and Ningbo Natural Science Foundation (No. 2019A610100).

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Jiang, R.Q.; Zhou, H.; Zhang, W.M. Reversible Data Hiding in Encrypted Three-Dimensional Mesh Models. IEEE Trans. Multimed. 2018, 20, 55–67. [Google Scholar] [CrossRef]
  2. Shah, M.; Zhang, W.M.; Hu, H.G. Homomorphic Encryption-Based Reversible Data Hiding for 3D Mesh Models. Arab. J. Sci. Eng. 2018, 43, 8145–8157. [Google Scholar] [CrossRef]
  3. Wu, H.T.; Cheung, Y.M.; Tang, S.H. A high-capacity reversible data hiding method for homomorphic encrypted images. J. Vis. Commun. Image Represent. 2019, 62, 87–96. [Google Scholar] [CrossRef]
  4. Xiang, S.J.; Luo, X.R. Reversible Data Hiding in Homomorphic Encrypted Domain by Mirroring Ciphertext Group. IEEE Trans. Circuits Syst. Video Technol. 2018, 28, 3099–3110. [Google Scholar] [CrossRef]
  5. Liu, J.; Wang, Y.; Li, Y. A robust and blind 3D watermarking algorithm using multiresolution adaptive parameterization of surface. Neurocomputing 2017, 237, 304–315. [Google Scholar] [CrossRef]
  6. Weng, S.; Zhao, Y.; Pan, J.S. Reversible watermarking based on invariability and adjustment on pixel pairs. IEEE Signal Process. Lett. 2008, 15, 721–724. [Google Scholar] [CrossRef]
  7. Amini, M.; Ahmad, M.; Swamy, M. A Robust multibit multiplicative watermark decoder using vector-based hidden markov model in wavelet domain. IEEE Trans. Circuits Syst. Video Technol. 2016, 1, 402–413. [Google Scholar] [CrossRef]
  8. Benedens, X.; Busch, C. Towards blind detection of robust watermarks in polygonal models. Comput. Graph. Forum 2000, 19, 199–208. [Google Scholar] [CrossRef]
  9. Malvar, H.S.; Florencio, D.A. Improved spread spectrum: A new modulation technique for robust watermarking. IEEE Trans. Signal Process 2003, 51, 898–905. [Google Scholar] [CrossRef] [Green Version]
  10. Coltuc, D. Low distortion transform for reversible watermarking. IEEE Trans. Image Process. 2012, 21, 412–417. [Google Scholar] [CrossRef]
  11. Wu, Q.L.; Wu, M. Adaptive and blind audio watermarking algorithm based on chaotic encryption in hybrid domain. Symmetry 2018, 10, 284. [Google Scholar] [CrossRef] [Green Version]
  12. Feng, J.B.; Lin, I.C.; Tasi, C.S. Reversible watermarking: Current status and key issues. Int. J. Netw. Secur. 2006, 2, 161–171. [Google Scholar]
  13. Ma, K.W.; Zhang, X.; Zhao, N. Reversible data hiding in encrypted images by reserving room before encryption. IEEE Trans. Inf. Forensics Secur. 2013, 8, 553–562. [Google Scholar] [CrossRef]
  14. Zhang, W.; Ma, K.; Yu, N. Reversibility improved data hiding in encrypted images. Signal Process. 2014, 94, 118–127. [Google Scholar] [CrossRef]
  15. Shiu, C.-W.; Chen, Y.C.; Hong, W. Encrypted image-based reversible data hiding with public key cryptography from difference expansion. Signal Process. Image Commun. 2015, 39, 226–233. [Google Scholar] [CrossRef]
  16. Ni, Z.; Shi, Y.Q.; Ansari, N. Reversible data hiding. IEEE Trans. Circuits Syst. Video Technol. 2006, 16, 354–362. [Google Scholar]
  17. Wu, H.T.; Cheung, Y.-M. Reversible watermarking by modulation and security enhancement. IEEE Trans. Instrum. Meas. 2010, 59, 221–228. [Google Scholar]
  18. Zhang, X. Separable reversible data hiding in encrypted image. IEEE Trans. Inf. Forensics Secur. 2012, 16, 826–832. [Google Scholar] [CrossRef]
  19. Zhang, X.; Qian, Z.; Feng, G. Efficient reversible data hiding in encrypted images. J. Vis. Commun. Image Represent. 2015, 25, 322–328. [Google Scholar] [CrossRef]
  20. Xiang, S.J.; Yang, L. Robust and reversible image watermarking algorithm in homomorphic encrypted domain. Ruan Jian Xue Bao/J. Softw. 2018, 29, 957–972. (In Chinese) [Google Scholar]
  21. Ke, Q.; Xie, D.Q. A self-similarity based robust watermarking scheme for 3D point cloud models. Inf. Jpn. 2010, 16, 287–291. [Google Scholar]
  22. Feng, X. A new watermarking algorithm for point model using angle quantization index modulation. In Proceeding of the National Conference on Electrical Electronics and Computer Engineering, Xi’an, China, 12–13 December 2015; pp. 962–968. [Google Scholar]
  23. Paillier, P. Public-key cryptosystems based on composite degree residuosity classes. In International Conference on the Theory and Applications of Cryptographic Techniques; Springer: Berlin/Heidelberg, Germany, 1999; pp. 223–238. [Google Scholar]
  24. Zheng, P.J.; Huang, J.W. Discrete wavelet transform and data expansion reduction in homomorphic encrypted domain. IEEE Trans. Image Process. 2013, 22, 2455–2468. [Google Scholar] [CrossRef] [PubMed]
  25. Donald, K. The Art of Computer Programming, 3rd ed.; Addison-Wesley: Boston, MA, USA, 1997; pp. 325–515. [Google Scholar]
Figure 1. Flowchart of the proposed method.
Figure 1. Flowchart of the proposed method.
Symmetry 12 00347 g001
Figure 2. A 3D model devil; (a) original model, (b) local region.
Figure 2. A 3D model devil; (a) original model, (b) local region.
Symmetry 12 00347 g002
Figure 3. Patch dividing of 3D model devil.
Figure 3. Patch dividing of 3D model devil.
Symmetry 12 00347 g003
Figure 4. The patch with four vertices. (a) M ( p ) correspond to the vertex. (b) The encrypted coordinate.
Figure 4. The patch with four vertices. (a) M ( p ) correspond to the vertex. (b) The encrypted coordinate.
Symmetry 12 00347 g004
Figure 5. The blue line represents relationship between the maximum direction value and the number of vertices of the patch, and the red line is the fitted curve of the blue line.
Figure 5. The blue line represents relationship between the maximum direction value and the number of vertices of the patch, and the red line is the fitted curve of the blue line.
Symmetry 12 00347 g005
Figure 6. The mapping table.
Figure 6. The mapping table.
Symmetry 12 00347 g006
Figure 7. The direction histogram of patches with seven vertices.
Figure 7. The direction histogram of patches with seven vertices.
Symmetry 12 00347 g007
Figure 8. The watermarked histogram. After embedding the watermark, the original direction histogram can be divided into 0-bit area and 1-bit area. The 0-bit area and 1-bit area are separated by the robust interval of size T ( N l ) .
Figure 8. The watermarked histogram. After embedding the watermark, the original direction histogram can be divided into 0-bit area and 1-bit area. The 0-bit area and 1-bit area are separated by the robust interval of size T ( N l ) .
Symmetry 12 00347 g008
Figure 9. Six tested 3D models. (a) Fairy. (b) Boss. (c) Solider. (d) Devil. (e) Thing. (f) Lord.
Figure 9. Six tested 3D models. (a) Fairy. (b) Boss. (c) Solider. (d) Devil. (e) Thing. (f) Lord.
Symmetry 12 00347 g009
Figure 10. The effect of β on the distortion of decrypted model and the bit error rate of the extracted watermark. (a) β is related to signal-to-noise ratio ( S N R ). (b) β is related to bit error rate (BER).
Figure 10. The effect of β on the distortion of decrypted model and the bit error rate of the extracted watermark. (a) β is related to signal-to-noise ratio ( S N R ). (b) β is related to bit error rate (BER).
Symmetry 12 00347 g010
Figure 11. The BER under Gaussian attacks (the strength is 0.01).
Figure 11. The BER under Gaussian attacks (the strength is 0.01).
Symmetry 12 00347 g011
Figure 12. Experiment with 3D model ‘devil’ (a) The original model; (b) the encrypted model; (c) the watermarked model; (d) the decrypted model. After decryption, the S N R was 30.93. (e) The restored model. After restoration, the S N R approached infinity. (f) The bit error rate after watermark extraction.
Figure 12. Experiment with 3D model ‘devil’ (a) The original model; (b) the encrypted model; (c) the watermarked model; (d) the decrypted model. After decryption, the S N R was 30.93. (e) The restored model. After restoration, the S N R approached infinity. (f) The bit error rate after watermark extraction.
Symmetry 12 00347 g012
Figure 13. Five watermarked 3D models. (a) The watermarked “Fairy”; (b) the watermarked “Boss”; (c) the watermarked “Solider”; (d) the watermarked “Thing”; (e) the watermarked “Lord”; (f) S N R of the five watermarked models.
Figure 13. Five watermarked 3D models. (a) The watermarked “Fairy”; (b) the watermarked “Boss”; (c) the watermarked “Solider”; (d) the watermarked “Thing”; (e) the watermarked “Lord”; (f) S N R of the five watermarked models.
Symmetry 12 00347 g013
Table 1. The BER under several common attacks.
Table 1. The BER under several common attacks.
ModeltSNRGaussianTranslationScaling
(0.005)(0.01)(0.02)0.81.21.5
Fairy4030.961.75%2.63%6.15%10.210.0730.18
Boss4030.961.24%1.52%6.26%10.170.0640.19
Solider3531.441.98%2.67%5.98%10.130.0530.15
Devil3031.442.06%2.41%6.74%10.160.0690.19
Thing3031.441.68%2.47%6.45%10.180.0570.21
Lord2532.12.28%3.24%8.64%10.230.0710.24
Table 2. Compared to the method of Jiang [1].
Table 2. Compared to the method of Jiang [1].
CapabilityRobustnessSecuritySNR of
Decrypted Model
SNR of
Restored Model
BER
The proposed method0.396yeshigh30.08+∞0
Method of Jiang [1]0.365nolow5.3531.974.22%

Share and Cite

MDPI and ACS Style

Li, L.; Wang, S.; Zhang, S.; Luo, T.; Chang, C.-C. Homomorphic Encryption-Based Robust Reversible Watermarking for 3D Model. Symmetry 2020, 12, 347. https://doi.org/10.3390/sym12030347

AMA Style

Li L, Wang S, Zhang S, Luo T, Chang C-C. Homomorphic Encryption-Based Robust Reversible Watermarking for 3D Model. Symmetry. 2020; 12(3):347. https://doi.org/10.3390/sym12030347

Chicago/Turabian Style

Li, Li, Shengxian Wang, Shanqing Zhang, Ting Luo, and Ching-Chun Chang. 2020. "Homomorphic Encryption-Based Robust Reversible Watermarking for 3D Model" Symmetry 12, no. 3: 347. https://doi.org/10.3390/sym12030347

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop