Three-dimensional grid model encryption steganography method and system based on ripple prediction
Through the steganography method of encrypted domain 3D mesh model based on ripple prediction, the balance between data security and visual quality of the three-dimensional mesh model is solved, and high privacy and efficient data transmission are achieved.
Patent Information
- Application Number
- CN202510004802.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-02
- Publication Date
- 2025-04-18
AI Technical Summary
While ensuring the security of the three-dimensional grid model data, the prior art is difficult to maintain the visual quality and geometric accuracy of the model, and cannot effectively prevent unauthorized access, tampering and copying.
The encrypted domain three-dimensional grid model steganography method based on ripples prediction is used to generate a labeled three-dimensional grid model containing secret data through vertex coordinate transformation, ripples prediction, encoding processing and encryption upload, and secret data is embedded in cloud storage.
On the premise of ensuring the privacy of the model, the data embedding capacity is significantly improved, and it is suitable for the data transmission of three-dimensional grid model with high privacy requirements, maintaining the visual quality and geometric accuracy of the model.
Smart Images

Figure CN119848933A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a 3D mesh model data protection technology, specifically a 3D mesh model encryption steganography method based on ripple prediction. The method is applicable to the 3D model data security issues in the fields of digital media, game development, virtual reality, etc. Background Art
[0002] In recent years, 3D mesh model technology has been widely used in many fields such as digital media, game development, virtual reality (VR), augmented reality (AR), medical imaging and engineering simulation, and has become an important means of digital content creation and display. Since 3D model data usually contains detailed geometric information and fine texture data, its data privacy and integrity are easily threatened during transmission, storage and sharing. Specifically, these data are often subject to risks such as malicious access, tampering and theft in an open network environment, which directly affects the visual expression and commercial value of the model.
[0003] Currently, the demand for ensuring the security of 3D mesh model data is growing, but existing protection methods are difficult to strike a good balance between data privacy and model quality, often resulting in reduced visual quality or low computational efficiency of the model. Therefore, an innovative protection method is urgently needed that can not only effectively prevent unauthorized access, tampering, and copying, but also achieve good visual quality and geometric accuracy in a variety of application environments, providing a reliable solution to the growing demand for 3D model data security. Summary of the invention
[0004] In order to solve the above problems, the present invention proposes a three-dimensional grid model encryption steganography method based on ripple prediction.
[0005] The technical solution steps of the present invention are as follows:
[0006] In a first aspect, the present invention provides an encrypted domain three-dimensional mesh model steganography method based on ripple prediction, which is used to encrypt and steganographically process model data before transmitting it to a public network, comprising:
[0007] S1, the model owner performs vertex coordinate transformation on the three-dimensional mesh model;
[0008] S2. The model owner uses the ripple prediction method to predict the vertices of the three-dimensional mesh model. When predicting, the adjacent vertices are predicted layer by layer with the reference point as the starting center until all vertices of the entire three-dimensional mesh model are expanded, and finally the prediction error of each vertex is generated;
[0009] S3, the model owner performs encoding processing on the obtained prediction error;
[0010] S4, the model owner encrypts the encoded data, generates an encrypted three-dimensional mesh model, and uploads it to cloud storage;
[0011] S5. The cloud service provider embeds the secret data in the encrypted three-dimensional mesh model to generate a labeled three-dimensional mesh model containing the secret data.
[0012] As a preferred embodiment of the first aspect, in S1, the method in which the model owner performs vertex coordinate transformation on the three-dimensional mesh model is as follows:
[0013] S11, the model owner extracts a vertex set consisting of all vertices and a face set consisting of all faces from the three-dimensional mesh model;
[0014] S12. The model owner converts the vertex coordinates of the three-dimensional mesh model into integer form through an integer transformation operation, and the converted integer form vertex coordinates are represented as a bit stream of a first length.
[0015] As a preferred embodiment of the first aspect, in S2, the model owner applies the ripple prediction method to predict the vertices of the three-dimensional mesh model, thereby generating a prediction error as follows:
[0016] S21, calculating the centroid of the model based on the coordinates of all vertices in the three-dimensional mesh model, and taking the vertex with the smallest distance to the centroid as a reference vertex;
[0017] S22, initializing two empty queues as the current wavefront queue and the next wavefront queue respectively, and inserting the reference vertex into the current wavefront queue and the output vertex list;
[0018] S23, traversing all vertices in the current wavefront queue, searching for vertices in the three-dimensional mesh model that are directly connected to vertices in each queue but are not in the output vertex list, and inserting them into the next wavefront queue; then arranging the vertices in the next wavefront queue in ascending order by index, and inserting them into the output vertex list after the existing vertices in the output vertex list in the order of arrangement; finally, updating the next wavefront queue to the current wavefront queue, and then clearing the original next wavefront queue;
[0019] S24, continuously repeating step S23 until all vertices in the three-dimensional mesh model are inserted into the output vertex list;
[0020] S25. Output vertex list All vertices in are re-indexed in the order of insertion; then the re-indexed vertex list is traversed in turn, and the prediction error between each vertex and the minimum index vertex directly connected to it is calculated, and the prediction error between two vertices includes the three coordinate axis dimensions of x, y, and z; the prediction errors of all vertices are stored in the prediction error list.
[0021] As a preferred embodiment of the first aspect, in S3, the method in which the model owner performs encoding processing on the obtained prediction error is as follows:
[0022] S31, for each coordinate axis dimension of the prediction error, respectively determine the maximum value of the prediction error on this coordinate axis dimension, and perform logarithmic conversion on the maximum value of the prediction error with a base of 2 and then round it up, and the obtained integer value is used as the bit stream coding length on this coordinate axis dimension;
[0023] S32. Convert the prediction error of each vertex in the prediction error list into a bit stream in turn, convert the prediction error value of each coordinate axis dimension into a binary bit stream according to the bit stream encoding length of the dimension, and use an additional sign bit to record the positive and negative status of the prediction error in this coordinate axis dimension. The prediction error bit stream is composed of the binary bit stream and the sign bit.
[0024] As a preferred embodiment of the first aspect, in S4, the model owner encrypts the encoded data to generate an encrypted three-dimensional mesh model and uploads it to cloud storage as follows:
[0025] S41, concatenating a random bit stream satisfying a second length after the prediction error bit stream corresponding to each coordinate axis dimension of each vertex, thereby converting each coordinate axis dimension into a concatenated bit stream satisfying the first length;
[0026] S42. Use the model encryption key to generate a random bit stream, and divide the random bit stream into a series of sub-bit streams that meet the first length, then extract the sub-bit streams in turn and encrypt the concatenated bit streams of each vertex in the three-dimensional mesh model through an XOR operation, thereby obtaining an encrypted vertex coordinate bit stream; after completing the encryption of all vertices, obtain the encrypted three-dimensional mesh model and upload it to cloud storage.
[0027] As a preferred embodiment of the first aspect, in S5, the cloud service provider embeds secret data in the encrypted three-dimensional mesh model to generate a marked three-dimensional mesh model containing the secret data as follows:
[0028] S51, encrypting the secret data using the data hiding key to generate encrypted secret data;
[0029] S52, embedding the encrypted secret data into the encrypted vertex coordinates of each other except the reference vertex in the encrypted three-dimensional mesh model, by replacing the least significant bit of the encrypted vertex coordinate bit stream that satisfies the second length, thereby generating a marked three-dimensional mesh model containing the secret data;
[0030] S53, saving the marked three-dimensional mesh model containing the secret data back in the cloud.
[0031] In a second aspect, the present invention provides a method for decrypting an encrypted domain three-dimensional mesh model based on ripple prediction. After a model receiver receives a marked three-dimensional mesh model containing secret data generated by the steganographic method described in any one of the first aspects from a cloud service provider, the marked three-dimensional mesh model is decrypted and embedded secret data is extracted therefrom. The method for decrypting and extracting secret data is as follows:
[0032] S61, extracting vertex coordinates other than reference vertices from the marked three-dimensional mesh model, wherein the least significant bit of each vertex coordinate that satisfies the second length is used as a secret information extraction segment, and the remaining most significant bits are used as a model original coordinate extraction segment;
[0033] S62, using the model encryption key to decrypt the model original coordinate extraction segment to extract the prediction error bit stream;
[0034] S63, reconverting the prediction error bit stream corresponding to each coordinate axis dimension of each vertex into a prediction error;
[0035] S64, based on the reference vertex and the prediction error, taking the reference vertex as the center, restoring the coordinates of the peripheral neighborhood vertices layer by layer, and reconstructing the vertex coordinates of all vertices in the three-dimensional mesh model;
[0036] S65, reconstructing the original three-dimensional mesh model by performing an inverse operation of the integer transformation operation on each vertex coordinate of the three-dimensional mesh model;
[0037] S66, sequentially splicing the secret information extraction segments of all vertex coordinates to form encrypted secret data;
[0038] S67. Decrypt the encrypted secret data using the data hiding key to obtain the original secret data.
[0039] In a third aspect, the present invention provides an encryption and decryption system for an encrypted domain three-dimensional mesh model based on ripple prediction, which comprises:
[0040] An encryption system, used to generate a marked three-dimensional mesh model containing secret data and store it in the cloud according to the encryption domain three-dimensional mesh model steganography method based on ripple prediction as described in any one of the first aspects above;
[0041] A decryption system is used to receive a labeled three-dimensional mesh model containing secret data from a cloud service provider in accordance with the encrypted domain three-dimensional mesh model decryption method based on ripple prediction as described in the second aspect above, and decrypt the labeled three-dimensional mesh model to extract embedded secret data therefrom.
[0042] In a fourth aspect, the present invention provides a computer-readable storage medium, characterized in that a computer program is stored on the storage medium, and when the computer program is executed by a processor, it can implement the encrypted domain three-dimensional mesh model steganography method based on ripple prediction as described in any one of the first aspects above, or implement the encrypted domain three-dimensional mesh model decryption method based on ripple prediction as described in the second aspect above.
[0043] In a fifth aspect, the present invention provides a computer electronic device, characterized in that it includes a memory and a processor;
[0044] The memory is used to store computer programs;
[0045] The processor is used to implement the encrypted domain three-dimensional mesh model steganography method based on ripple prediction as described in any one of the first aspects above, or to implement the encrypted domain three-dimensional mesh model decryption method based on ripple prediction as described in the second aspect above, when executing the computer program.
[0046] Compared with the prior art, the beneficial effects of the present invention are as follows:
[0047] The present invention utilizes the geometric continuity of the three-dimensional mesh model and realizes effective data compression through a ripple-type vertex prediction strategy, thereby providing sufficient redundant space for the embedding of secret data. The prediction process is similar to the layer-by-layer diffusion of ripples on the water surface, so only a small amount of data needs to be recorded to accurately predict the model, thereby reducing data redundancy. Experimental results show that the present invention significantly improves the data embedding capacity while ensuring the privacy of the model, and is suitable for the transmission of three-dimensional mesh model data with high privacy requirements. The method has shown good performance and practicality in a variety of application scenarios, and provides a new solution for the data protection of three-dimensional models. BRIEF DESCRIPTION OF THE DRAWINGS
[0048] Figure 1 It is a schematic diagram of the steps of the encrypted domain three-dimensional mesh model steganography method based on ripple prediction;
[0049] Figure 2 This is a module composition diagram of the encryption and decryption system of the encrypted domain three-dimensional grid model based on ripple prediction;
[0050] Figure 3 It is a structural diagram of the components of computer equipment;
[0051] Figure 4 It is a schematic diagram of the ripple prediction method;
[0052] Figure 5 The original 3D mesh model in the digitized example for ripple prediction;
[0053] Figure 6Schematic diagram of the iterative process in the digitized example of ripple prediction;
[0054] Figure 7 The reindexed 3D mesh model for the digitized example of ripple prediction;
[0055] Figure 8 This is a schematic diagram of the data structure of the encrypted vertex coordinate bit stream;
[0056] Fig. 9 Visual display of 6 different 3D models (Dolphin, Rabbit, Horse, Face, Fish, Flower) at different stages;
[0057] Fig.10 A visual representation of the secret images at different stages. DETAILED DESCRIPTION
[0058] In order to make the above-mentioned purpose, features and advantages of the present invention more obvious and easy to understand, the specific implementation mode of the present invention is described in detail below in conjunction with the accompanying drawings. In the following description, many specific details are set forth to facilitate a full understanding of the present invention. However, the present invention can be implemented in many other ways different from those described herein, and those skilled in the art can make similar improvements without violating the connotation of the present invention. Therefore, the present invention is not limited to the specific embodiments disclosed below. The technical features in each embodiment of the present invention can be combined accordingly without conflicting with each other.
[0059] The present invention provides a steganographic method of a three-dimensional mesh model in an encrypted domain based on ripple prediction, which aims to solve the transmission security problem of three-dimensional mesh model data in the fields of digital media, game development and virtual reality. The core idea of the method is to use the geometric continuity of the three-dimensional mesh model to achieve effective data compression through a ripple-type vertex prediction strategy, thereby providing sufficient redundant space for the embedding of secret data. Specifically, the vertex centroid of the three-dimensional mesh model is first calculated, and the vertex with the smallest distance to the centroid is selected as the reference vertex to start ripple prediction. Then, starting from the reference point, the adjacent vertices are predicted layer by layer, and gradually extended to all vertices of the entire mesh model. The prediction process is similar to the layer-by-layer diffusion of ripples on the water surface, so we only need to record a small amount of data to accurately predict the model, thereby reducing data redundancy. Experimental results show that the present invention significantly improves the data embedding capacity under the premise of ensuring the privacy of the model, and is suitable for the transmission of three-dimensional mesh model data with high privacy requirements. The method shows good performance and practicality in a variety of application scenarios, and provides a new solution for the data protection of three-dimensional models.
[0060] In a preferred embodiment of the present invention, an encrypted domain three-dimensional mesh model steganography method based on ripple prediction is provided, which is used to encrypt and steganographically process model data before transmitting it to a public network to ensure the privacy and security of the data, and the specific steps are as described in S1 to S5. The specific implementation methods of each step are described in detail below.
[0061] S1. The model owner performs vertex coordinate transformation on the 3D mesh model.
[0062] In an embodiment of the present invention, in the above step S1, the method in which the model owner performs vertex coordinate transformation on the three-dimensional mesh model is as follows:
[0063] S11, the model owner extracts a vertex set consisting of all vertices and a face set consisting of all faces from the three-dimensional mesh model;
[0064] S12, the model owner converts the vertex coordinates of the three-dimensional mesh model into integer form through an integer transformation operation, and the converted integer form vertex coordinates are represented as satisfying the first length The bit stream.
[0065] In an embodiment of the present invention, the integer transform operation may be implemented by the following formula:
[0066]
[0067] Where: Represents the vertex coordinates of the i-th vertex in the j-th coordinate axis dimension after integer conversion in integer form, m is the total number of vertices in the three-dimensional mesh model, and c is the scaling factor.
[0068] Converted vertex coordinates in integer form can be represented as a length of The bit stream, The relationship with c is as follows:
[0069]
[0070] S2. The model owner uses the ripple prediction method to predict the vertices of the three-dimensional mesh model. When predicting, the reference point is used as the starting center to predict adjacent vertices layer by layer until it is extended to all vertices of the entire three-dimensional mesh model, and finally the prediction error of each vertex is generated.
[0071] In an embodiment of the present invention, in the above step S2, the model owner applies the ripple prediction method to predict the vertices of the three-dimensional mesh model, thereby generating a prediction error as follows:
[0072] S21. Calculate the centroid v of the model based on the coordinates of all vertices in the three-dimensional mesh model c, and calculate the Euclidean distance from each vertex to the centroid, and take the vertex with the smallest distance to the centroid as the reference vertex v r .
[0073] In this embodiment, the centroid v c The calculation formula is as follows:
[0074]
[0075] In this embodiment, the Euclidean distance calculation formula from each vertex to the centroid is as follows:
[0076]
[0077] S22, initialize two empty queues as the current wavefront queues Q l And the next wave of queue Q l+1 , and the reference vertex v r Insert into the current wave queue Q l and the output vertex list
[0078] S23, traverse the current wave queue Q l Find all vertices in the 3D mesh model that are directly connected to each queue vertex but are not in the output vertex list and insert them into the next wave queue Q l+1 ; Then queue the next wave Q l+1 The vertices in are sorted in ascending order by index and inserted into the output vertex list in the order they are sorted. After the existing vertices in; finally put the next wave of faces in queue Q l+1 Update to the current wave queue Q l , and then clear the original next wave queue Q l+1 .
[0079] S24, repeat step S23 until all vertices in the three-dimensional mesh model are inserted into the output vertex list
[0080] S25. Output vertex list All vertices in are re-indexed in the order of insertion; then the re-indexed vertex list is traversed in turn, and the prediction error between each vertex and the minimum index vertex directly connected to it is calculated, and the prediction error between two vertices needs to include the three coordinate axis dimensions of x, y, and z; the prediction errors of all vertices are stored in the prediction error list.
[0081] In this embodiment, the prediction error calculation formula between each vertex and the minimum index vertex directly connected to it is as follows:
[0082]
[0083] in, Represents the coordinates of the vertex with the minimum index directly connected to this vertex. The prediction error e of all vertices i,j After calculation in sequence, they are stored in the prediction error list.
[0084] S3. The model owner performs encoding processing on the obtained prediction error.
[0085] In an embodiment of the present invention, in the above step S3, the method in which the model owner performs encoding processing on the obtained prediction error is as follows:
[0086] S31. For each coordinate axis dimension j∈[x,y,z] of the prediction error, determine the maximum value of the prediction error on this coordinate axis dimension j respectively, and round up the maximum value of the prediction error after performing a logarithmic transformation with base 2, and the obtained integer value is used as the bit stream coding length on this coordinate axis dimension j.
[0087] In this embodiment, for the coordinate axis dimension j∈[x,y,z], the length of each bit stream is l j It can be calculated by the following formula:
[0088]
[0089] in, Represents the ceiling function.
[0090] S32. Convert the prediction error of each vertex in the prediction error list into a bit stream in turn, convert the prediction error value of each coordinate axis dimension into a binary bit stream according to the bit stream encoding length of the dimension, and use an additional sign bit to record the positive and negative status of the prediction error in this coordinate axis dimension. The prediction error bit stream is composed of the binary bit stream and the sign bit.
[0091] In this embodiment, for any vertex in the prediction error list, the prediction error e i,j , the formula for bit stream conversion is as follows:
[0092]
[0093] In addition, the positive and negative status of the prediction error in this coordinate axis dimension (i.e., the positive and negative sign) is recorded with an additional sign bit, which can be expressed as es i,j :
[0094]
[0095] In this way, the prediction error e i,jis converted to a length of l j +1 prediction error bitstream b i,j +es i,j .
[0096] S4. The model owner encrypts the encoded data, generates an encrypted three-dimensional mesh model, and uploads it to the cloud storage.
[0097] In an embodiment of the present invention, in the above step S4, the model owner encrypts the encoded data to generate an encrypted three-dimensional mesh model and uploads it to the cloud storage as follows:
[0098] S41, the prediction error bit stream b corresponding to each coordinate axis dimension of each vertex i,j +es i,j Then, random bit streams satisfying the second length are concatenated, so that each coordinate axis dimension is converted into a concatenated bit stream v′ satisfying the first length. i,j The concatenated bit stream v′ i,j That is the vertex coordinate bit stream before encryption.
[0099] In this embodiment, since the length of the prediction error bit stream corresponding to each coordinate axis dimension is l j +1, and the final concatenated bit stream v′ i,j The length is the first length mentioned above Therefore, it can be calculated that the second length of the random bit stream to be concatenated should be
[0100] S42. Use model encryption key K m Generate a random bit stream r, and divide the random bit stream r into a series of sub-bit streams r satisfying the first length i,j , and then extract the sub-bit streams in turn and perform XOR operations on the concatenated bit stream v′ of each vertex in the three-dimensional mesh model i,j Encryption is performed to obtain an encrypted vertex coordinate bit stream; after all vertices are encrypted, an encrypted three-dimensional mesh model is obtained and uploaded to cloud storage.
[0101] It should be noted that each sub-bit stream r divided by the random bit stream r i,j The lengths are Different sub-bitstreams i,j It can be used to concatenate the bit stream v′ of different vertices in the 3D mesh model i,j Perform XOR operation encryption to obtain the encrypted vertex coordinate bit stream The encryption process is expressed by the formula:
[0102]
[0103] Where: Represents the exclusive OR operation.
[0104] S5. The cloud service provider embeds the secret data in the encrypted three-dimensional mesh model to generate a labeled three-dimensional mesh model containing the secret data.
[0105] In an embodiment of the present invention, in the above step S5, the cloud service provider embeds secret data in the encrypted three-dimensional mesh model, and the method for generating a marked three-dimensional mesh model containing the secret data is as follows:
[0106] S51. Use data hiding key K d Encrypt the secret data s to generate encrypted secret data s′;
[0107] S52, embed the encrypted secret data s′ into the encrypted three-dimensional mesh model, except for the reference vertex, The embedding method is to replace the encrypted vertex coordinates in the bit stream to meet the second length The least significant bit of is used to generate a marked three-dimensional mesh model containing secret data;
[0108] S53, saving the marked three-dimensional mesh model containing the secret data back in the cloud.
[0109] Therefore, based on the above steps S1 to S5, the model owner can encrypt the three-dimensional mesh model, and at the same time use the redundant space formed by data compression based on ripple-style vertex prediction to embed secret data. The marked three-dimensional mesh model finally stored in the cloud is a three-dimensional mesh model containing secret data and with encrypted vertex coordinates. The cloud service provider can send the marked three-dimensional mesh model to the model recipient according to the actual business logic. The three-dimensional mesh model in the present invention can be any three-dimensional mesh model in digital media, game development and virtual reality scenes that needs to be securely transmitted on the network, and the embedded secret data can be copyright information, passwords or other forms of encrypted data.
[0110] It should be noted that the model owner, cloud service provider and model receiver in the present invention can all be clients with data processing capabilities in the form of corresponding software or hardware, and the specific form is not limited.
[0111] In an embodiment of the present invention, a method for decrypting an encrypted domain three-dimensional mesh model based on ripple prediction corresponding to the steganographic method described in the above steps S1 to S5 is also provided. Based on the decryption method, after the model receiver receives the marked three-dimensional mesh model containing secret data generated according to the above steganographic method from the cloud service provider, the marked three-dimensional mesh model can be decrypted and the embedded secret data can be extracted therefrom. The method for decrypting and extracting secret data is as follows:
[0112] S61. Extract vertex coordinates except reference vertices from the marked three-dimensional mesh model, use the least significant bits of each vertex coordinate that meets the second length as secret information extraction segments, and use the remaining most significant bits as model original coordinate extraction segments.
[0113] It should be noted that, for a vertex coordinate, the division of the secret information extraction segment and the model original coordinate extraction segment is reversed according to the aforementioned encryption process. The length is Among them, the first j +1 bit is the prediction error bit stream, and then bits are random bit streams, so the whole bit stream contains The least significant bits are the secret information extraction segment, which can be used to decrypt and obtain the secret information, and the first l j The +1 most significant bit is the model original coordinate extraction segment, which can be used to decrypt the above prediction error and then restore the original coordinates of the vertex.
[0114] S62. Use model encryption key K m Decrypt the model original coordinate extraction segment to extract the prediction error bit stream b i,j +es i,j .
[0115] S63, the prediction error bit stream b corresponding to each coordinate axis dimension of each vertex i,j +es i,j Reconverted into prediction error e i,j .
[0116] It should be noted that the first l of the coordinate bitstream of each dimension of each vertex j +1 most significant bit is the model original coordinate extraction segment, which requires the model encryption key K m Decryption is performed, and the decryption result is the prediction error bit stream b i,j +es i,j , where the last digit records the sign of the prediction error, and the rest are i,jThe bits record the value of the prediction error, which can be reconverted to obtain the prediction error value of each dimension of each vertex.
[0117] S64. Based on the reference vertex and the prediction error, the coordinates of the peripheral neighborhood vertices are restored layer by layer with the reference vertex as the center, and the vertex coordinates of all vertices in the three-dimensional mesh model are reconstructed.
[0118] It should be noted that the reference vertices in the three-dimensional mesh model can be sent from the cloud together with the labeled three-dimensional mesh model, or they can be re-determined through Euclidean calculations between the center of mass and the vertices. The process of restoring the vertex coordinates is the inverse operation of the process of calculating the prediction error, so it can be implemented according to the inverse process of the aforementioned prediction error calculation. In the process of restoring the vertex coordinates, it also starts from the reference vertex in the center and expands outward layer by layer. That is, the coordinates of the vertices directly connected to the reference vertex are restored first, and then the coordinates of the vertices directly connected to them are further restored based on these vertices with restored coordinates, and continue to spread outward until all vertices are restored.
[0119] S65. Reconstruct the original three-dimensional mesh model by performing an inverse operation of the integer transformation operation on each vertex coordinate of the three-dimensional mesh model.
[0120] In this embodiment, the model receiver may perform the inverse operation of the integer transform operation through equation (10) to reconstruct the three-dimensional mesh model:
[0121]
[0122] S66. Concatenate the secret information extraction segments of all vertex coordinates in order to form encrypted secret data s′.
[0123] It should be noted that the concatenation order of the secret information may be executed according to the order in which the secret information is embedded during the encryption process.
[0124] S67. Use data hiding key K d The encrypted secret data s′ is decrypted to obtain the original secret data s.
[0125] Similarly, based on the same inventive concept, Figure 2 As shown, the present invention also provides an encryption and decryption system for an encrypted domain three-dimensional grid model based on ripple prediction, which comprises:
[0126] An encryption system, used to generate a marked three-dimensional mesh model containing secret data and store it in the cloud according to the encryption domain three-dimensional mesh model steganography method based on ripple prediction described in S1 to S5 above;
[0127] The decryption system is used to receive a marked three-dimensional mesh model containing secret data from a cloud service provider according to the encrypted domain three-dimensional mesh model decryption method based on ripple prediction described in S61 to S65 above, and decrypt the marked three-dimensional mesh model to extract the embedded secret data therefrom.
[0128] It should be noted that the above encryption system and decryption system can be respectively set on different computer devices.
[0129] Similarly, based on the same inventive concept, Figure 3 As shown, the present invention also provides a computer electronic device corresponding to the encrypted domain three-dimensional mesh model steganography method based on ripple prediction or the encrypted domain three-dimensional mesh model decryption method based on ripple prediction provided in the above embodiment, which includes a memory and a processor;
[0130] The memory is used to store computer programs;
[0131] The processor is used to implement the encrypted domain three-dimensional mesh model steganography method based on ripple prediction as described above, or to execute the encrypted domain three-dimensional mesh model decryption method based on ripple prediction as described above when executing the computer program.
[0132] In addition, the logic instructions in the above-mentioned memory can be implemented in the form of software functional units and can be stored in a computer-readable storage medium when sold or used as an independent product. Based on such an understanding, the technical solution of the present invention, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present invention.
[0133] Therefore, based on the same inventive concept, the present invention provides a computer-readable storage medium corresponding to an encrypted domain three-dimensional mesh model steganography method based on ripple prediction or an encrypted domain three-dimensional mesh model decryption method based on ripple prediction, and a computer program is stored on the storage medium. When the computer program is executed by the processor, it can implement the encrypted domain three-dimensional mesh model steganography method based on ripple prediction as described above.
[0134] Therefore, based on the same inventive concept, the present invention provides a computer program product, including a computer program / instruction, which, when executed by a processor, can implement the encrypted domain three-dimensional mesh model steganography method based on ripple prediction as described above, or execute the encrypted domain three-dimensional mesh model decryption method based on ripple prediction as described above.
[0135] It is understandable that the above storage medium may include random access memory (RAM) or non-volatile memory (NVM), such as at least one disk storage. The storage medium may also be a U disk, a mobile hard disk, a magnetic disk or an optical disk, etc., which can store program codes.
[0136] It can be understood that the above-mentioned processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.
[0137] It should also be noted that those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working process of the system described above can refer to the corresponding process in the aforementioned method embodiment, and will not be repeated here. In the various embodiments provided in this application, the division of steps or modules in the system and method is only a logical function division, and there may be other division methods in actual implementation, such as multiple modules or steps can be combined or integrated together, and a module or step can also be split.
[0138] In order to better understand the specific implementation process of encryption and decryption of the above steps S1 to S5 and S61 to S65 of the present invention, the specific steps and technical effects of the present invention are demonstrated in detail below through an example.
[0139] Example
[0140] In this embodiment, the encrypted domain three-dimensional mesh model steganography and decryption method based on ripple prediction is specifically shown in steps 1 to 6, where steps 1 to 5 show the steganographic encryption process, and step 6 shows the recovery decryption process. For ease of understanding, Figure 4A schematic diagram of ripple prediction is provided. The prediction process is similar to the layer-by-layer diffusion of ripples on the water surface. Specifically, the vertex centroid of the three-dimensional mesh model is first calculated, and the vertex with the smallest distance to the centroid is selected as the reference vertex to start ripple prediction. Then, starting from this reference point, adjacent vertices are predicted layer by layer, and gradually expanded to all vertices of the entire mesh model. In this way, the geometric continuity of the three-dimensional mesh model can be used to compress the mesh data and provide redundant space for the embedding of secret data. The specific implementation method of steps 1 to 6 is described in detail below.
[0141] Step 1: The model owner performs vertex coordinate transformation on the 3D mesh model;
[0142] Step 11: The model owner represents the 3D mesh model as in is a set of vertices, is a face set. Contains all vertices in the three-dimensional mesh model, m is the total number of vertices, and each vertex v i Through its coordinates in three-dimensional space (v i,x ,v i,y ,v i,z ) is used to represent the face set. Contains all faces in the 3D mesh model, n is the total number of faces, and each face f i From the vertex set The three vertices of .
[0143] Step 12: The model owner uses equation (1) to convert the vertex coordinates of the 3D mesh model into integer form through integer transformation operation. represents the floor function, c is the scaling factor. The converted vertex coordinates are in integer form can be represented as a length of The bit stream, The relationship with c is as shown in equation (2).
[0144]
[0145] Step 2: The model owner uses the ripple prediction method to predict the vertices of the three-dimensional mesh model, and the method of generating the prediction error is as follows:
[0146] Step 21: The model owner calculates the centroid v of the vertices of the 3D mesh model using equation (3) c .
[0147]
[0148] Step 22: The model owner calculates the Euclidean distance from each vertex to the centroid using equation (4) and determines the vertex with the smallest distance as the reference vertex v r .
[0149]
[0150] Step 23: The model owner initializes two queues Q l and O l+1 , used to store the vertices of the current wavefront and the next wavefront respectively.
[0151] Step 24: The model owner will reference the vertex v r Insert into the current wave queue O l and the output vertex list
[0152] Step 25: The model owner traverses the current wave queue Q l For all vertices in the 3D mesh model, find the vertices in each queue Q l The vertices are directly connected but not in the output vertex list and insert them into the next wave queue Q l+1 .
[0153] Step 26: Model owner queues the next wave of faces to Q l+1 The vertices in are sorted in ascending order by index and inserted into the output vertex list in the order they are sorted. After the existing vertices in .
[0154] Step 27: Model owner queues the next wave of faces to Q l+1 Update to the current wave queue Q l , and then clear the original next wave queue Q l+1 .
[0155] Step 28: The model owner repeats steps 25 to 27 until all vertices in the 3D mesh model have been processed, that is, inserted into the output vertex list.
[0156] Step 29: Model Owner Output Vertex List Reindex all vertices in and update the face set of the 3D mesh model
[0157] Step 210: The model owner traverses the re-indexed vertex list in turn and calculates the prediction error between each vertex and the minimum index vertex directly connected to it through equation (5).
[0158]
[0159] in, Indicates the coordinates of the vertex with the minimum index directly connected to this vertex. After the prediction errors of all vertices are calculated in sequence, they are stored in the prediction error list.
[0160] Step 28: The model owner repeats steps 25 to 27 until all vertices in the 3D mesh model have been processed, that is, inserted into the output vertex list.
[0161] In this embodiment, for ease of understanding, a digital example based on ripple prediction is provided. Figure 5 is a schematic diagram of the original three-dimensional mesh model, where the numbers are the original vertex indices and the red dots are the calculated centroids. Based on the Euclidean distance calculation results, vertex 5 is the vertex closest to the centroid. In order to facilitate implementation, this embodiment can also introduce an intermediate list To assist in recording. The iterative process of the above ripple prediction process is as follows Figure 6 As shown, first insert vertex 5 into the current wave queue Q l and the output vertex list Then find the vertex that is directly connected to vertex 5 but is not in the output vertex list The vertices in the list are obtained by arranging the vertices in ascending order according to the index, and then arranging the vertices in ascending order according to the index to obtain the vertices 4, vertex 6, vertex 7, vertex 15, vertex 23, vertex 24, which are recorded in the intermediate list. Then the middle list The vertices in the list are inserted in order and are inserted into the output vertex list in the order in which they are arranged. After the existing vertex 5 in the queue, put the next wave of faces in queue Q l+1 Update to the current wave queue Q l , then clear the next wave queue Q l+1 , completing one round of iteration, that is, processing one layer of ripples. Then continue to iterate this process and obtain Figure 6 The final output vertex list in Then follow the final output vertex list Sort the vertices in and regenerate the vertex index, that is, according to the output vertex list The insertion order of all vertices in the vertices is re-indexed from 1. The re-indexed 3D mesh model is as follows Figure 7 shown.
[0162] Step 3: The model owner encodes the obtained prediction error as follows:
[0163] Step 31: The model owner encodes the prediction errors of different coordinate axes into binary bit streams of different lengths. For each coordinate axis dimension j∈[x,y,z] of the prediction error, the maximum prediction error on this coordinate axis dimension j is determined, and the maximum prediction error is logarithmically transformed and rounded up. The integer value obtained is used as the bit stream encoding length l on this coordinate axis dimension j. j . Bitstream encoding length l j Calculated by equation (6):
[0164]
[0165] in, Represents the ceiling function.
[0166] Step 32: The model owner removes the prediction error data in the prediction error list in turn, and converts the prediction error data into a bit stream through equations (7) and (8). The prediction error value of each coordinate axis dimension is converted into a binary bit stream according to the bit stream coding length of the dimension, and an additional sign bit is used to record the positive and negative conditions of the prediction error on this coordinate axis dimension. The prediction error bit stream is composed of the binary bit stream and the sign bit. In this embodiment, the prediction error value is converted into a binary bit stream through equation (7), and the prediction error sign is converted into a sign bit through equation (8).
[0167]
[0168] In this way, the prediction error e i,j is converted to a length of l j +1 prediction error bitstream b i,j +es i,j .
[0169] Step 4: The model owner encrypts the encoded data to generate an encrypted 3D mesh model and uploads it to the cloud storage as follows:
[0170] Step 41: The model owner sets the length of each coordinate axis dimension of each vertex to l j +1 prediction error bit stream with length The random bit streams are concatenated to generate a length of The concatenated bit stream is used as the vertex coordinate bit stream v′ i,j .
[0171] In this embodiment, the data structure of the generated vertex coordinate bit stream is as follows: Figure 8 As shown, different random bit stream lengths may exist in different coordinate axis dimensions.
[0172] Step 42: The model owner uses the model encryption key K m Generate a random bit stream r.
[0173] Step 43: The model owner divides the random bit stream r into A series of sub-bitstreams of bits i,j , and extract the sub-bitstreams in turn, and encrypt the concatenated bitstreams of each vertex in the three-dimensional mesh model through the XOR operation of equation (9), so as to obtain the encrypted vertex coordinate bitstream Equation (9) is as follows:
[0174]
[0175] Step 44: After all vertices are encrypted, the encrypted 3D mesh model is uploaded to cloud storage.
[0176] Step 5: The cloud service provider embeds the secret data in the encrypted 3D mesh model, and the method for generating a labeled 3D mesh model containing the secret data is as follows:
[0177] Step 51: The data processor uses the data hiding key K d Encrypt the secret data s to generate encrypted secret data s′;
[0178] Step 52: The data processor embeds the encrypted secret data s′ into the encrypted vertex coordinates except the reference vertex of The embedding method is to segment the secret data s′, extract each segment and replace them in sequence in the encrypted vertex coordinate bit stream. The least significant bit.
[0179] Step 53: The data processor uploads the labeled 3D mesh model containing the secret data back to the cloud.
[0180] Step 6: The model receiver decrypts the labeled 3D mesh model and extracts the embedded secret data from it as follows:
[0181] Step 61: The model receiver extracts l from the coordinates of the vertices other than the reference vertex j +1 most significant bit, l of one axis dimension of each vertex coordinate j The +1 most significant bit corresponds to the encrypted value of the prediction error for the corresponding axis dimension of the vertex.
[0182] Step 62: The model receiver uses the model encryption key K m Decrypt the extracted l j +1 most significant bit to obtain the prediction error bit stream bi,j +es i,j .
[0183] Step 63: The model receiver sends the prediction error bitstream b corresponding to each coordinate axis dimension of each vertex i,j +es i,j Reconverted into prediction error e i,j .
[0184] Step 64: The model receiver reconstructs the vertex coordinates of the three-dimensional mesh model based on the reference vertex and the prediction error. The reconstruction process also needs to proceed layer by layer from the reference vertex outward according to the aforementioned ripple prediction strategy, reconstructing the coordinates of one layer of vertices before reconstructing the next layer.
[0185] Step 65: The model receiver performs the inverse operation of the aforementioned integer transformation operation on each vertex coordinate of the three-dimensional mesh model through equation (10), thereby reconstructing the original three-dimensional mesh model.
[0186]
[0187] Step 66: The model receiver converts the coordinates of each vertex The least significant bits are concatenated in sequence to extract the encrypted secret data s′.
[0188] Step 67: The model receiver uses the data hiding key K d The encrypted secret data s′ is decrypted to obtain the original secret data s.
[0189] In this embodiment, the privacy protection is performed on the encrypted domain three-dimensional mesh model according to the aforementioned steps 1 to 6, and the specific experimental results are shown as follows:
[0190] i. Effect display
[0191] Fig. 9 and Fig.10 The visual effect of the application of the present invention is demonstrated. In the experiment, Fig. 9 The QR code shown in (a) is embedded as secret data in Fig. 9 The six three-dimensional mesh models shown in (a) are a dolphin, a rabbit, a horse, a face, a fish, and a flower.
[0192] Fig. 9 The visual effects of the 3D model at different stages are shown: (a) the original model, (b) the encrypted model, (c) the labeled encrypted model, and (d) the restored model. Fig.10The visual effects of the secret image at different stages are shown: (a) is the original secret image, (b) is the encrypted secret image, and (c) is the restored secret image. Fig. 9 From (b) and (c) in Figure 1, it is obvious that these 3D models present a highly distorted appearance. Therefore, it is challenging to identify any information about the original 3D model and the secret image. Fig. 9 (a) and (d) and Fig.10 No significant difference was found between (a) and (c). This result indicates that the method of the present invention is reversible.
[0193] Table 1 quantifies the embedding capacity of the model, with the embedding rate calculated in bits per vertex (bpv). A practical solution for the method of the present invention is to use a 32-bit code length and a scaling factor of c = 5. Under this condition, the available embedding space per vertex exceeds 50 bits.
[0194] Table 1 Embedding rates of six 3D models at different scaling factors
[0195]
[0196] The above-described embodiment is only a preferred solution of the present invention, but it is not intended to limit the present invention. A person skilled in the relevant technical field may make various changes and modifications without departing from the spirit and scope of the present invention. Therefore, any technical solution obtained by equivalent replacement or equivalent transformation falls within the protection scope of the present invention.
Claims
1. A steganographic method for an encrypted domain three-dimensional mesh model based on ripple prediction, which is used to encrypt and steganographically process model data before transmitting it to a public network, characterized in that: include: S1, the model owner performs vertex coordinate transformation on the three-dimensional mesh model; S2. The model owner uses the ripple prediction method to predict the vertices of the three-dimensional mesh model. When predicting, the adjacent vertices are predicted layer by layer with the reference point as the starting center until all vertices of the entire three-dimensional mesh model are expanded, and finally the prediction error of each vertex is generated; S3, the model owner performs encoding processing on the obtained prediction error; S4, the model owner encrypts the encoded data, generates an encrypted three-dimensional mesh model, and uploads it to cloud storage; S5. The cloud service provider embeds the secret data in the encrypted three-dimensional mesh model to generate a labeled three-dimensional mesh model containing the secret data.
2. According to the method of claim 1, the encrypted domain three-dimensional mesh model steganography method based on ripple prediction is characterized in that: In S1, the method in which the model owner performs vertex coordinate transformation on the three-dimensional mesh model is as follows: S11, the model owner extracts a vertex set consisting of all vertices and a face set consisting of all faces from the three-dimensional mesh model; S12. The model owner converts the vertex coordinates of the three-dimensional mesh model into integer form through an integer transformation operation, and the converted integer form vertex coordinates are represented as a bit stream of a first length.
3. According to the method of steganography of encrypted domain three-dimensional mesh model based on ripple prediction in claim 2, it is characterized in that: In S2, the model owner applies the ripple prediction method to predict the vertices of the three-dimensional mesh model, thereby generating a prediction error as follows: S21, calculating the centroid of the model based on the coordinates of all vertices in the three-dimensional mesh model, and taking the vertex with the smallest distance to the centroid as a reference vertex; S22, initializing two empty queues as the current wavefront queue and the next wavefront queue respectively, and inserting the reference vertex into the current wavefront queue and the output vertex list; S23, traversing all vertices in the current wavefront queue, searching for vertices in the three-dimensional mesh model that are directly connected to vertices in each queue but are not in the output vertex list, and inserting them into the next wavefront queue; Then, the vertices in the next wavefront queue are sorted in ascending order by index, and are inserted into the output vertex list after the existing vertices in the sorting order. Finally, the next wavefront queue is updated to the current wavefront queue, and the original next wavefront queue is cleared. S24, continuously repeating step S23 until all vertices in the three-dimensional mesh model are inserted into the output vertex list; S25. Output vertex list All vertices in are re-indexed in the order of insertion; then the re-indexed vertex list is traversed in turn, and the prediction error between each vertex and the minimum index vertex directly connected to it is calculated, and the prediction error between two vertices includes the three coordinate axis dimensions of x, y, and z; the prediction errors of all vertices are stored in the prediction error list.
4. According to claim 3, the encrypted domain three-dimensional grid model steganography method based on ripple prediction is characterized in that: In S3, the method in which the model owner performs encoding processing on the obtained prediction error is as follows: S31, for each coordinate axis dimension of the prediction error, respectively determine the maximum value of the prediction error on this coordinate axis dimension, and perform logarithmic conversion on the maximum value of the prediction error with a base of 2 and then round it up, and the obtained integer value is used as the bit stream coding length on this coordinate axis dimension; S32. Convert the prediction error of each vertex in the prediction error list into a bit stream in turn, convert the prediction error value of each coordinate axis dimension into a binary bit stream according to the bit stream encoding length of the dimension, and use an additional sign bit to record the positive and negative status of the prediction error in this coordinate axis dimension. The prediction error bit stream is composed of the binary bit stream and the sign bit.
5. According to claim 4, the encrypted domain three-dimensional grid model steganography method based on ripple prediction is characterized in that: In S4, the model owner encrypts the encoded data to generate an encrypted three-dimensional mesh model and uploads it to the cloud storage as follows: S41, concatenating a random bit stream satisfying a second length after the prediction error bit stream corresponding to each coordinate axis dimension of each vertex, thereby converting each coordinate axis dimension into a concatenated bit stream satisfying the first length; S42, using the model encryption key to generate a random bit stream, and dividing the random bit stream into a series of sub-bit streams satisfying the first length, and then extracting the sub-bit streams in sequence to encrypt the concatenated bit streams of each vertex in the three-dimensional mesh model through an XOR operation, thereby obtaining an encrypted vertex coordinate bit stream; After all vertices are encrypted, the encrypted three-dimensional mesh model is obtained and uploaded to cloud storage.
6. The encrypted domain three-dimensional mesh model steganography method based on ripple prediction according to claim 5 is characterized in that: In S5, the cloud service provider embeds secret data in the encrypted three-dimensional mesh model to generate a marked three-dimensional mesh model containing the secret data as follows: S51, encrypting the secret data using the data hiding key to generate encrypted secret data; S52, embedding the encrypted secret data into the encrypted vertex coordinates of each other except the reference vertex in the encrypted three-dimensional mesh model, by replacing the least significant bit of the encrypted vertex coordinate bit stream that satisfies the second length, thereby generating a marked three-dimensional mesh model containing the secret data; S53, saving the marked three-dimensional mesh model containing the secret data back in the cloud.
7. A method for decrypting an encrypted domain three-dimensional mesh model based on ripple prediction, characterized in that: After the model receiver receives the marked three-dimensional mesh model containing secret data generated by the steganographic method according to any one of claims 1 to 6 from the cloud service provider, the marked three-dimensional mesh model is decrypted and the embedded secret data is extracted therefrom. The method for decrypting and extracting the secret data is as follows: S61, extracting vertex coordinates other than reference vertices from the marked three-dimensional mesh model, wherein the least significant bit of each vertex coordinate that satisfies the second length is used as a secret information extraction segment, and the remaining most significant bits are used as a model original coordinate extraction segment; S62, using the model encryption key to decrypt the model original coordinate extraction segment to extract the prediction error bit stream; S63, reconverting the prediction error bit stream corresponding to each coordinate axis dimension of each vertex into a prediction error; S64, based on the reference vertex and the prediction error, taking the reference vertex as the center, restoring the coordinates of the peripheral neighborhood vertices layer by layer, and reconstructing the vertex coordinates of all vertices in the three-dimensional mesh model; S65, reconstructing the original three-dimensional mesh model by performing an inverse operation of the integer transformation operation on each vertex coordinate of the three-dimensional mesh model; S66, sequentially splicing the secret information extraction segments of all vertex coordinates to form encrypted secret data; S67. Decrypt the encrypted secret data using the data hiding key to obtain the original secret data.
8. An encrypted domain three-dimensional grid model encryption and decryption system based on ripple prediction, characterized in that: include: An encryption system for generating a marked three-dimensional mesh model containing secret data and storing it in the cloud according to the encryption domain three-dimensional mesh model steganography method based on ripple prediction according to any one of claims 1 to 6; A decryption system is used to receive a labeled three-dimensional mesh model containing secret data from a cloud service provider in accordance with the encrypted domain three-dimensional mesh model decryption method based on ripple prediction as described in claim 7, and decrypt the labeled three-dimensional mesh model to extract embedded secret data therefrom.
9. A computer-readable storage medium, characterized in that: A computer program is stored on the storage medium. When the computer program is executed by the processor, it can implement the encrypted domain three-dimensional mesh model steganography method based on ripple prediction as described in any one of claims 1 to 6, or implement the encrypted domain three-dimensional mesh model decryption method based on ripple prediction as described in claim 7.
10. A computer electronic device, characterized in that: including memory and processor; The memory is used to store computer programs; The processor is used to implement the encrypted domain three-dimensional mesh model steganography method based on ripple prediction as described in any one of claims 1 to 6, or to implement the encrypted domain three-dimensional mesh model decryption method based on ripple prediction as described in claim 7 when executing the computer program.
Citation Information
Cited By
Three-dimensional grid model protection method and system based on hybrid encryption and geometric projection
CN121966833A