CN111598765B - Three-dimensional model robust watermarking method based on homomorphic encryption domain - Google Patents
Three-dimensional model robust watermarking method based on homomorphic encryption domain Download PDFInfo
- Publication number
- CN111598765B CN111598765B CN202010386600.1A CN202010386600A CN111598765B CN 111598765 B CN111598765 B CN 111598765B CN 202010386600 A CN202010386600 A CN 202010386600A CN 111598765 B CN111598765 B CN 111598765B
- Authority
- CN
- China
- Prior art keywords
- vertex
- dimensional model
- sector
- coordinates
- dimensional
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 71
- 230000008569 process Effects 0.000 claims abstract description 14
- 230000008859 change Effects 0.000 claims description 16
- 230000006870 function Effects 0.000 claims description 13
- 238000000605 extraction Methods 0.000 claims description 12
- 239000011159 matrix material Substances 0.000 claims description 12
- 238000012986 modification Methods 0.000 claims description 7
- 230000004048 modification Effects 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000011084 recovery Methods 0.000 claims description 5
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000007667 floating Methods 0.000 claims description 3
- 238000007781 pre-processing Methods 0.000 claims description 3
- 238000011282 treatment Methods 0.000 claims description 3
- 238000000638 solvent extraction Methods 0.000 claims 1
- 238000013519 translation Methods 0.000 abstract description 5
- 239000000654 additive Substances 0.000 abstract description 2
- 230000000996 additive effect Effects 0.000 abstract description 2
- 238000007796 conventional method Methods 0.000 abstract description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 abstract description 2
- 230000002441 reversible effect Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 238000011160 research Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000013213 extrapolation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/0021—Image watermarking
- G06T1/005—Robust watermarking, e.g. average attack or collusion attack resistant
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
- Processing Or Creating Images (AREA)
Abstract
The invention discloses a watermark embedding and extracting method based on homomorphic encryption domain. Aiming at the problem of data leakage of the cloud platform, the protection of the privacy of the three-dimensional model uploaded to the cloud is realized through an encryption system. In the conventional method, data security protection of the three-dimensional model cannot be realized due to invisibility of the encrypted three-dimensional model. The method comprises the steps of firstly dividing the three-dimensional model into a plurality of blocks, and carrying out block encryption to ensure the safety of the three-dimensional model. In the process of extracting the watermark, the watermark can be correctly extracted and the original three-dimensional model can be restored by means of the spatial correlation of the original three-dimensional model. In addition, the method has certain robustness. Compared with the traditional method, the method has low distortion degree of the decrypted water-containing impression model, and can resist the attack of translation, scaling and additive noise on the three-dimensional model.
Description
Technical Field
Aiming at the field of three-dimensional model watermarking, the invention provides a homomorphic encryption domain-based three-dimensional model robust watermarking method.
Background
With the development of three-dimensional (3D) models on networks, related research on data security of the 3D models is promoted. For the data security problem of the three-dimensional model, a method of embedding watermark is generally adopted. Watermarks are mainly classified into robust watermarks, which can resist attacks on data carriers, and fragile watermarks, which are used for security authentication. For special occasions, such as medical images, cloud computing storage, legal document pictures and the like, the original model can be restored nondestructively after watermark embedding is required, so that a reversible watermark technology is required to be utilized. Reversible watermarking algorithms can be largely divided into the following four categories: lossless compression, difference expansion, histogram shifting, and prediction error expansion. The robustness of the watermark is generally not considered in the reversible digital watermarking technology, however, when the digital multimedia containing the watermark is transmitted in a channel such as a network, various processes or interferences are inevitably suffered, so that in many application scenarios, the embedded watermark is expected to have a certain robustness. Over the last few years, robust reversible watermarking technology has become an important research direction in the field of information hiding, with some significant effort.
With the rapid development of internet technology and cloud computing technology, users can upload data and data to a remote server or a cloud for storage through the internet, and then download and use the data when needed. Cloud storage saves the expense of purchasing equipment and improves the convenience of acquiring resources. However, the cloud computing technology brings convenience to life of people and also causes problems of data security and privacy protection. Therefore, the data is generally encrypted before uploading to the cloud to improve the security of the data. Meanwhile, the cloud manager hopes to embed information related to some user data into ciphertext data to realize functions such as ciphertext retrieval and data protection. Therefore, the encryption domain reversible watermarking technology has become a research hotspot in the field of information hiding in the context of big data cloud computing in recent years.
Reversible watermarks in the encrypted domain fall into two categories: "pre-encryption headspace (RRBE)", and "post-encryption vacation space (VRAE)". The first type creates an embedding space in the plaintext domain and then encrypts the preprocessed image. For example, by hiding the Least Significant Bit (LSB) of some pixels into other pixels, the vacated bits may be replaced by the value to be hidden in the encrypted domain. By means of the watermarking method developed for plain text images, the original LSB values are extracted and written back, allowing an accurate restoration of the original image. Another method directly modifies the encrypted image for data embedding. By making room after encryption, the data hiding operation can be more flexibly carried out on the encrypted image. For example, xiang proposes an image robust watermarking algorithm for the encryption domain. First, the original image is blocked and encrypted. Next, statistics for each chunk are computed in the encrypted domain, and then the statistics histogram is translated to embed the watermark.
Disclosure of Invention
With the wide application of the three-dimensional model on the network, the safety of the three-dimensional model is greatly emphasized. In order to solve the problems in the prior art and protect the safety of a three-dimensional model in cloud computing, the invention provides a three-dimensional model robust watermarking method based on homomorphic encryption domain. Firstly, dividing the three-dimensional model into a plurality of blocks, and carrying out block encryption. And secondly, embedding watermarks into each sector block by utilizing the homomorphism of addition and multiplication of the Paillier encryption system. Finally, since the original three-dimensional model has a certain spatial correlation, the watermark is extracted by evaluating the smoothness of the block.
The technical scheme adopted by the invention is as follows:
a three-dimensional model robust watermarking method based on homomorphic encryption domain comprises the following steps:
s1: preprocessing the three-dimensional model to convert floating point vertex coordinates with the value range (-1, 1) of the three-dimensional model into positive integers, wherein the conversion method comprises the following steps:
wherein v is i Is the vertex of the three-dimensional model, v i,j Is the vertex v i J e { x, y, z }; v' i,j Is the vertex v i The converted j-axis coordinate, k is the effective digit displayed by the three-dimensional model;
s2: dividing the three-dimensional model obtained in the step S1 into a plurality of sector blocks, and ensuring that the blocks are not overlapped, wherein the dividing method is as shown in the steps S21-S26:
s21: calculating the shortest distance between each vertex in the three-dimensional model by using a floyd algorithm;
s22: initializing a sector block central vertex set S as an empty set, and taking a first vertex v from a three-dimensional model 1 Adding to set S;
s23: vertex set V with distance to all vertices in set S being greater than or equal to 3 in statistical three-dimensional model j And performs S24;
s24: judgment set V j Whether or not it is empty, if it is not emptyThen V is taken j Adding the first vertex of the set S, re-executing S23, and stopping circulation if the first vertex is an empty set;
s25: selecting a first vertex v from the set S i Vertex v i The vertices contained in a ring neighborhood of (a) are divided into the first segment P (l) The initial value of segment number l is 1, P (l) The vertex ordering of (a) is as follows:
wherein: p (P) (l) (P) represents the sorted segment P (l) P-th vertex of (v) l Representing segment P (l) The number of vertices, v k Representing vertex v i V is divided in a ring neighborhood of (2) i An outer vertex;
s26: continuously repeating S25, traversing each vertex in the set S in sequence until all vertices in the set S are traversed, and dividing the three-dimensional model into a plurality of sector blocks;
s3: encrypting each block using a Paillier encryption system, for each sector block P during encryption (l) The three-dimensional coordinates of the sector block are encrypted by public keys (N, g) to obtain ciphertext corresponding to the sector block, and the encryption formula is as follows:
wherein: j ε { x, y, z }, C (l) (P, j) is an encrypted segment P (l) The j-axis coordinate of the p-th vertex of the pair, E [. Cndot.]P is the encryption function of the Paillier encryption system (l) (P, j) represents segment P (l) The j-axis coordinate of the p-th vertex in the (b);
s4: sequentially embedding 1-bit watermarks in the ciphertext of each sector of the three-dimensional model by modifying the coordinates of the first vertex in the ciphertext of the sector to obtain a three-dimensional encryption model for sending to a receiver; wherein the watermark embedding rule in each sector is: if the current sectorBlock P (l) Bit 0 is needed to be embedded in the memory, P is not changed (l) Coordinates of the first vertex of (a);
if the current sector block P (l) Bit 1 is needed to be embedded in the middle, then at P (l) The coordinate of the first vertex is modified in the ciphertext, the change amount is B, and the modification formula is as follows:
wherein:sector P encrypted for Paillier (l) J-axis coordinate after watermark is embedded into the 1 st vertex in the matrix, C (l) (1, j) is Paillier-encrypted segment P (l) J-axis coordinates of the 1 st vertex, j e { x, y, z };
the above change amount B corresponds to the modification in the text as follows:
wherein:representing segment P (l) J-axis coordinate, P of 1 st vertex embedded with watermark (l) (1, j) represents segment P (l) J-axis coordinates of the 1 st vertex in (b);
s5: after receiving the three-dimensional encryption model, the receiver decrypts the three-dimensional encryption model to obtain a three-dimensional decryption model, wherein the decryption formula of the three-dimensional model is as follows:
wherein: d is the decryption function of the Paillier encryption system;
s6: aiming at the three-dimensional decryption model, dividing the three-dimensional decryption model into a plurality of sector blocks according to the method in S2, and ensuring that the blocks are not overlapped;
s7: watermark extraction and original vertex recovery are sequentially carried out on each sector block obtained through division in the step S6, and the specific process is as shown in the steps S71-S73:
s71: for the first vertex P in a segment w Removing the change B of the three-dimensional coordinate value to obtain a vertex P w Possible original vertices P w1 The method comprises the steps of carrying out a first treatment on the surface of the In the sector, other vertex coordinates are kept unchanged, and the vertex P is calculated respectively w Gaussian curvature G (P) w ) Vertex P w1 Gaussian curvature G (P) w1 );
S72: based on the gaussian curvatures of the two vertexes obtained in S71, extracting a watermark w of 1 bit in the current sector, wherein the extraction formula is as follows:
s73: recovering the first vertex P in the current sector according to the watermark extracted in S72 w The coordinates of (c) are restored to the coordinates of the original vertex P as follows:
based on the technical scheme, each step can be further realized in the following preferred mode.
Preferably, in the step S1, if the vertex coordinate value range of the three-dimensional model is not (-1, 1), coordinate value conversion is required.
Preferably, in the step S1, the three-dimensional model displays a significant digit k=4.
Preferably, in the step S21, the specific method for calculating the shortest distance between the vertices in the three-dimensional model is as follows:
firstly, regarding a three-dimensional model as a weighted graph, presetting a matrix Dis, wherein elements Dis (i, j) of an ith row and an jth column in the matrix represent vertexes v i To vertex v j Is the distance of the shortest path of (a); in the initial state, if vertex v i And vertex v j Adjacent, dis (i, j) =1, otherwise, dis (i, j) = infinity;
then, for each vertex v in the three-dimensional model k Updating the matrix Dis once; at each update, with vertex v k Traversing the remaining vertices v as a basis i And vertex v j Judging Dis (i, k) +Dis (k, j) by combining the above components<Dis (i, j) is true, if true, proving v i To v k Go to v j Path ratio direct v of (2) i To v j Setting Dis (i, j) =dis (i, k) +dis (k, j), if not, keeping Dis (i, j) unchanged; wherein i.epsilon.1, 2, …, N v ],j∈[1,2,…,N v ],k∈[1,2,…,N v ],N V The number of the top points of the three-dimensional model;
when all vertices v are traversed k Then, dis (i, j) is taken as the vertex v i To vertex v j Is the shortest path distance of the path.
Preferably, in the step S4, the current sector P (l) P when bit 1 is needed to be embedded in (l) The x, y, z coordinates of the first vertex in the ciphertext all need to be synchronously modified, and the coordinates of the rest vertices remain unchanged.
Preferably, in the step S7, any vertex v of the segment r The gaussian curvature of (c) is calculated by:
wherein: s is S i The area of the ith adjacent triangle of the vertex, L is the number of adjacent triangles of the vertex, and delta (·) represents a dirac function; Δθ r Is the vertex v r Is the angle missing, the calculation formula is:
wherein: θ i The i-th adjacent angle of the vertex is L, and L is the number of adjacent angles of the vertex.
Preferably, in the step S71, the vertex P w Is (P) w,x ,P w,y ,P w,z ) Possible original vertices P after changing amount B are removed w1 The coordinates are (P) w,x -B,P w,y -B,P w,z -B)。
Preferably, in the step S7, only the coordinates of the first vertex in the segment are restored, and the remaining vertex coordinates remain unchanged.
Compared with the prior art, the invention has the following beneficial effects:
1) Aiming at the problem of data leakage of the cloud platform, the protection of the privacy of the three-dimensional model uploaded to the cloud is realized through an encryption system. In the conventional method, data security protection of the three-dimensional model cannot be realized due to invisibility of the encrypted three-dimensional model. In the method, the original model is segmented and encrypted to obtain the ciphertext model, and then the watermark is embedded to obtain the ciphertext model containing the watermark, and the model is directly decrypted at the receiving end and has high similarity with the original model, so that the reversible embedding and extraction of the watermark in the encrypted domain and the recovery of the original model can be realized.
2) The method can perfectly resist the translation attack, because the vertex coordinates of the sector block are increased by a certain value, the Gaussian curvature of the sector block cannot be changed, and therefore the watermark can be extracted correctly.
3) The method has good robustness to noise attack, and when Gaussian noise attack is carried out on the model, the vertex coordinates of the sector blocks are slightly disturbed, and the Gaussian curvature of the sector blocks is slightly disturbed. In order to resist the attack of Gaussian noise, a larger embedding parameter is selected when the watermark is embedded, so that the method has certain robustness.
Drawings
FIG. 1 is a flow chart of the method of the present invention;
FIG. 2 is a three-dimensional model and a partial view thereof;
FIG. 3 is a schematic block diagram of a three-dimensional model;
fig. 4 is a schematic diagram of a three-dimensional model watermark embedding process, wherein (a) an original model, (b) a ciphertext model, (c) a ciphertext model comprising a watermark, (d) a directly decrypted model (snr=30.93), (e) the recovered model (snr= +++), (f) the difference between the watermark and the extracted watermark (ber=0);
FIG. 5 is a diagram of 6 original three-dimensional models; wherein (a) fairy (b) boss (c) soluder (d) devil (e) ing (f) Lord;
Detailed Description
Specific embodiments of the present invention will be described in further detail below with reference to the accompanying drawings.
As shown in fig. 1, in a preferred embodiment of the present invention, a three-dimensional model robust watermarking method based on homomorphic encryption domain is provided, which comprises the following steps:
s1: preprocessing the three-dimensional model, and converting the vertex coordinates of the three-dimensional model into positive integers so as to facilitate encryption of the three-dimensional model.
Because the coordinates of the three-dimensional model are of the floating point number type, the general value range is |v i,j |<1, j e { x, y, z }, and therefore cannot be directly encrypted using the Paillier encryption system. In order to encrypt the three-dimensional model, the owner of the three-dimensional model needs to pre-process the three-dimensional model, and the three-dimensional model and a partial diagram thereof are shown in fig. 2. Since most applications do not require high precision vertex information, and the first 4 significant digits of a three-dimensional model already show the three-dimensional model well, the following formula is used to convert the vertices of the three-dimensional model to integers.
Wherein v is i Is the vertex of the three-dimensional model, v i,j Is the vertex v i J e { x, y, z }; v' i,j Is the vertex v i And (5) converting the j-axis coordinate. In addition, for encryption, the following formula is adopted to convert the vertex coordinates of the three-dimensional model into positive integers:
v′ i,j =v′ i,j +10000,j∈{x,y,z}
the encryption model can be further sent to an information embedding end for watermark embedding.
Of course, if the vertex coordinate value range of the three-dimensional model is not (-1, 1), it is necessary to convert it into coordinate values.
S2: the information embedding end divides the three-dimensional model obtained in the step S1 into a plurality of sector blocks, and ensures that the blocks are not overlapped.
The following describes in detail the method for dividing the non-overlapping segments in the three-dimensional model, as shown in S21 to S26:
s21: since the three-dimensional model contains vertex and edge structures, the three-dimensional model can be represented by a weighted graph g= < V, E >. In the figure, however, the shortest path between the vertices may be calculated using the floyd algorithm. The principle is as follows: the shortest path from vertex i to vertex j is not limited to two possible: 1) Directly from vertex i to vertex j; 2) Vertex i passes through a plurality of vertices and then reaches vertex j; the shortest distance between calculations i, j is determined: for each vertex k, we determine whether Dis (i, k) +dis (k, j) < Dis (i, j) is true, and if true, we prove that the distance from vertex i to vertex k, and then from vertex k to vertex j is shorter than the distance directly from vertex i to vertex j, so we update Dis (i, j) =dis (i, k) +dis (k, j). Thus, traversing through all k values, the minimum distance from vertex i to vertex j is ultimately obtained.
The specific way to calculate the shortest path between the vertices is as follows:
firstly, after the three-dimensional model is regarded as a weighted graph, a matrix Dis is preset, wherein an element Dis (i, j) of an ith row and a jth column in the matrix represents a vertex v i To vertex v j Is the distance of the shortest path of (a); in the initial state, if vertex v i And vertex v j Adjacent, then Dis (i, j) =1, otherwise, dis (i, j) = infinity;
then, the number of the top points of the statistical three-dimensional model is N V For each vertex v in the three-dimensional model k Updating the matrix Dis once; at each update, with vertex v k Traversing the remaining vertices v as a basis i And vertex v j Judging Dis (i, k) +Dis (k, j) by combining the above components<Dis (i, j) is true, if true, proving v i To v k Go to v j Path ratio direct v of (2) i To v j Setting Dis (i, j) =dis (i, k) +dis (k, j), if not, keeping Dis (i, j) unchanged; wherein i.epsilon.1, 2, …, N v ],j∈[1,2,…,N v ],k∈[1,2,…,N v ]。
When all vertices v are traversed k Then, dis (i, j) is taken as the vertex v i To vertex v j Is the shortest path distance of the path.
S22: after the distances between the vertices are calculated using the Floyd algorithm, in order to divide the three-dimensional model into a plurality of segments, the centers of all the segments need to be determined first. Assuming that the set of the central vertexes of all the sector blocks is S, the set S is set as an empty set in advance, and the initial first vertex v is selected 1 (the order of the vertices may be arranged according to the vertex index numbers, and the vertex may be added to the set S according to the index to determine which vertex is the first vertex, and the following applies).
S23: vertex set V with distance to all vertices in set S being greater than or equal to 3 in statistical three-dimensional model j ,Obtaining V j And then S24 is performed.
S24: judgment set V j Whether or not the space is empty, if not, V j Adding the first vertex in the set S, and re-executing S23, if the first vertex is an empty set, stopping the loop. And finally obtaining a center vertex set S of all the sector blocks.
S25: selecting a first vertex v from the set S i Vertex v i The vertices contained in a ring neighborhood of (a) are divided into the first segment P (l) The initial value of segment number l is 1, P (l) The vertex ordering of (a) is as follows:
wherein: p (P) (l) (P) represents the sorted segment P (l) P-th vertex of (v) l Representing segment P (l) The number of vertices, v k Representing vertex v i V is divided in a ring neighborhood of (2) i An outer vertex;
s26: continuously repeating S25, traversing each vertex in the set S in sequence, dividing each vertex into a sector until all the vertices in the set S are traversed, and dividing the three-dimensional model into a plurality of sectors; the number l of segments increases in sequence from an initial value of 1, the maximum value being the same as the number of vertices in the set S.
By doing so, it is ensured that the segments do not overlap each other. As shown in fig. 2, taking O as an example of the center vertex of the sector, a vertex marked with 1 is a neighboring point of O, a vertex marked with 2 is a neighboring point of O, and the vertex O and the vertex marked with 1 form the first sector. And the shortest number of paths between the center vertices of all segments is at least 3. Therefore, when any two segments take one vertex, the shortest path number is at least 1, that is, when adjacent segments subdivide the vertices, only the vertex marked with 2 can be scratched into the vertex, but the vertex marked with 1 can not be scratched into the vertex, so that the segments are ensured not to overlap each other. Thus, by this method it is ensured that each time the selected segments do not overlap each other, each vertex is divided into at most one segment.
S3: the sector is Paillier encrypted.
Encrypting each block using a Paillier encryption system, for each sector block P during encryption (l) The three-dimensional coordinates of the sector block are encrypted by public keys (N, g) to obtain ciphertext corresponding to the sector block, and the encryption formula is as follows:
wherein: j ε { x, y, z }, C (l) (P, j) is an encrypted segment P (l) The j-axis coordinate of the p-th vertex of the pair, E [. Cndot.]P is the encryption function of the Paillier encryption system (l) (P, j) represents segment P (l) The j-axis coordinate of the p-th vertex in (c).
The Paillier encryption system is the probability public key encryption system of the Paillier invention in 1999. The encryption algorithm is homomorphic encryption, meets the requirement of addition and multiplication homomorphism, and the specific encryption process belongs to the prior art, and is not repeated.
S4: watermark is embedded into the sector cipher text.
The ciphertext of the sector block is obtained in S3, and thus the ciphertext may be watermark embedded. A watermark is a string of binary digits of a certain length, into which 1 bit of information can be embedded according to a certain rule for each sector. In this step, by modifying the coordinates of the first vertex in the ciphertext of the sector (the remaining vertices remain unchanged), 1-bit watermarks are embedded in the ciphertext of each sector of the three-dimensional model in sequence, respectively, so as to obtain a three-dimensional encryption model for transmission to the receiver. The watermark embedding rule in each sector is:
if the current sector block P (l) Bit 0 is needed to be embedded in the memory, P is not changed (l) Coordinates of the first vertex of (a);
if the current sector block P (l) Bit 1 is needed to be embedded in the middle, then at P (l) The coordinate of the first vertex is modified in the ciphertext, the change amount is B, and the modification formula is as follows:
wherein:sector P encrypted for Paillier (l) J-axis coordinate after watermark is embedded into the 1 st vertex in the matrix, C (l) (1, j) is Paillier-encrypted segment P (l) J-axis coordinates of the 1 st vertex, j e { x, y, z };
the above change amount B corresponds to the modification in the text as follows:
wherein:representing segment P (l) J-axis coordinate, P of 1 st vertex embedded with watermark (l) (1, j) represents segment P (l) J-axis coordinates of the 1 st vertex in (b).
In the above process, attention is paid to the current sector P (l) P when bit 1 is needed to be embedded in (l) The x, y, z coordinates of the first vertex in the ciphertext all need to be synchronously modified, and the coordinates of the rest vertices remain unchanged.
Through the process, watermark information can be fully embedded into the sector blocks of the three-dimensional model, so that an encryption model with watermarks is obtained, the encryption model can be sent to a receiving end, various treatments or interferences are prevented from being suffered in the sending process, and the safety of information transmission is ensured.
S5: after receiving the three-dimensional encryption model, the receiving end decrypts the three-dimensional encryption model to obtain a three-dimensional decryption model, wherein the decryption formula of the three-dimensional model is as follows:
wherein: d is the decryption function of the Paillier encryption system. The Paillier decryption process also belongs to the prior art and is not described in detail.
Because the original three-dimensional model is a three-dimensional point set with a certain spatial correlation, the surface of the three-dimensional model is generally smooth during construction, and when the watermark is embedded, the coordinate values of the three-dimensional model are changed, so that the original block is smoother than the block embedded with the watermark. Therefore, the invention can evaluate the smoothness of the sector blocks through the smoothness evaluation function based on the principle, thereby judging whether the watermark embedded in each sector block is 0 or 1, and realizing the extraction of the watermark. The watermark extraction process is described in detail below.
S6: for the three-dimensional decryption model, it is first required to divide it into a plurality of sector blocks again, and ensure that there is no overlap between the blocks. The specific dividing method is as described in S2, because the vertex index sequence in the three-dimensional model is not changed, the same sector can be obtained by dividing again by the same method as S2, and then the same sector can be used for extracting the watermark.
S7: watermark extraction and original vertex recovery are sequentially performed for each sector obtained by dividing in S6, and since the information embedded in different sectors may be different, the first vertex coordinates thereof are not actually changed when watermark 0 is embedded, and the first vertex coordinates thereof are changed when watermark 1 is embedded. Therefore, we can determine what watermark is embedded by the back-extrapolation method. In the invention, the first vertex in the sector can be supposed to be embedded with the watermark 1, then the first vertex is restored according to the coordinate change mode when the watermark is embedded to obtain possible original vertex coordinates, then the smoothness of the sector before and after the change of the vertex coordinates is calculated respectively, if the block before the change of the vertex coordinates is smoother, the coordinate is not changed when the watermark is actually embedded, the watermark embedded in the current block is supposed to be 0, if the block after the change of the vertex coordinates is smoother, the coordinate is actually changed when the watermark is actually embedded, and the watermark embedded in the current block is supposed to be 1.
The specific implementation process of each sector block in the method is as follows in S71-S73:
s71: for the first vertex P in a segment w Removing the change B of the three-dimensional coordinate value to obtain a vertex P w Possible original vertices P w1 . Let vertex P w Is (P) w,x ,P w,y ,P w,z ) Possible original vertices P after changing amount B are removed w1 The coordinates are (P) w,x -B,P w,y -B,P w,z -B)。
In the sector, other vertex coordinates are kept unchanged, and the vertex P is calculated respectively w Gaussian curvature G (P) w ) Vertex P w1 Gaussian curvature G (P) w1 )。
S72: based on the gaussian curvatures of the two vertexes obtained in S71, extracting a watermark w of 1 bit in the current sector, wherein the extraction formula is as follows:
namely: g (P) w )<G(P w1 ) The block before the vertex coordinates are changed is smoother, the curvature is increased after the change, the original assumption is wrong, the coordinates are not changed when the watermark is actually embedded, and the watermark embedded by the current block is 0.G (P) w )>G(P w1 ) Indicating that the block after the vertex coordinates are changed is smoother, and the curvature is smaller after the change, indicating that the coordinates are actually changed when the watermark is actually embedded, and the watermark embedded by the current block is 1.
Thus, a corresponding embedded watermark value may be extracted from each block.
S73: recovering the first vertex P in the current sector according to the watermark extracted in S72 w The coordinates of (c) are restored to the coordinates of the original vertex P as follows:
namely: when the watermark embedded in the current block is 1, the changed vertex P is used for w1 The coordinates are used as the original coordinates of the vertex P, and when the watermark embedded in the current block is 0, the current vertex P is kept w The coordinates are unchanged and are directly regarded as the coordinates of the original vertex P. In the model restoration process, only the coordinates of the first vertex in the sector block are restored, and the coordinates of the rest vertices remain unchanged.
In the calculation process in step S7, the gaussian curvature calculation method of the vertices in the segment may be implemented by any feasible method in the prior art. In this embodiment, a feasible implementation manner is provided:
any vertex v in the segment r The gaussian curvature of (c) is calculated by:
wherein: s is S i The area of the ith adjacent triangle of the vertex, L is the number of adjacent triangles of the vertex, delta (·) represents a dirac function (v represents a function variable); Δθ r Is the vertex v r Is the angle missing, the calculation formula is:
wherein: θ i The i-th adjacent angle of the vertex is L, and L is the number of adjacent angles of the vertex.
Therefore, the cloud platform data leakage protection method and device can realize protection of the three-dimensional model privacy uploaded to the cloud through the encryption system aiming at the data leakage problem of the cloud platform. The method divides the three-dimensional model into a plurality of blocks, performs block encryption to ensure the safety of the three-dimensional model, and can correctly extract the watermark and restore the original three-dimensional model by means of the spatial correlation of the original three-dimensional model in the watermark extraction process, as shown in fig. 3. Compared with the traditional method, the method has low distortion degree of the decrypted water-containing impression model, and can resist the attack of translation, scaling and additive noise on the three-dimensional model. The above method is applied to specific embodiments below in order to explain specific technical effects thereof. The specific steps of the method are described in S1-S7, and are not repeated, and the specific parameters and the realized effects are mainly described below.
Examples
1. Performance analysis of the method
FIG. 3 shows the results of an experiment with a 3D model Devil containing 50000 vertices as a carrier to verify the feasibility of the method of the invention. The embedded watermark is a 1024-bit pseudorandom sequence. The original model shown in fig. 3 (a) is firstly segmented in a fan shape, then the model is encrypted to obtain a ciphertext model (shown in fig. 3 (b)), and then a watermark is embedded to obtain the ciphertext model containing the watermark (shown in fig. 3 (c)). By decrypting fig. 3 (c) to obtain a directly decrypted model (as shown in fig. 3 (d)), the directly decrypted model can be found to have a high similarity with the original model. Finally, the watermark is extracted from the model and the model is restored (as shown in fig. 3 (e)), and it can be found that the restored three-dimensional model is visually undistorted compared to the original three-dimensional model. The result shows that the method of the invention realizes reversible embedding and extraction of the watermark in the encryption domain and recovery of the original model.
2. Robustness (robustness)
In order to compare the robustness of the algorithm under different attacks, a plurality of attacks are performed on the directly decrypted 3D model. Table 1 shows the error rate of extracting the watermark under different attacks. Fig. 4 shows six original three-dimensional models. The three-dimensional model after embedding the watermark into the original model in fig. 4 is shown in fig. 5.
The robustness of the method to the translational attack is tested by carrying out the translational attack on the model. As shown in the column "Translation" in Table 1, the method of the present invention can perfectly resist Translation attack. This is because the vertex coordinates of the segment are increased by a certain value, and the gaussian curvature of the segment does not change, so that the watermark can be extracted correctly.
The robustness of the algorithm to scaling attacks is tested by subjecting the model to varying degrees of scaling attacks (0.8,1.2,1.5). As shown in the column "Scal" in table 1, the method of the present invention is somewhat robust to scaling attacks. When the model is subjected to scaling attack, the vertex coordinates of the sector are multiplied by a certain coefficient, and the Gaussian curvature of the sector is not changed, so that the watermark can be extracted correctly.
The robustness of the algorithm to noise attacks is tested by subjecting the model to different degrees of gaussian noise attacks (0.005,0.01,0.02). As shown in the column "Gaussion" in table 1, the method of the present invention is robust to noise attacks. When the model is subjected to Gaussian noise attack, the vertex coordinates of the segment are slightly disturbed, and the Gaussian curvature is slightly disturbed. In order to resist the attack of Gaussian noise, a larger embedding parameter is selected when the watermark is embedded, so that the method has certain robustness.
Table 1 error rates for watermark extraction under different attacks
The above embodiment is only a preferred embodiment of the present invention, but it is not intended to limit the present invention. Various changes and modifications may be made by one of ordinary skill in the pertinent art without departing from the spirit and scope of the present invention. Therefore, all the technical schemes obtained by adopting the equivalent substitution or equivalent transformation are within the protection scope of the invention.
Claims (8)
1. A three-dimensional model robust watermarking method based on homomorphic encryption domain is characterized by comprising the following steps:
s1: preprocessing the three-dimensional model to convert floating point vertex coordinates with the value range (-1, 1) of the three-dimensional model into positive integers, wherein the conversion method comprises the following steps:
wherein v is i Is the vertex of the three-dimensional model, v i,j Is the vertex v i J e { x, y, z }; v' i,j Is the vertex v i The converted j-axis coordinate, k is the effective digit displayed by the three-dimensional model;
s2: dividing the three-dimensional model obtained in the step S1 into a plurality of sector blocks, and ensuring that the blocks are not overlapped, wherein the dividing method is as shown in the steps S21-S26:
s21: calculating the shortest distance between each vertex in the three-dimensional model by using a floyd algorithm;
s22: initializing a sector block central vertex set S as an empty set, and taking a first vertex v from a three-dimensional model 1 Adding to set S;
s23: vertex set V with distance to all vertices in set S being greater than or equal to 3 in statistical three-dimensional model j And performs S24;
s24: judgment set V j Whether or not the space is empty, if not, V j Adding the first vertex of the set S, re-executing S23, and stopping circulation if the first vertex is an empty set;
s25: selecting a first vertex v from the set S i Vertex v i Vertex partitioning contained within a ring neighborhood of (a)For the first segment P (l) The initial value of segment number l is 1, P (l) The vertex ordering of (a) is as follows:
wherein: p (P) (l) (P) represents the sorted segment P (l) P-th vertex of (v) l Representing segment P (l) The number of vertices, v k Representing vertex v i V is divided in a ring neighborhood of (2) i An outer vertex;
s26: continuously repeating S25, traversing each vertex in the set S in sequence until all vertices in the set S are traversed, and dividing the three-dimensional model into a plurality of sector blocks;
s3: encrypting each block using a Paillier encryption system, for each sector block P during encryption (l) The three-dimensional coordinates of the sector block are encrypted by public keys (N, g) to obtain ciphertext corresponding to the sector block, and the encryption formula is as follows:
wherein: j ε { x, y, z }, C (l) (P, j) is an encrypted segment P (l) The j-axis coordinate of the p-th vertex of the pair, E [. Cndot.]P is the encryption function of the Paillier encryption system (l) (P, j) represents segment P (l) The j-axis coordinate of the p-th vertex in the (b);
s4: sequentially embedding 1-bit watermarks in the ciphertext of each sector of the three-dimensional model by modifying the coordinates of the first vertex in the ciphertext of the sector to obtain a three-dimensional encryption model for sending to a receiver; wherein the watermark embedding rule in each sector is: if the current sector block P (l) Bit 0 is needed to be embedded in the memory, P is not changed (l) Coordinates of the first vertex of (a);
if the current sector block P (l) Bit 1 is needed to be embedded in the middle, then at P (l) The coordinate of the first vertex is modified in the ciphertext, the change amount is B, and the modification formula is as follows:
wherein:sector P encrypted for Paillier (l) J-axis coordinate after watermark is embedded into the 1 st vertex in the matrix, C (l) (1, j) is Paillier-encrypted segment P (l) J-axis coordinates of the 1 st vertex, j e { x, y, z };
the above change amount B corresponds to the modification in the text as follows:
wherein:representing segment P (l) J-axis coordinate, P of 1 st vertex embedded with watermark (l) (1, j) represents segment P (l) J-axis coordinates of the 1 st vertex in (b);
s5: after receiving the three-dimensional encryption model, the receiver decrypts the three-dimensional encryption model to obtain a three-dimensional decryption model, wherein the decryption formula of the three-dimensional model is as follows:
wherein: d is the decryption function of the Paillier encryption system;
s6: aiming at the three-dimensional decryption model, dividing the three-dimensional decryption model into a plurality of sector blocks according to the method in S2, and ensuring that the blocks are not overlapped;
s7: watermark extraction and original vertex recovery are sequentially carried out on each sector block obtained through division in the step S6, and the specific process is as shown in the steps S71-S73:
s71: for the first vertex P in a segment w Removing the change B of the three-dimensional coordinate value to obtain a vertex P w Possible original vertices P w1 The method comprises the steps of carrying out a first treatment on the surface of the In the sector, other vertex coordinates are kept unchanged, and the vertex P is calculated respectively w Gaussian curvature G (P) w ) Vertex P w1 Gaussian curvature G (P) w1 );
S72: based on the gaussian curvatures of the two vertexes obtained in S71, extracting a watermark w of 1 bit in the current sector, wherein the extraction formula is as follows:
s73: recovering the first vertex P in the current sector according to the watermark extracted in S72 w The coordinates of (c) are restored to the coordinates of the original vertex P as follows:
2. the method of claim 1, wherein in the step S1, if the vertex coordinate of the three-dimensional model is not (-1, 1), coordinate value conversion is required.
3. The method for robust watermarking of three-dimensional models based on homomorphic encryption domain according to claim 1, wherein in step S1, the three-dimensional model displays significant bit number k=4.
4. The method for robust watermarking of three-dimensional model based on homomorphic encryption domain according to claim 1, wherein in step S21, the specific way of calculating the shortest distance between each vertex in the three-dimensional model is as follows:
firstly, regarding a three-dimensional model as a weighted graph, presetting a matrix Dis, wherein elements Dis (i, j) of an ith row and an jth column in the matrix represent vertexes v i To vertex v j Is the distance of the shortest path of (a); in the initial state, if vertex v i And vertex v j Adjacent, then Dis (i, j) =1, otherwise, dis (i, j) = infinity;
then, for each vertex v in the three-dimensional model k Updating the matrix Dis once; at each update, with vertex v k Traversing the remaining vertices v as a basis i And vertex v j Judging Dis (i, k) +Dis (k, j) by combining the above components<Dis (i, j) is true, if true, proving v i To v k Go to v j Path ratio direct v of (2) i To v j Setting Dis (i, j) =dis (i, k) +dis (k, j), if not, keeping Dis (i, j) unchanged; wherein i.epsilon.1, 2, …, N v ],j∈[1,2,…,N v ],k∈[1,2,…,N v ],N V The number of the top points of the three-dimensional model;
when all vertices v are traversed k Then, dis (i, j) is taken as the vertex v i To vertex v j Is the shortest path distance of the path.
5. The method for three-dimensional model robust watermarking based on homomorphic encryption domain according to claim 1, wherein in step S4, the current sector P (l) P when bit 1 is needed to be embedded in (l) The x, y, z coordinates of the first vertex in the ciphertext all need to be synchronously modified, and the coordinates of the rest vertices remain unchanged.
6. The method for robust watermarking of three-dimensional model based on homomorphic encryption domain according to claim 1, wherein in step S7, any vertex v in the segment is r The gaussian curvature of (c) is calculated by:
in the middle of:S i The area of the ith adjacent triangle of the vertex, L is the number of adjacent triangles of the vertex, delta (·) represents a dirac function, and v represents a function variable; Δθ r Is the vertex v r Is the angle missing, the calculation formula is:
wherein: θ i The i-th adjacent angle of the vertex is L, and L is the number of adjacent angles of the vertex.
7. The method for three-dimensional model robust watermarking based on homomorphic encryption domain according to claim 1, wherein in step S71, the vertex P w Is (P) w,x ,P w,y ,P w,z ) Possible original vertices P after changing amount B are removed w1 The coordinates are (P) w,x -B,P w,y -B,P w,z -B)。
8. The method for robust watermarking of three-dimensional models based on homomorphic encryption domain according to claim 1, wherein in step S7, only the coordinates of the first vertex in the segment are restored, and the remaining vertex coordinates remain unchanged.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010386600.1A CN111598765B (en) | 2020-05-09 | 2020-05-09 | Three-dimensional model robust watermarking method based on homomorphic encryption domain |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010386600.1A CN111598765B (en) | 2020-05-09 | 2020-05-09 | Three-dimensional model robust watermarking method based on homomorphic encryption domain |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111598765A CN111598765A (en) | 2020-08-28 |
CN111598765B true CN111598765B (en) | 2023-05-26 |
Family
ID=72185383
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010386600.1A Active CN111598765B (en) | 2020-05-09 | 2020-05-09 | Three-dimensional model robust watermarking method based on homomorphic encryption domain |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111598765B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112417507B (en) * | 2020-12-02 | 2024-04-02 | 桂林电子科技大学 | Method for publishing node triangle count of large-scale graph based on privacy protection |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609889A (en) * | 2011-01-20 | 2012-07-25 | 北京中盈信安科技发展有限责任公司 | Image digital watermark embedding method and image digital watermark detecting method |
CN102999881A (en) * | 2012-12-20 | 2013-03-27 | 福建师范大学 | Producing method and extraction method of fragile watermarks of three-dimensional model with robustness |
CN108470318A (en) * | 2018-02-06 | 2018-08-31 | 杭州电子科技大学 | The three-dimensional grid doubly time series model method positioned based on grouping strategy and neighborhood relationships |
CN108876694A (en) * | 2018-05-31 | 2018-11-23 | 上海理工大学 | The threedimensional model blind watermark algorithm algorithm decomposed based on Schur |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1891626A1 (en) * | 2005-06-03 | 2008-02-27 | Koninklijke Philips Electronics N.V. | Homomorphic encryption for secure watermarking |
-
2020
- 2020-05-09 CN CN202010386600.1A patent/CN111598765B/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609889A (en) * | 2011-01-20 | 2012-07-25 | 北京中盈信安科技发展有限责任公司 | Image digital watermark embedding method and image digital watermark detecting method |
CN102999881A (en) * | 2012-12-20 | 2013-03-27 | 福建师范大学 | Producing method and extraction method of fragile watermarks of three-dimensional model with robustness |
CN108470318A (en) * | 2018-02-06 | 2018-08-31 | 杭州电子科技大学 | The three-dimensional grid doubly time series model method positioned based on grouping strategy and neighborhood relationships |
CN108876694A (en) * | 2018-05-31 | 2018-11-23 | 上海理工大学 | The threedimensional model blind watermark algorithm algorithm decomposed based on Schur |
Also Published As
Publication number | Publication date |
---|---|
CN111598765A (en) | 2020-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Dhawan et al. | Analysis of various data security techniques of steganography: A survey | |
CN111861851B (en) | Method for exchanging cipher watermark with vector geographic data | |
Peng et al. | Separable robust reversible watermarking in encrypted 2D vector graphics | |
Mansour et al. | Reversible data hiding for electronic patient information security for telemedicine applications | |
El-Bendary | FEC merged with double security approach based on encrypted image steganography for different purpose in the presence of noise and different attacks | |
Chanu et al. | A survey paper on secret image sharing schemes | |
Chen et al. | Error-free separable reversible data hiding in encrypted images using linear regression and prediction error map | |
Kiani et al. | A multi-purpose digital image watermarking using fractal block coding | |
CN110430334B (en) | Mosaic camouflage and recovery method based on superposition of fan-shaped composition units | |
Chang et al. | Fast turtle shell-based data embedding mechanisms with good visual quality | |
Gao et al. | High-performance reversible data hiding in encrypted images with adaptive Huffman code | |
Liu et al. | A fully reversible data hiding scheme in encrypted images based on homomorphic encryption and pixel prediction | |
CN111598765B (en) | Three-dimensional model robust watermarking method based on homomorphic encryption domain | |
Yu et al. | Reversible data hiding in encrypted images for coding channel based on adaptive steganography | |
Mansour et al. | Steganography-Based Transmission of Medical Images Over Unsecure Network for Telemedicine Applications. | |
Abbasi et al. | Efficient lossless based secure communication in 6G Internet-of-Things environments | |
CN111598766B (en) | Encryption domain three-dimensional model reversible information hiding method based on prediction error expansion | |
Gao et al. | Reversible Data Hiding for Encrypted 3D Mesh Models with Secret Sharing over Galois Field | |
Tsai | An efficient 3D information hiding algorithm based on sampling concepts | |
CN105279728B (en) | Pretreated intelligent mobile terminal image latent writing method is encrypted based on secret information | |
Teotia et al. | Enhancing audio and video steganography technique using hybrid algorithm | |
CN116405182A (en) | Reversible information hiding method based on recursion structure and blocking thought | |
Ping et al. | Novel asymmetric CNN-based and adaptive mean predictors for reversible data hiding in encrypted images | |
Jose et al. | High-capacity reversible data hiding using quotient multi pixel value differencing scheme in encrypted images by fuzzy based encryption | |
Cheng et al. | A reversible data hiding scheme for VQ indices using histogram shifting of prediction errors |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |