Encrypted 3D model data hiding method and system based on short path generation technology

By using short path generation technology and multi-bit MSB prediction method in the three-dimensional polygon mesh model, the problems of hiding limited capacity and data extraction errors in the prior art are solved, and efficient data hiding and reversibility are achieved.

CN119728868APending Publication Date: 2025-03-28JIAXING JULIANG DATA TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411790620.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-06
Publication Date
2025-03-28

AI Technical Summary

Technical Problem

The prior art When data hiding in encrypted three-dimensional polygon mesh models, the hidden capacity is limited, the pure embedding rate (PER) is low, and there are errors in data extraction and model recovery.

Method used

The short path generation technology is used to merge the closest vertex connected to the current vertex into the path, generate a short path, and use the previous vertex on the path to predict the multi-bit most significant bits (MSB) of the next vertex to reduce the number of reference vertices and increase the hidden capacity.

Benefits of technology

The embeddable vertex rate and total embedding capacity are improved, and the characteristics of high embeddable vertex rate, high total embedding capacity, error-free data extraction and reversibility, and texture-free exposure are achieved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119728868A_ABST
    Figure CN119728868A_ABST
Patent Text Reader

Abstract

The invention provides an encrypted 3D model data hiding method and system based on a short path generation technology. The method comprises the following steps: converting vertex coordinate values of a 3D model into positive numbers, dividing the positive numbers into non-overlapping blocks, finding all short paths in each block, and recording block labels and starting coordinates of the short paths as auxiliary information; the vertex coordinates are then represented as a binary sequence based on a compression threshold. Next, the previous vertex coordinate on the short path is used for predicting the multi-bit MSB of each embeddable vertex coordinate, the predictable bit is the embedding capacity of the embeddable vertex coordinate, and the embedding capacity information is also recorded in the auxiliary information; after the 3D model is encrypted, auxiliary information and secret data are hidden into a multi-bit MSB capable of being embedded into a vertex through multi-bit MSB replacement, and a receiver can perform analysis according to a mastered secret key. The method has the characteristics of high embeddable vertex rate, high total embedding capacity, no error data extraction, reversibility and no texture exposure.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention studies the field of encrypted 3D model information hiding and proposes an encrypted 3D model data hiding method using short path generation technology, which can hide important information in the encrypted 3D model. Background Art

[0002] Since the concept of "metaverse" was first proposed in the science fiction novel "Snow Crash" in 1992, people have been fascinated by the concept of virtual world. In the virtual world, people can live in virtual characters, free from the constraints of the physical world, and live, work, create and trade freely. With the development and progress of technologies such as virtual reality (VR), augmented reality (AR) and artificial intelligence (AI), the realization of "metaverse" is no longer just an unattainable fantasy. In the design of metaverse, technicians use VR technology to provide an immersive virtual experience, while AR technology superimposes virtual elements on the real world. These technologies enable users to interact with the virtual environment. Artificial intelligence technology is responsible for many aspects such as the intelligent behavior of virtual characters. At the same time, the use of 3D polygonal mesh modeling and rendering technology is essential for creating realistic virtual environments, scenes and characters in the metaverse. Therefore, with the increasing interest in metaverse technology in recent years, the application of three-dimensional polygonal mesh models has become increasingly common, becoming another emerging digital media form after images, audio and video. The information security issues of three-dimensional polygonal mesh models have also attracted great attention from researchers and practitioners.

[0003] Data hiding is a field of information security that uses the information redundancy present in the media carrier data to embed sensitive information such as watermark information into the carrier to achieve the purpose of covert transmission or copyright protection. For example, we can embed sensitive information into the 3D polygonal mesh model without affecting the performance, and then transmit these 3D polygonal mesh models to the receiver. Since the embedded information does not affect the performance of the 3D polygonal mesh model, hackers are unlikely to notice them, thereby achieving the purpose of protecting data and covert communication. In addition, watermark information can also be embedded in the 3D polygonal mesh model to achieve the purpose of copyright protection. According to the recoverability of the receiving media carrier, data hiding methods can generally be divided into two categories: irreversible data hiding (IRDH) and reversible data hiding (RDH).

[0004] Existing RDH methods for 3D polygonal mesh models can be roughly divided into four categories: spatial domain, transform domain, compression domain, and encryption domain. The RDH method for 3D polygonal mesh models based on the spatial domain involves directly modifying the vertex coordinates of the model to embed data. The RDH method for 3D polygonal mesh models based on the transform domain mainly involves embedding confidential data in the frequency domain of the 3D polygonal mesh model. The RDH method for 3D polygonal mesh models based on the compression domain mainly uses compression algorithms to compress and encode the data of the 3D polygonal mesh model, and then hides the secret data.

[0005] In the "Metaverse" application, many 3D polygonal mesh models contain private information, such as character models, so embedding data in encrypted 3D polygonal mesh models can effectively enhance data security. Encrypted domain-based 3D polygonal mesh model RDH methods usually need to encrypt vertex coordinates before carrying secret data. Encrypted domain RDH technology was originally designed for digital images. Similar to traditional encrypted image RDH methods, encrypted domain 3D polygonal mesh model RDH methods also have three participants: model owner, data hider, and receiver. According to the order of stages for preparing space for embedding secure data, encrypted domain 3D polygonal mesh model RDH methods can be divided into two categories: freeing up space after encryption (VRAE) and reserving space before encryption (RRBE). Generally, encrypted domain 3D polygonal mesh model RDH methods based on VRAE mainly use the partial spatial correlation of encrypted vertex coordinates to derive hidden secret data. However, VRAE-based methods have limitations because the encryption operation destroys the relevant vertex coordinates, resulting in errors during data extraction or model recovery. In contrast, in RRBE-based methods, the model owner uses the vertex coordinate correlation of the 3D polygonal mesh model to reserve the embeddable space before encrypting the model. This approach ensures error-free data extraction and model recovery. Summary of the invention

[0006] The purpose of the present invention is to solve the problems existing in the prior art, and propose an RDH method for encrypted three-dimensional polygonal mesh models based on short path generation technology, aiming to improve the hidden capacity and increase the pure embedding rate (PER). The present invention generates a short path by merging the nearest vertex connected to the current vertex into the path. Each vertex in the generated short path is closest to its parent vertex, so that the similarity of multiple most significant bits (MSBs) of vertex coordinates can be better utilized. Since the present invention can always use the parent vertex on the same path to predict multiple MSBs of child vertices, it is only necessary to record the coordinates of the starting point of the path as a reference vertex. Compared with other methods, this method reduces the number of reference vertices, thereby improving the overall hidden capacity. Overall, the experimental results prove the feasibility of the proposed algorithm, which has the characteristics of high embeddable vertex rate, high total embedding capacity, error-free data extraction and reversibility, and no texture exposure.

[0007] The technical solutions specifically adopted in the present invention are as follows:

[0008] In a first aspect, the present invention provides an encrypted 3D model data hiding method based on short path generation, the steps of which are as follows:

[0009] S1: converting the coordinates of each vertex of the first 3D model into positive values ​​to obtain a second 3D model;

[0010] S2: Evenly divide the second 3D model into 4 non-overlapping primary blocks, and generate short paths for the vertices in each primary block. If all the vertices in the primary block can be connected by a short path, the short path generation of the primary block is completed without dividing the secondary blocks. Otherwise, the primary block needs to be further evenly divided into 4 non-overlapping secondary blocks, and then short paths are generated for the vertices in each secondary block. If a short path cannot connect all the vertices in the secondary block, other short paths are continuously generated until all the vertices in the secondary block are connected by the short paths. Generate binary classification labels for all primary blocks and secondary blocks according to whether all the vertices in the block can be connected by a short path. Record the block labels of all primary blocks and secondary blocks and the starting coordinates of all short paths in the auxiliary information.

[0011] S3: based on a preset compression threshold m, convert each vertex coordinate of the second 3D model into a binary sequence of fixed length;

[0012] S4: traverse all generated short paths, use the previous vertex on the same short path to predict multiple most significant bits of the binary sequence of the next vertex coordinates, and use the number of most significant bits that can be predicted for each vertex as the embedding capacity of the vertex; and also record the embedding capacity information of each vertex in the second 3D model in the auxiliary information;

[0013] S5: After encrypting the second 3D model with the model encryption key, the auxiliary information and the sensitive information encrypted by the data hiding key are hidden in the vertex coordinates of the second 3D model by replacing the most significant bits of the vertex coordinates according to the embedded capacity information of each vertex, and finally an encrypted 3D model containing the auxiliary information and the sensitive information is obtained for sending to the receiving end.

[0014] Based on the above technical solution, each step of the present invention can be further implemented by the following specific method.

[0015] Preferably, in S1, the minimum X-axis coordinate value, the minimum Y-axis coordinate value, and the minimum Z-axis coordinate value in the first 3D model are first found, and then the minimum X-axis coordinate value, the minimum Y-axis coordinate value, and the minimum Z-axis coordinate value are respectively subtracted from the X-axis coordinate value, the minimum Y-axis coordinate value, and the minimum Z-axis coordinate value of each vertex of the first 3D model to convert the coordinate values ​​of each vertex into positive numbers.

[0016] Preferably, in S2, for any one of the primary blocks and the secondary blocks, the method for generating a short path in the block is: first randomly generate a virtual starting coordinate in the current block, then select a vertex in the current block that is closest to the starting coordinate as the starting point of the short path, and then read the edge connection relationship between all vertices in the current block, and gradually extend the short path from the starting point to the next vertex that is closest to the previous path vertex and has an edge connection, and each time the next path vertex of the short path is determined, it is necessary to disconnect the edge connection between the previous path vertex and all other remaining vertices, and the short path is extended to the vertex that is only connected by one edge and this vertex is used as the end point of the short path; if there are other vertices in the current block that are not connected by the short path, then continue to randomly generate another virtual starting coordinate in the current block to generate other short paths until all vertices in the current block are connected by a short path.

[0017] Preferably, in S2, when generating the binary classification labels, the first-level blocks in which all vertices inside the blocks can be connected by a short path are marked as "1", and the first-level blocks in which all vertices inside the blocks cannot be connected by a short path are marked as "0"; for each first-level block marked as "0", it is further divided into four second-level blocks, and the second-level blocks in which all vertices inside the blocks can be connected by a short path are marked as "1", and the second-level blocks in which all vertices inside the blocks cannot be connected by a short path are marked as "0".

[0018] Preferably, in S3, first, according to the preset compression threshold m, the formula Each vertex v in the second 3D model iThe decimal three-dimensional coordinate value (v i,x ,v i,y ,v i,z ) to an integer Then, the binary sequence length L of the vertex coordinate value is determined based on the compression threshold m according to the preset assignment rule. In the preset assignment rule, if 1≤m≤2, then L=8, if 3≤m≤4, then L=16, if 5≤m≤9, then L=32, if 10≤m≤33, then L=64; finally, according to the formula k=0,1,2,…,L-1 Set the integer coordinate value of each vertex Convert to binary number c i,j,k , get each vertex v i The coordinate binary sequence of .

[0019] Preferably, in S5, the specific method for generating an encrypted 3D model containing auxiliary information and sensitive information is as follows: first, the second 3D model is encrypted using the model encryption key; then, based on the encrypted binary sequence of vertex coordinates of the second 3D model, the binary stream segments of the auxiliary information are first hidden in the predictable most significant bits of embeddable vertices with embedding capacity by replacing multiple most significant bits, and then the sensitive secret data is encrypted using the data hiding key, and then the encrypted secret data binary stream segments are replaced in the predictable most significant bits of other embeddable vertices; finally, the binary sequence of vertex coordinates containing auxiliary information and secret data is converted into decimal to obtain the encrypted 3D model.

[0020] In a second aspect, the present invention provides a method for decrypting encrypted 3D model data based on short path generation. After receiving the encrypted 3D model generated by the data hiding method according to any one of claims 1 to 6, the receiver parses the corresponding result according to the number of keys mastered by the receiver; wherein:

[0021] If the receiver only has the data hiding key Kd, after receiving the encrypted 3D model, the receiver first extracts the auxiliary information, then decodes the embedded capacity information of each embedded vertex from the auxiliary information, and further extracts the corresponding number of MSB information from the received encrypted 3D model according to the embedded capacity information, splices them into the encrypted secret data binary stream, and obtains the correct secret data after decryption using the data hiding key Kd;

[0022] If the receiver only has the model encryption key Ke, after receiving the encrypted 3D model, the receiver first extracts the auxiliary information, and then decodes the block labels of all primary blocks and secondary blocks, the starting coordinates of all short paths, and the embedded capacity information of each embedded vertex from the auxiliary information, thereby using the coordinates of the previous vertex on the same short path to predict all the predictable most significant bits of the next vertex, restore the binary sequence of all vertex coordinates, and finally use the model encryption key Ke to decrypt the binary sequence of all vertex coordinates, convert the vertex coordinate values ​​into decimal, and complete the decryption operation of the 3D model;

[0023] If the receiver has both the data hiding key Kd and the model encryption key Ke, he can decrypt the secret data and the 3D model at the same time.

[0024] In a third aspect, the present invention provides an encryption and decryption system for encrypted 3D model data based on short path generation, comprising:

[0025] An encryption system, used for generating an encrypted 3D model according to the data hiding method described in any one of the first aspects above;

[0026] The decryption system is used to parse out corresponding results according to the number of keys mastered by the receiver in accordance with the data decryption method as described in the second aspect above.

[0027] In a fourth aspect, the present invention provides a computer-readable storage medium having a computer program stored thereon. When the computer program is executed by a processor, it can implement the data hiding method as described in any one of the first aspects, or can implement the data decryption method as described in the second aspect.

[0028] In a fifth aspect, the present invention provides a computer electronic device comprising a memory and a processor;

[0029] The memory is used to store computer programs;

[0030] The processor is used to implement the data hiding method as described in any one of the first aspects, or the data decryption method as described in the second aspect when executing the computer program.

[0031] Compared with the prior art, the beneficial effects of the present invention are as follows:

[0032] The present invention uses short path generation technology to find short paths in a three-dimensional polygonal mesh model, and uses the previous vertex on the path to predict subsequent vertices, so that only the starting point on the same short path is a non-embeddable vertex for reference, which significantly improves the embeddable vertex rate and the total embedding capacity. The starting point of the path is determined by randomly generated virtual coordinates, which improves security to a certain extent. The block-based marking is used to reduce the computational overhead of finding short paths, and the starting point coordinates are recorded to ensure error-free data extraction. Multiple MSB embedding strategies are used for each embeddable vertex coordinate to improve its embedding capacity. Compared with many other existing similar RDHEI schemes, the present invention has the characteristics of high embeddable vertex rate, high total embedding capacity, error-free data extraction and reversibility, and no texture exposure. BRIEF DESCRIPTION OF THE DRAWINGS

[0033] Figure 1 The figure is a flow chart of the method of the present invention.

[0034] Figure 2 This is the method of dividing the 3D model into blocks according to the present invention.

[0035] Figure 3 An example graph is generated for the short path of the present invention.

[0036] Figure 4 This is a diagram showing an example of multi-bit MSB prediction according to the present invention.

[0037] Figure 5 The test models of the present invention include (a) fish, (b) dog, (c) helicopter, (d) bicycle, (e) four-wheel drive vehicle, and (f) car.

[0038] Figure 6 This is the execution result of the present invention, indicating the embedding rates of different test models under different compression thresholds. DETAILED DESCRIPTION

[0039] 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.

[0040] like Figure 1 As shown, in a preferred embodiment of the present invention, a method for hiding encrypted 3D model data based on short path generation is provided, and the steps are as follows:

[0041] S1: convert the coordinates of each vertex of the first 3D model (referred to as 3D model M0) into positive values ​​to obtain a second 3D model (referred to as 3D model M);

[0042] In order to convert the coordinate value of each vertex of the 3D model, the minimum X-axis coordinate value, the minimum Y-axis coordinate value, and the minimum Z-axis coordinate value in the first 3D model can be found first, and then the minimum X-axis coordinate value, the minimum Y-axis coordinate value, and the minimum Z-axis coordinate value are respectively subtracted from the X-axis coordinate value, the minimum Y-axis coordinate value, and the minimum Z-axis coordinate value of each vertex of the first 3D model to convert the coordinate value of each vertex to a positive number. The conversion formula is as follows:

[0043]

[0044] where v i,x Indicates the X-axis coordinate value of the i-th vertex, v i,y represents the Y-axis coordinate value of the i-th vertex, v i,z Represents the Z-axis coordinate value of the i-th vertex. Then subtract C from the coordinate value of each vertex of the 3D model. min , so that we can get a 3D model M with positive coordinate values.

[0045] The coordinate value range of the 3D model M0 used in this embodiment is [-1,-1,-1] to [1,1,1]. The coordinate value range of the 3D model M after adjustment according to the above formula can become [0,0,0] to [2,2,2]. The 3D model M is located in a cube.

[0046] S2: Evenly divide the second 3D model into 4 non-overlapping first-level blocks, and generate short paths for the vertices in each first-level block. If all the vertices in the first-level block can be connected by a short path, the short path generation of the first-level block is completed without dividing the second-level blocks. Otherwise, the first-level block needs to be further evenly divided into 4 non-overlapping second-level blocks, and then short paths are generated for the vertices in each second-level block. If a short path cannot connect all the vertices in the second-level block, other short paths are continuously generated until all the vertices in the second-level block are connected by the short path; generate binary classification labels for all first-level blocks and second-level blocks according to whether all the vertices in the block can be connected by a short path; record the block labels of all first-level blocks and second-level blocks and the starting coordinates of all short paths in the auxiliary information.

[0047] In the embodiment of the present invention, the 3D model M with all coordinates converted to positive values ​​is divided into four non-overlapping primary blocks, where B α represents the αth block. For each block B in the 3D model M α If the vertices inside the block cannot be connected by a short path, block B needs to beα Further divided into four small blocks B αβ , where B αβ represents the βth small block of the αth block. Specifically, Figure 2 As shown in (a), the coordinate space where the 3D model M is located can be divided into four first-level blocks B1, B2, B3, and B4. Then, short paths are generated for the first-level blocks B1, B2, B3, and B4 respectively. If the vertex of the 3D model M falling in a certain first-level block cannot be connected by a short path, it is necessary to divide the first-level block into four second-level blocks, and then generate short paths based on the second-level blocks. There is no need to generate short paths for the first-level blocks. Figure 2 (b) shows that when the vertices in the first-level block B1 cannot be connected by a short path, the four second-level sub-blocks are divided into B 11 , B 12 , B 13 , B 14 .

[0048] In the embodiment of the present invention, after finding all the short paths in each block, the block label and the starting coordinates of the short path need to be recorded as part of the auxiliary information Info. For any block in the primary block and the secondary block, the method of generating a short path in the block is the same. For the convenience of description, the block for which the short path is to be generated becomes the current block, and the method of generating a short path in the current block is as follows:

[0049] First, randomly generate a virtual starting coordinate in the current block, then select a vertex in the current block that is closest to the starting coordinate as the starting point of the short path, and then read the edge connection relationship between all vertices in the current block, and gradually extend the short path from the starting point to the next vertex that is closest to the previous path vertex and has an edge connection. Each time the next path vertex of the short path is determined, the edge connection between the previous path vertex and all other remaining vertices needs to be disconnected. The short path is extended to the vertex with only one edge connection and this vertex is used as the end point of the short path; if there are other vertices in the current block that are not connected by the short path, then continue to randomly generate another virtual starting coordinate in the current block to generate other short paths. If all vertices cannot be covered in the existing short path, then it is necessary to continue to randomly generate another virtual starting coordinate in the current block to generate other short paths, and continue to iterate until all vertices in the current block have a short path connection. It should be noted that the extension of the short path must rely on the edges between the vertices for extension, and the short path cannot be extended to the fixed point connected to the edge of the last path vertex. When there is an independent vertex, it can also be considered a short path.

[0050] Therefore, the process of generating a short path can be understood as first generating a virtual coordinate for each block, finding the vertex closest to the virtual coordinate in the block as the starting point of the path, finding the adjacent vertex closest to the current vertex as the next point in the short path, disconnecting the current vertex from other vertices, and treating the next point as the current vertex to find the nearest connected vertex. Repeat this process until there are no more connected vertices in the cube. Figure 3 This is an example of a plan generated by a short path within a secondary block. Figure 3 (a) shows some original coordinate points and their topological relationships. First, a virtual coordinate point A is randomly generated. Then, the vertex v1 closest to A is found in the area as the starting point of the short path, and the search for the adjacent vertex v4 that is closest to v1 and has an edge connection with v1 begins. The short path is extended to v4, that is, the edge between v1 and v4 is retained, and then v1 is disconnected from all other vertices except v4 (i.e., v3, v5, and v2). Next, the adjacent vertex v6 ​​that is closest to v4 and has an edge connection with v4 is found, and the short path is extended to v6, that is, the edge between v4 and v6 is retained, and then v4 is disconnected from all other vertices except v6 (i.e., v2). This process is repeated until vertex v8 is reached, at which point there are no vertices in the area that have an edge connection with v8. Through the above operations, a short path containing v1v4v6v7v8 is obtained. However, there are other vertices in the secondary block that do not belong to this short path. Therefore, it is necessary to generate another random virtual coordinate B and repeat the above short path generation steps to obtain a short path v2v3. Similarly, it is necessary to generate another random virtual coordinate C in the block and repeat the above steps again. Since vertex v5 is still an isolated vertex, it forms a separate path. Finally, as Figure 3 As shown in (b), a total of three short paths are generated in this secondary block.

[0051] In the above short path generation process, each primary block and secondary block can be marked synchronously. The marking principle is that if all vertices of the block can be connected in a short path, the starting coordinates are recorded and the cube is marked as "1"; otherwise, the block is marked as "0". Repeat this operation for all primary blocks until they are all marked. Then perform secondary division on the primary blocks marked as "0", and repeat the above marking action for all secondary blocks until all secondary blocks are marked. The binary classification marks (0 or 1) of each primary block and secondary block obtained are block labels. The block labels of all primary blocks and secondary blocks and the starting virtual coordinates of the short paths contained therein are recorded as part of the auxiliary information Info. Later, all short paths in the entire 3D model can be restored through this part of information.

[0052] S3: Based on different compression thresholds m, each vertex coordinate of the 3D model M is represented as a binary sequence of fixed length.

[0053] In the embodiment of the present invention, the coordinate value v of each vertex in the 3D model M is first compressed by the threshold m according to formula (1). i,j Convert to integer Since each vertex has three xyz coordinate dimensions, each vertex v i The decimal three-dimensional coordinate value (v i,x ,v i,y ,v i,z ) will be converted to an integer Then, the required length of the coordinate value converted into binary is determined, that is, the binary sequence length L of the vertex coordinate value is determined based on the compression threshold m according to the assignment rule shown in formula (2). Finally, the integer coordinate value of each vertex is converted into binary according to formula (3). Represented as an L-bit binary number c i,j,k , where k represents the number of bits in the binary number. The final vertex v i The coordinate binary sequence can be used for subsequent multi-bit MSB prediction.

[0054]

[0055] S4: Traverse all generated short paths, use the previous vertex on the same short path to predict the multiple most significant bits of the binary sequence of the next vertex coordinates, and use the number of most significant bits that can be predicted for each vertex as the embedding capacity of this vertex. The most significant bit that can be predicted for each vertex is the information embedding space of this vertex; the embedding capacity information of each vertex in the 3D model M is also recorded in the auxiliary information Info.

[0056] In the embodiment of the present invention, the previous vertex on the same short path is used to predict the multiple MSBs of the coordinates of the next vertex, where the same bits can naturally be predicted directly, but the first bit that is different can also be predicted by negating the value. Therefore, the number of the most significant bits that can be predicted for each vertex is the number of the same most significant bits of the coordinate binary sequence of this vertex relative to the coordinate binary sequence of the previous vertex on the same short path plus 1. Figure 4 Demonstrates a specific example flow of multiple MSB prediction within a short path, continuing with Figure 3Take the short path 1 in S4: v1v4v6v7v8 as an example. On short path 1, vertex v4 can be predicted by its previous vertex v1. Assume that the coordinate value of v1 on the x-axis is 0.83477, the coordinate value of v4 on the x-axis is 0.83280, and the compression threshold m=4. The coordinate values ​​are converted into a 16-bit binary sequence by the formula of S4. Therefore, the number of the bit plane is defined as the position of the bit from left to right in the binary sequence. For example, if the number of the bit plane is 6, it means that the bit is the 6th bit from left to right in the current binary sequence. The prediction results show that the upper 11 bits of vertex v4 can be correctly predicted by v1, while the 12th bit is predicted incorrectly, so the 12th bit of vertex v4 can be predicted by negating the 12th bit of vertex v1. Therefore, the predictable length of the x-axis coordinate of vertex v4 is 12 bits. Similarly, vertex v4 can be used to predict vertex v6, and so on. The starting point of each short path will not be used for embedding, and other vertices on the path can be used. The number of bits that can be predicted is the embedding capacity that can be embedded in the vertex coordinates. The embedding capacity information of each vertex is compressed and recorded in the auxiliary information Info. It should be noted that the embedding capacity of the first vertex of a short path can be recorded as 0.

[0057] S5: After encrypting the 3D model M with the model encryption key, the auxiliary information and the sensitive information encrypted by the data hiding key are hidden in the vertex coordinates of the 3D model M by replacing the most significant bits of the vertex coordinates according to the embedded capacity information of each vertex. Finally, the encrypted 3D model M′ containing the auxiliary information and sensitive information is obtained and sent to the receiving end.

[0058] In an embodiment of the present invention, a specific method for generating an encrypted 3D model containing auxiliary information and sensitive information is as follows: first, the 3D model M is encrypted using a model encryption key; then, based on the binary sequence of vertex coordinates of the encrypted 3D model M, the binary stream segments of the auxiliary information Info are first hidden in the predictable most significant bits of embeddable vertices with embedding capacity by replacing multiple most significant bits, and then the sensitive secret data is encrypted using a data hiding key, and then the encrypted secret data binary stream segments are replaced in the predictable most significant bits of other embeddable vertices; finally, the binary sequence of vertex coordinates containing auxiliary information and secret data is converted into decimal to obtain the encrypted 3D model M′.

[0059] It should be noted that after the binary stream of the auxiliary information Info is segmented according to a fixed length, it can be directly embedded in the binary sequence of vertex coordinates of all vertices of the encrypted 3D model M in order. At this time, although some vertices (vertices located at the starting point of each short path) do not have embedding capacity, their most significant bits are still redundant. The data length of the auxiliary information Info is small, and these redundant spaces are sufficient for embedding information. For example, when m=4, the maximum coordinate value of the 3D model is 9999, and when it is converted into binary, it does not consume all 16 bits (when m is 4, L is 16). Regardless of the value of m, generally speaking, there will be at least two bits of redundancy in the high bit of the binary value of each coordinate. Therefore, in an embodiment of the present invention, the two most significant bits MSBs of the binary sequence of all vertex coordinates in the model can be used as the embedding space of the auxiliary information Info. If the auxiliary information Info is not enough to fill the two MSBs of the binary sequence of all vertex coordinates in the model, a termination flag can be set after the auxiliary information Info to facilitate the determination of the end of the auxiliary information Info when extracting. The two most significant bits (MSBs) of the extra vertices can be used together with other embedding capacity to continue embedding the encrypted secret data binary stream.

[0060] The process of encrypting using the model encryption key Ke and the data hiding key Kd belongs to the prior art and can be implemented by the XOR operation of the binary sequence. In the embodiment of the present invention, the model encryption key Ke can be used to generate a series of binary random sequences b, and then the binary random sequence b can be converted into i,j,k With the vertex coordinate binary sequence c i,j,k XOR is performed to encrypt the 3D model M. Then, by replacing the 2-bit MSBs of all vertices of the encrypted 3D model M, the auxiliary information Info is segmented into two-bit units and sequentially hidden in the 2-bit MSBs of all vertices. Then, the data hiding key Kd is used to encrypt the sensitive secret data to be embedded through XOR operation, and then the encrypted secret data is replaced with the predictable MSB of other embeddable vertices. Finally, according to formula (5), the encrypted binary sequence with auxiliary information Info and secret data (sequence elements are e′ i,j,k The encrypted 3D model M′ is obtained by converting the 3D model (denoted by ) into decimal.

[0061]

[0062] Thus, through the above S1 to S5, the encrypted 3D model M' can be sent to the recipient. The above S1 to S5 can be performed by the model owner and the data hider according to Figure 1 The data is processed by the process and sent to the recipient. Of course, there is no need to distinguish between the model owner and the data hider, and there is no limitation on this.

[0063] Corresponding to the above data hiding method is a data decryption method. Therefore, in an embodiment of the present invention, a method for decrypting encrypted 3D model data based on short path generation can also be provided. When the receiver receives the encrypted 3D model generated according to the above data hiding method, the receiver can parse different results according to the number of keys the receiver has. Figure 1 As shown, it can be divided into the following three situations:

[0064] If the receiver only has the data hiding key Kd, then after receiving the encrypted 3D model M′, the receiver first extracts the auxiliary information Info, then decodes the embedding capacity information of each embedded vertex from the auxiliary information Info, and further extracts the multi-bit MSB information of the corresponding number of bits from the received encrypted 3D model according to the embedding capacity information, splices them into an encrypted secret data binary stream, and obtains the correct secret data after decryption using the data hiding key Kd.

[0065] It should be noted that if the receiver only has the data hiding key Kd, then after receiving the encrypted 3D model M′ carrying the watermark data, the receiver needs to extract the fragments of the auxiliary information Info from the 2-bit MSBs of the coordinate binary sequence in the index order of the model vertices, and then splice them to obtain the complete auxiliary information Info. Based on the auxiliary information Info, the embeddable capacity of each embedded vertex can be decoded, and the multi-bit MSB information of the received encrypted 3D model M′ can be directly extracted according to the embeddable capacity. The number of MSB information bits to be extracted from each vertex can be determined according to the embeddable capacity of each embedded vertex, because the embeddable capacity of this vertex is fully used during embedding, so all of them can be extracted during extraction, and the encrypted secret data binary stream can be formed after splicing in sequence. In order to facilitate the determination of the end point of the secret data binary stream during the extraction process, an expiration marker can also be set at the end of the encrypted secret data binary stream during embedding. The encrypted secret data binary stream obtained by splicing is XORed with the data hiding key Kd to obtain the correct secret data.

[0066] It should be noted that if the receiver only has the model encryption key Ke, then after receiving the encrypted 3D model M′ carrying the watermark data, the receiver can also first extract the auxiliary information Info according to the situation of only having the data hiding key Kd. The receiver can decrypt the coordinates of the vertices of the 3D model, and based on the coordinates of the path starting point and the embeddable capacity recorded in the auxiliary information Info, the multiple MSBs of the next vertex can be easily predicted using the coordinates of the previous vertex on the same path, thereby restoring the binary sequence of vertex coordinates. Then convert the binary sequence of coordinate values ​​into decimal, and it can be restored to vertex coordinate data accurate to m decimal places. This process finally generates a 3D polygonal mesh model with coordinates accurate to m decimal places.

[0067] If the receiver only has the model encryption key Ke, then after receiving the encrypted 3D model M′, the receiver first extracts the auxiliary information Info, and then decodes the block labels of all primary blocks and secondary blocks, the starting coordinates of all short paths, and the embedded capacity information of each embedded vertex from the auxiliary information Info, thereby using the coordinates of the previous vertex on the same short path to predict all the predictable most significant bits of the next vertex, restore the binary sequence of all vertex coordinates, and finally use the model encryption key Ke to decrypt the binary sequence of all vertex coordinates, convert the vertex coordinate values ​​into decimal, and complete the decryption operation of the 3D model.

[0068] If the receiver has both the data hiding key Kd and the model encryption key Ke, the secret data and the 3D model can be decrypted at the same time. In other words, if the receiver has both keys, the watermark data can be extracted and the 3D polygonal mesh model with coordinates accurate to m decimal places can be restored. The specific extraction process is the same as the above two cases and will not be repeated.

[0069] It can be seen that the present invention proposes an encrypted 3D model data embedding method that combines short path generation and multi-MSB prediction. The proposed coordinate transformation method converts each vertex coordinate value of the input model into a positive number, so that we do not need to record the positive and negative sign information during the embedding process. In the proposed short path generation method, the 3D polygonal mesh model is divided into blocks, and all short paths are found, and the previous vertex on the short path is used to predict the multi-bit MSB of the next vertex. Compared with many other existing similar schemes, the present invention achieves high embedding rate and total embedding capacity, and has the characteristics of high embedding rate and capacity, low computational complexity and separability.

[0070] In order to further demonstrate the technical effect of the present invention, specific application results of the above method in actual cases are given below.

[0071] Example

[0072] This embodiment is based on the above method to conduct experiments, and the specific implementation steps are as described above, which will not be repeated. Only the experimental results are shown below.

[0073] In all subsequent experiments, the present invention uses Figure 5 Six 3D models in are used as test models. In order to evaluate the performance of the proposed scheme, the embeddable vertex rate, embedding rate (ER), embedding capacity (EC), pure embedding capacity (PEC) and pure embedding rate (PER) of the proposed scheme are analyzed and compared with those of related works.

[0074] Table 1: Characteristics of the tested models

[0075]

[0076]

[0077] Table 1 lists some characteristics of the test models used in the experiment, including the number of model vertices, model size, etc. The compression threshold shown in Table 1 represents the minimum threshold required for the model to retain complete information. For example, considering that the coordinates of the "fish" model contain information accurate to 6 decimal places, the minimum threshold required for the "dolphin" model to retain complete information is m=6. The embeddable vertex rate represents the percentage of the total number of embeddable vertices in the model. The proposed scheme has a high embeddable vertex rate in all six test models, with the lowest being 84.56% and the highest being 95.96%. A high embeddable vertex rate indicates that there are many vertices available for embedding in the model. The average embeddable length (AEL) is the average embeddable length of each coordinate of each embeddable vertex, which is obtained by dividing the total embeddable length of the model by the number of embeddable vertices and then by 3. The average embeddable length varies with m, and the case where the model information is fully retained is shown here. In this case, the RDH based on short path and multi-MSB prediction proposed for encrypted 3D meshes can embed an average of 19.57-23.68 bits of information on each coordinate of the embeddable vertices of the test model.

[0078] Tables 2 and 3 list the maximum embedding capacity (EC) and embedding rate (ER) of the tested models under different compression thresholds, respectively. Embedding capacity (EC) is used to measure the ability of an aspect to embed information. Embedding rate (ER), expressed in bits per vertex (bpv), is an important indicator to describe the embedding capacity of RDH on encrypted 3D models. It is calculated by dividing EC by the total number of vertices. For each embeddable vertex, it is predicted by the previous vertex of the same path. This means that within the same path, only the path starting point is not considered as an embeddable point. Therefore, under the same conditions, the proposed method has more embeddable vertices than other related methods. The closer the reference vertex is to the embeddable vertex, the longer the predicted embedding length. The short path generation method adopted by the proposed method involves finding the nearest connected vertex as the next vertex on the path at each step. Therefore, adjacent vertices on the same path have similar coordinates, which makes the embedding length we obtain through multi-MSB prediction relatively long. Considering Tables 2 and 3, when the compression threshold is set to m=5, the proposed method achieves the highest total embedding capacity on the tested model.

[0079] Table 2: Total embedding capacity of each test model under different compression thresholds (unit: bits)

[0080]

[0081] Table 3: Embedding rate of each test model under different compression thresholds (unit: bpv)

[0082]

[0083] Table 4 lists the pure embedding capacity (PEC) of different test models at different compression thresholds. The calculation takes into account the exclusion of auxiliary information Info, such as block labels, coordinates of the starting point of short paths, and the embeddable length of each embeddable vertex. The pure embedding rate (PER) expressed in bits per vertex (bpv) is an important indicator to describe the embedding capacity of RDH on encrypted 3D polygonal mesh models. It is calculated by dividing the PEC by the total number of vertices. Table 5 shows the maximum PER results of different 3D polygonal mesh models at different compression thresholds. The average number of embedded bits per vertex ranges from 20.71 to 37.56 bits. When m=5, the maximum PER can reach 63.07bpv. In the proposed method, PER is affected by the selected compression threshold m. Figure 6The relationship between m and ER is given. In general, when m=1, the decimal precision is too low, which is not applicable and impractical in most cases. Considering the formula in S4, under the same coordinate bit length L, it is obvious that as m increases, ER shows a decreasing trend. This is because as m increases, the accuracy of the coordinates increases, and LSBs with lower correlation are introduced, resulting in a reduction in the embedding space and a significant decrease in ER. In the case of different coordinate bit lengths L, as m increases, ER shows an increasing trend. The reason is that as the compression threshold m increases, the coordinate bit length L will also increase, resulting in an increase in the redundancy of the coordinates and an expansion of the embedding space, which leads to a significant increase in ER (embedding rate). Test results show that when m=5, the performance of the proposed scheme is optimal.

[0084] Table 4: Pure embedding capacity of each test model under different compression thresholds (unit: bits)

[0085]

[0086] Table 5: Pure embedding rate of each test model under different compression thresholds (unit: bpv)

[0087]

[0088]

[0089] To further demonstrate our performance in data hiding, we use 7 representative schemes to compare with our proposed scheme. Table 6 shows the comparison between the proposed algorithm and 7 existing algorithms [1-7]. This is a comparison of the PER of the proposed scheme and the 7 existing algorithms when the compression threshold m = 5. As can be seen from Table 6, the PER of the proposed scheme when m = 5 is significantly higher than that of other existing schemes. Combined with the characteristic analysis of Table 7, we can know that this is because the proposed scheme uses adaptive multi-MSB prediction to determine the embeddable length, and the MSB correlation of adjacent vertices in the coordinates of the 3D polygon mesh model is higher than the LSB, so our PER will be better than the method using LSB prediction [1], and also higher than the method using two-layer homomorphic embedding [2] and the method using spatial subdivision encoding for embedding [3]. Comparative analysis shows that our PER exceeds [4] and [5] respectively. This is because compared with relying solely on MSB prediction or finite threshold multi-MSB prediction, the use of adaptive multi-MSB prediction enables us to better utilize coordinate redundancy. In addition, in our scheme, our proposed method uses short paths for adaptive multi-MSB prediction, and there is only one starting point on the path that is not suitable for data embedding. Therefore, our PER exceeds [6] and [7] due to the increase in the number of embeddable vertices in our scheme.

[0090] The proposed method combines short path generation and multi-MSB prediction, which greatly improves the embedding rate and total embedding capacity. In the experiment, the average pure embedding rate of the proposed algorithm is 51.18bpv (m=5). In the case of the "bicycle" model, the embedding rate produced by our proposed scheme is 22.86bpv higher than the second best scheme [7]. These findings illustrate the feasibility of the present invention.

[0091] Table 6: PER comparison with other existing solutions

[0092]

[0093] Table 7: Characteristics analysis of other existing solutions

[0094]

[0095] The specific methods of related work in the prior art are shown in the following documents:

[0096] [1]RQJiang, H.Zhou, WMZhang, and NHYu, "Reversibledata hiding inencrypted three-dimensional mesh models," IEEE Transactions on Multimedia, vol.20, no.1, 2018.

[0097] [2] B, J. van Rensburg, P. Puteaux, W. Puech, and J.-P. Pedeboy, "Homomorphic two tier reversible data hiding in encrypted 3D objects," in: 2021 IEEE International Conference on Image Processing (ICIP), pp. 3068-3072, 2021.

[0098] [3] Y.-Y.Tsai, "Separable reversible data hiding for encrypted three-dimensional models based on spatial subdivision and space encoding," IEEETransactions on Multimedia, vol.23, pp.2286-2296, 2020.

[0099] [4]N.Xu,J.Tang,B.Luo and Z.X.Yin,“Separable reversibledata hidingbased on integer mapping and MSB prediction for encrypted 3D polygon meshmodels,”Cognitive Computation,vol.17,pp.1172-1181,2022.

[0100] [5]Z.X.Yin,N.Xu,F.Wang,L.L.Cheng,and B.Luo,“Separable reversibledatahiding based on integer mapping and multi-MSB prediction for encrypted 3Dpolygon mesh models,”in:Chinese Conference on Pattern Recognition andComputer Vision(PRCV),pp.336-348,2021.

[0101] [6]W.-L.Lyu,L.L.Cheng,and Z.X.Yin,“High-capacity reversibledatahiding in encrypted 3D polygon mesh models based on multi-MSB prediction,”Signal Processing,vol.201,pp.108686,2022.

[0102] [7]Y.-Y.Tsai and H.-L.Liu,“Integrating coordinate transformation andrandom sampling into high-capacity reversibledata hiding in encrypted meshmodels,”IEEE Transactions on Dependable and Secure Computing(Early Access),2022.

[0103] The results show that our proposed solution has an excellent embedding rate compared to other solutions. This is because the present invention uses a short path generation technique to predict multiple MSBs of each vertex using the previous vertex on the short path. Therefore, the proposed algorithm reduces the number of non-embeddable vertices used for reference, so our embedding rate is better. The present invention can conclude that the solution of the present invention improves the embedding ability of related works. If you are willing to sacrifice some computing time, the proposed solution can also avoid dividing the model into blocks, but directly search for all short paths in the entire model, and further reduce the number of non-embeddable vertices used for reference, thereby improving the overall embedding ability.

[0104] 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 method for hiding encrypted 3D model data based on short path generation, characterized in that: Here are the steps: S1: converting the coordinates of each vertex of the first 3D model into positive values ​​to obtain a second 3D model; S2: Evenly divide the second 3D model into 4 non-overlapping primary blocks, and generate short paths for the vertices in each primary block. If all the vertices in the primary block can be connected by a short path, the short path generation of the primary block is completed without dividing the secondary blocks. Otherwise, the primary block needs to be further evenly divided into 4 non-overlapping secondary blocks, and then short paths are generated for the vertices in each secondary block. If a short path cannot connect all the vertices in the secondary block, other short paths are continuously generated until all the vertices in the secondary block are connected by the short paths. Generate binary classification labels for all primary blocks and secondary blocks according to whether all the vertices in the block can be connected by a short path. Record the block labels of all primary blocks and secondary blocks and the starting coordinates of all short paths in the auxiliary information. S3: based on a preset compression threshold m, convert each vertex coordinate of the second 3D model into a binary sequence of fixed length; S4: traverse all generated short paths, use the previous vertex on the same short path to predict multiple most significant bits of the binary sequence of the next vertex coordinates, and take the number of most significant bits that can be predicted for each vertex as the embedding capacity of this vertex; The embedding capacity information of each vertex in the second 3D model is also recorded in the auxiliary information; S5: After encrypting the second 3D model with the model encryption key, the auxiliary information and the sensitive information encrypted by the data hiding key are hidden in the vertex coordinates of the second 3D model by replacing the most significant bits of the vertex coordinates according to the embedded capacity information of each vertex, and finally an encrypted 3D model containing the auxiliary information and the sensitive information is obtained for sending to the receiving end.

2. The encrypted 3D model data hiding method based on short path generation according to claim 1 is characterized in that: In S1, the minimum X-axis coordinate value, the minimum Y-axis coordinate value, and the minimum Z-axis coordinate value in the first 3D model are first found, and then the minimum X-axis coordinate value, the minimum Y-axis coordinate value, and the minimum Z-axis coordinate value are respectively subtracted from the X-axis coordinate value, the minimum Y-axis coordinate value, and the minimum Z-axis coordinate value of each vertex of the first 3D model to convert the coordinate values ​​of each vertex into positive numbers.

3. The encrypted 3D model data hiding method based on short path generation according to claim 1 is characterized in that: In S2, for any one of the primary blocks and the secondary blocks, the method for generating a short path in the block is: first randomly generate a virtual starting coordinate in the current block, then select a vertex in the current block that is closest to the starting coordinate as the starting point of the short path, and then read the edge connection relationship between all vertices in the current block, and gradually extend the short path from the starting point to the next vertex that is closest to the previous path vertex and has an edge connection, and each time the next path vertex of the short path is determined, it is necessary to disconnect the edge connection between the previous path vertex and all other remaining vertices, and the short path is extended to the vertex that is only connected by one edge and this vertex is used as the end point of the short path; if there are other vertices in the current block that are not connected by the short path, then continue to randomly generate another virtual starting coordinate in the current block to generate other short paths until all vertices in the current block are connected by a short path.

4. The encrypted 3D model data hiding method based on short path generation according to claim 3 is characterized in that: In S2, when generating the binary classification labels, the first-level blocks in which all vertices inside the blocks can be connected by a short path are marked as "1", and the first-level blocks in which all vertices inside the blocks cannot be connected by a short path are marked as "0"; for each first-level block marked as "0", it is further divided into four second-level blocks, and the second-level blocks in which all vertices inside the blocks can be connected by a short path are marked as "1", and the second-level blocks in which all vertices inside the blocks cannot be connected by a short path are marked as "0".

5. The encrypted 3D model data hiding method based on short path generation according to claim 1 is characterized in that: In S3, first, according to the preset compression threshold m, the formula Each vertex v in the second 3D model i The decimal three-dimensional coordinate value (v i,x ,v i,y ,v i,z ) to an integer Then, the binary sequence length L of the vertex coordinate value is determined based on the compression threshold m according to the preset assignment rule. In the preset assignment rule, if 1≤m≤2, then L=8, if 3≤m≤4, then L=16, if 5≤m≤9, then L=32, if 10≤m≤33, then L=64; finally, according to the formula The integer coordinates of each vertex Convert to binary number c i,j,k , get each vertex v i The coordinate binary sequence of .

6. The encrypted 3D model data hiding method based on short path generation according to claim 1 is characterized in that: In the S5, the specific method for generating an encrypted 3D model containing auxiliary information and sensitive information is as follows: first, the second 3D model is encrypted using a model encryption key; then, based on the encrypted binary sequence of vertex coordinates of the second 3D model, the binary stream segments of the auxiliary information are first hidden in the predictable most significant bits of embeddable vertices with embedding capacity by replacing multiple most significant bits, and then the sensitive secret data is encrypted using a data hiding key, and then the encrypted secret data binary stream segments are replaced in the predictable most significant bits of other embeddable vertices; finally, the binary sequence of vertex coordinates containing auxiliary information and secret data is converted into decimal to obtain an encrypted 3D model.

7. A method for decrypting encrypted 3D model data based on short path generation, characterized in that: After receiving the encrypted 3D model generated by the data hiding method according to any one of claims 1 to 6, the receiver parses the corresponding result according to the number of keys known to the receiver; wherein: If the receiver only has the data hiding key Kd, after receiving the encrypted 3D model, the receiver first extracts the auxiliary information, then decodes the embedded capacity information of each embedded vertex from the auxiliary information, and further extracts the corresponding number of MSB information from the received encrypted 3D model according to the embedded capacity information, splices them into the encrypted secret data binary stream, and obtains the correct secret data after decryption using the data hiding key Kd; If the receiver only has the model encryption key Ke, after receiving the encrypted 3D model, the receiver first extracts the auxiliary information, and then decodes the block labels of all primary blocks and secondary blocks, the starting coordinates of all short paths, and the embedded capacity information of each embedded vertex from the auxiliary information, thereby using the coordinates of the previous vertex on the same short path to predict all the predictable most significant bits of the next vertex, restore the binary sequence of all vertex coordinates, and finally use the model encryption key Ke to decrypt the binary sequence of all vertex coordinates, convert the vertex coordinate values ​​into decimal, and complete the decryption operation of the 3D model; If the receiver has both the data hiding key Kd and the model encryption key Ke, he can decrypt the secret data and the 3D model at the same time.

8. An encrypted 3D model data encryption and decryption system based on short path generation, characterized in that: include: An encryption system for generating an encrypted 3D model according to the data hiding method according to any one of claims 1 to 6; A decryption system, used to parse out corresponding results according to the number of keys mastered by the receiver in accordance with the data decryption method as claimed in claim 7.

9. A computer-readable storage medium, characterized in that: The storage medium stores a computer program, and when the computer program is executed by a processor, it can implement the data hiding method according to any one of claims 1 to 6, or can implement the data decryption method according to 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 configured to implement the data hiding method according to any one of claims 1 to 6, or the data decryption method according to claim 7 when executing the computer program.