Live-action three-dimensional model data selective encryption method and device, equipment and storage medium

Through the selective encryption and decryption method of multi-level spatial blocking and hyperchaotic perturbation mechanism, the problems of three-dimensional model data structure destruction and low decryption efficiency in the existing technology are solved, and a flexible, secure and efficient encryption and decryption process is achieved.

CN120675696AActive Publication Date: 2025-09-19NANJING CENT CHINA GEOLOGICAL SURVEY +1
View PDF 10 Cites 0 Cited by

Patent Information

Application Number
CN202511164090.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-08-20
Publication Date
2025-09-19
Estimated Expiration
2045-08-20

AI Technical Summary

Technical Problem

Existing 3D model encryption and decryption methods cannot achieve selective encryption, resulting in data structure destruction and low decryption efficiency, making it difficult to meet efficient processing requirements, especially when dealing with large-scale real-life 3D data.

Method used

It adopts multi-level spatial blocking and hyperchaotic perturbation mechanism, and a scrambling-diffusion mechanism driven by chaotic sequences to perform differentiated encryption and decryption of real-life 3D model data, supporting flexible encryption and decryption of different areas and levels.

Benefits of technology

It achieves the integrity and security of the model data structure, improves the flexibility and controllability of encryption and decryption, has strong anti-attack capabilities and low computational overhead, and is suitable for application scenarios with high security and flexibility requirements.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120675696A_ABST
    Figure CN120675696A_ABST
Patent Text Reader

Abstract

The invention provides a selective encryption method and device for live-action three-dimensional model data, equipment and a storage medium. Relates to the technical field of data encryption. The method comprises the following steps: successively traversing each file of live-action three-dimensional model data, extracting the boundary of each file, and calculating the model boundary of the whole live-action three-dimensional model data; generating a chaos key by using the master key, and obtaining a scrambling sequence according to the chaos key; on the basis of the model boundary, partitioning the live-action three-dimensional model data, and scrambling the partitioned model data according to a scrambling sequence to obtain partitioned scrambled model data; generating a salt value according to the file name, generating a chaotic system initial value by using the salt value and the master key, constructing a chaotic system, and iterating the chaotic system for multiple times to obtain a chaotic sequence set corresponding to each file; and disturbing the model data after block scrambling to obtain ciphertext data. The method has relatively strong anti-analysis and anti-attack capabilities and is low in calculation overhead.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of data encryption technology, and in particular to a method, device, equipment and storage medium for selective encryption of real-scene three-dimensional model data. Background Art

[0002] Realistic 3D models are widely used in fields such as digital twins, smart cities, and virtual reality, and their data security is gaining increasing attention. Due to the large volume and complex structure of 3D models, improving encryption and decryption efficiency while ensuring data security has become a key research topic.

[0003] At present, common three-dimensional model encryption and decryption methods mostly adopt an overall encryption strategy, that is, the entire model data is uniformly encrypted and decrypted. First, the overall encryption method cannot achieve selective encryption and decryption, and cannot process different parts of the data separately. In real applications, it is often necessary to perform specific encryption protection on certain areas or levels of the model rather than encrypting the entire data. Secondly, existing encryption methods often act directly on the storage structure of the model, resulting in the destruction of the file format. The encrypted data is difficult to be compatible with existing three-dimensional engines and software, affecting its normal parsing and use. In addition, the overall encryption method is usually computationally complex, and the entire model data needs to be decoded during decryption, which makes the decryption process time-consuming and difficult to meet the needs of efficient processing.

[0004] Although existing scrambling encryption methods can ensure encryption without destroying the data structure, they are mostly designed for the encryption of small models, and efficiency cannot be guaranteed. Their main feature is that encryption is achieved by rearranging the data order or transforming specific rules without changing the data storage structure. This type of method has significant advantages over traditional overall encryption schemes. For example, it can encrypt while ensuring file format compatibility, so that the encrypted model can still be parsed by the 3D engine, thus avoiding parsing failures caused by format corruption. However, existing scrambling encryption algorithms are mainly designed for small 3D models, and often cannot meet the requirements of efficient processing when faced with large-scale real-life 3D data.

[0005] A common approach to scrambling and encrypting three-dimensional model data is to utilize chaotic systems. Chaotic systems, characterized by initial value sensitivity, randomness, and long-term unpredictability, are ideal tools for encryption algorithms. The simple trajectory of a one-dimensional chaotic system makes it easy to derive initial conditions. Furthermore, in applications involving large amounts of data, chaotic degradation can occur after generating a sufficient number of pseudo-random numbers. Therefore, common 3D model data scrambling and encryption algorithms often utilize more complex chaotic systems.

[0006] One approach is to use an improved one-dimensional chaotic system or a more complex multidimensional chaotic system. For example, the paper "SGao, R Wu, X Wang, et al. A 3D model encryption scheme based on a cascaded chaotic system[J]. Signal Processing, 2023, 202: 108745." constructs a two-dimensional chaotic system 2D-LAIC and performs XOR encryption and STP encryption on the integer and decimal parts of the coordinate values, respectively. The paper "X Jin, S Zhu,C Xiao, et al. 3D textured model encryption via 3D Lu chaotic mapping[J]. Science China Information Sciences, 2017, 60(12): 122107." uses a three-dimensional chaotic mapping to generate a random sequence, and then encrypts the vertex coordinates of the three-dimensional model by reordering them according to the sequence.

[0007] Some technologies have proposed improving the security of chaotic systems by combining multiple chaotic systems. For example, the paper "Xu Ji. Research on Multidimensional Image Encryption Algorithm Based on Chaotic System [D]. 2023" proposes a complex chaotic system based on a three-dimensional autonomous chaotic system and verifies its security. The algorithm then scrambles the model's vertices and XOR-encrypts the integer portion of the coordinate values ​​based on the obtained sequence. However, this encryption algorithm is relatively simple, utilizing only the randomness of the chaotic sequence for simple permutation, scrambling, and diffusion. It does not fully encrypt the three-dimensional model, and its security needs to be improved.

[0008] Combining random sequences with other encryption methods is an effective way to improve security. For example, the paper "Chu Ran. Research on Image Encryption Algorithm Based on Chaotic System [D]. 2023." uses a dynamic 3D Arnold scrambling and dynamic RNA mutation algorithm based on chaotic sequences to scramble and diffusely encrypt the vertices of a three-dimensional model, ensuring the security of the algorithm through two rounds of encryption. The paper "A Jolfaei, XW Wu, V Muthukkumarasamy. A 3D Object Encryption Scheme Which Maintains Dimensional and Spatial Stability [J]. IEEE Transactions on Information Forensics and Security, 2015, 10(2): 409-422." uses a chaotic system to randomly fill a three-dimensional model and scramble and rotate it around the center of the minimum enclosing circle. While improving security, it also ensures encryption security and ensures that the model remains within the minimum enclosing circle after encryption. However, while these methods are more secure, they often require more computing time and are generally less efficient.

[0009] In summary, while 3D model scrambling encryption technology has made some progress, achieving flexible, selective encryption and decryption while maintaining the integrity of the model data structure remains a key challenge. Given the complexity and diverse demands of real-world 3D model data, there is an urgent need to design an efficient and controllable encryption method that can flexibly adjust the encryption area and level based on different application scenarios. Summary of the Invention

[0010] This application provides a method, device, equipment, and storage medium for selective encryption of real-world 3D model data. Through multi-level spatial partitioning and a hyperchaotic perturbation mechanism, this method achieves differentiated encryption of model data across different regions and levels, significantly improving the flexibility and security of encryption and decryption. This application not only ensures the integrity of the data structure but also provides new technical support for the secure application of 3D model data.

[0011] Based on the classic "scrambling-diffusion" concept and combined with hyperchaotic sequences, this application designs a dynamic selective encryption and decryption scheme suitable for real-world 3D models. This scheme encrypts the model's spatial coordinate data, ensuring high security of the ciphertext while preserving the integrity of the data structure. Furthermore, this application supports flexible dynamic encryption and decryption of data at different regions and levels, achieving controllable and efficient encryption and decryption processes.

[0012] In a first aspect, the present application provides a method for selectively encrypting real-scene 3D model data, comprising: Traversing each file of the real-scene 3D model data one by one, extracting the boundary of each file, and calculating the model boundary of the entire real-scene 3D model data; Generate a chaotic key using the master key, and obtain a scrambled sequence based on the chaotic key; Based on the model boundary, the real scene three-dimensional model data is divided into blocks, and the divided model data is scrambled according to the scrambling sequence to obtain block-scrambled model data; Generate a salt value according to the file name, use the salt value and the master key to generate an initial value of the chaotic system, build the chaotic system, and iterate the chaotic system multiple times to obtain a chaotic sequence set corresponding to each file; Based on the chaotic sequence set corresponding to each file, the block-scrambled model data is disturbed to obtain ciphertext data.

[0013] In a possible design, the calculation process of traversing each file of the real scene 3D model data one by one, extracting the boundary of each file, and calculating the model boundary of the entire real scene 3D model data is as follows: (1) Where, For the files The minimum bounding box of 、 、 、 、 、 are the six coordinates of the minimum bounding box, and To find the maximum and minimum values, is the bounding box of the entire model.

[0014] In one possible design, the master key is used to generate the chaotic key. The calculation process of obtaining the scrambled sequence based on the chaotic key is: (2) Where, is the chaotic key generated using the master key, is the chaotic sequence generated by the corresponding chaotic key, To use the chaotic system to generate the scrambled sequence process, They represent the sequence of four state quantities of the chaotic system, GCSKP() is the process of generating the chaotic key, primaryKey The user master key.

[0015] In one possible design, the real-scene three-dimensional model data is divided into blocks based on the model boundary, and the divided model data is scrambled according to the scrambling sequence to obtain the block-scrambled model data, including: Extract the model i The minimum bounding box of the file, the length, width and height of the minimum bounding box are n Divide into equal parts and construct n 3 The space is divided into blocks, and from bottom to top, from left to right n 3 The spaces are divided into blocks and numbered; Calculate the length, width and height of each block in the group according to formula (3): (3) Where, 、 、 、 、 、 They are the range coordinate values ​​of the minimum bounding box of the model data, 、 、 is the length, width and height of the block; Calculate the coordinate range of each block according to formula (4): (4) Where, 、 、 、 、 、 are the six coordinates of each group, c 、 r and d are the row number, column number and depth number of the group respectively, and the mapping relationship with the group sequence number is calculated according to formula (5): (5) in id is the group number; Sort the group numbers according to the order of the chaotic sequence, and get the sequence after sorting , according to formula (6), we can get the row number, column number and depth number after scrambling, and calculate the coordinate value of the spatial point after block scrambling according to formula (7): (6) (7) Where, are the row number, column number and depth number after scrambling respectively; is the coordinate of the original space point; is the coordinate of the spatial point after scrambling.

[0016] In a possible design, a salt value is generated according to the file name, and the initial value of the chaotic system is generated using the salt value and the master key, including: According to the file name, the salt value is generated by the following formula (8): (8) Where, salt The salt value generated for each initial key, fileName is the file name, HASH256 is the 256-bit hash algorithm; Based on the master key and salt value, the byte array is determined by the following formula (9): (9) Where K is the generated byte array, k i For the i The value of bytes, primaryKey is the master key, salt i The salt values ​​generated for each file in the previous step; Based on the byte array, the initial value of the chaotic system is determined by the following formula (10): (10) Where CSK is the initial value of the chaotic system, csk i For the i A floating point number.

[0017] In one possible design, the parameter equation of the chaotic system is shown in formula (11): (11) Where, is the system state variable after each update, are the system parameters of the chaotic system, x 1. x 2. x 3 and x 4 are the system state variables to be updated; The values ​​of the chaotic system are segmented according to formula (12): (12) Where, θ i ( x i )for, g and m are control parameters respectively, where g controls the number of segments, mControl the amplitude and range of the rolling attractor, x i is the original system state variable.

[0018] In one possible design, based on the chaotic sequence set corresponding to each file, the block-scrambled model data is perturbed to obtain the ciphertext data through the following calculation process: (13) Where, model md is the ciphertext data, model m is the model data after block scrambling, It is The set of chaotic sequences corresponding to the model files, Sigmod is the sigmod function, which means the sigmod mapping of the three-dimensional coordinates of the space coordinates. x The coordinate mapping process is shown in formula (14): (14) Where, x e After mapping x coordinate, After block scrambling x The row number of the block where the coordinates are located, is the x coordinate after block scrambling, The coordinate point corresponds to the chaotic sequence The value in stepX is the length of the block, e is a natural constant.

[0019] In a second aspect, the present application provides a device for selectively encrypting real-scene three-dimensional model data, the device comprising: The boundary calculation module is configured to traverse each file of the real scene 3D model data one by one, extract the boundary of each file, and calculate the model boundary of the entire real scene 3D model data; The sequence generation module is configured to generate a chaotic key using a master key and obtain a scrambled sequence according to the chaotic key; A block scrambling module is configured to block the real-scene three-dimensional model data based on the model boundary, and scramble the block-based model data according to the scrambling sequence to obtain block-scrambled model data; The chaotic iteration module is configured to generate a salt value according to the file name, generate an initial value of the chaotic system using the salt value and the master key, construct the chaotic system, and iterate the chaotic system multiple times to obtain a chaotic sequence set corresponding to each file; The perturbation encryption module is configured to perturb the block-scrambled model data based on the chaotic sequence set corresponding to each file to obtain ciphertext data.

[0020] In a third aspect, an embodiment of the present application provides an electronic device comprising: at least one processor and a memory; the memory stores computer-executable instructions; the at least one processor executes the computer-executable instructions stored in the memory, so that the at least one processor executes the selective encryption method for real-life three-dimensional model data as described in the first aspect and various possible designs of the first aspect.

[0021] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, in which computer-executable instructions are stored. When a processor executes the computer-executable instructions, the selective encryption method for real-life three-dimensional model data as described in the first aspect and various possible designs of the first aspect is implemented.

[0022] In a fifth aspect, an embodiment of the present application provides a computer program product, including a computer program. When the computer program is executed by a processor, it implements the method for selectively encrypting real-life three-dimensional model data as described in the first aspect and various possible designs of the first aspect.

[0023] The method, apparatus, device, and storage medium for selectively encrypting real-scene 3D model data provided by this application have at least the following beneficial effects: This application achieves high-intensity perturbation encryption of model space coordinates through a scrambling-diffusion mechanism driven by multi-level spatial partitioning and chaotic sequences. While ensuring the integrity of the model data structure, this application supports flexible dynamic encryption and decryption of data in different regions and hierarchies, improving the refinement and controllability of encryption. Experimental results show that this application has strong anti-attack capabilities and low computational overhead, making it suitable for practical application scenarios with high requirements for the security and flexibility of three-dimensional model data. BRIEF DESCRIPTION OF THE DRAWINGS

[0024] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.

[0025] Figure 1 The process of a selective encryption method for real-scene 3D model data provided in the embodiment of the present application Figure 1 ; Figure 2 The process of a selective encryption method for real-scene 3D model data provided in the embodiment of the present application Figure 2 ; Figure 3 A schematic diagram of the block results provided in an embodiment of the present application; Figure 4 This is a block scrambling effect diagram provided in an embodiment of the present application; Figure 5 The process of a selective decryption method of real scene 3D model data provided in the embodiment of the present application Figure 3 ; Figure 6 A partial decryption schematic diagram provided for an embodiment of the present application; Figure 7 Schematic diagram of experimental data of the scrambling encryption and decryption method provided in the embodiment of the present application; Figure 8 A schematic diagram of the scrambled encryption result provided in an embodiment of the present application; Figure 9 A diagram showing the key sensitivity experiment results provided in an embodiment of the present application; Figure 10 This is a graph showing the results of a dynamic decryption experiment on a data range provided in an embodiment of the present application; Figure 11 This is a graph showing the results of a data range dynamic encryption experiment provided in an embodiment of the present application; Figure 12 This is a diagram showing the effects of layered encryption and decryption provided in an embodiment of the present application; Figure 13 This is a structural diagram of the device for selectively encrypting real-scene 3D model data provided in an embodiment of the present application.

[0026] The above drawings illustrate specific embodiments of the present application, which will be described in more detail below. These drawings and the textual description are not intended to limit the scope of the present application in any way, but rather to illustrate the concepts of the present application to those skilled in the art by reference to specific embodiments. DETAILED DESCRIPTION

[0027] Exemplary embodiments will be described in detail herein, with examples illustrated in the accompanying drawings. In the following description, when referring to the drawings, identical numerals in different figures represent identical or similar elements, unless otherwise indicated. The embodiments described in the following exemplary embodiments are not intended to represent all embodiments consistent with the present application. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the present application, as detailed in the appended claims.

[0028] In the technical solution of this application, the collection, storage, use, processing, transmission, provision and disclosure of information such as financial data or user data involved comply with the provisions of relevant laws and regulations and do not violate public order and good morals.

[0029] It should be noted that in the embodiments of the present application, certain software, components, models and other existing solutions in the industry may be mentioned. They should be regarded as exemplary. Their purpose is only to illustrate the feasibility of implementing the technical solution of the present application, but it does not mean that the applicant has or will necessarily use the solution.

[0030] The following specific embodiments describe in detail the technical solution of the present application and how the technical solution of the present application solves the above-mentioned technical problems. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The embodiments of the present application will be described below in conjunction with the accompanying drawings.

[0031] Real-life three-dimensional models are widely used in scenarios such as smart cities and digital twins due to their high precision and spatial mapping capabilities. However, such models often contain sensitive geographic spatial information, which will cause serious security risks if leaked or maliciously tampered with. To this end, an embodiment of the present application provides a method for selective encryption of real-life three-dimensional model data. This method utilizes the initial value sensitivity and trajectory reproducibility of the hyperchaotic system to perform spatial blocking and multi-level perturbation encryption on the model data; the encryption area and level are controlled by key parameters to achieve a refined and adjustable encryption strategy for the model, and subsequent experimental results show that this method has strong anti-analysis and anti-attack capabilities while ensuring the availability of the model, and has low computational overhead, making it suitable for application scenarios with high requirements for the security and flexibility of three-dimensional model data.

[0032] like Figure 1 The figure shows the process of the selective encryption method of the real scene 3D model data provided by the embodiment of the present application. Figure 1 Based on the acquired original data, on the one hand, the data boundary of the original data is extracted, and the data is divided into blocks based on the extracted data boundary. On the other hand, the initial key is set based on the original data, and then a chaotic sequence is obtained by generating a chaotic key. The chaotic sequence is used to scramble the data block results, and the coordinates within the block are disturbed to finally obtain the data ciphertext.

[0033] Specifically, if Figure 2 The figure shows the process of the selective encryption method of the real scene 3D model data provided by the embodiment of the present application. Figure 2 The method for selectively encrypting real-scene 3D model data includes the following steps S100-S500.

[0034] S100: traversing each file of the real-scene 3D model data one by one, extracting the boundary of each file, and calculating the model boundary of the entire real-scene 3D model data.

[0035] The purpose of step S100 is to extract the boundary. In some embodiments, the files are traversed one by one. , extract the boundaries of each file and calculate the model boundary of the entire model, recorded as .

[0036] (1) Where, For the files The minimum bounding box of 、 、 、 、 、 are the six coordinates of the minimum bounding box, and To find the maximum and minimum values, is the bounding box of the entire model.

[0037] S200: Generate a chaotic key using the master key, and obtain a scrambled sequence based on the chaotic key.

[0038] The purpose of step S200 is to generate a scrambled sequence for spatial block In some embodiments, the master key is used to generate a chaotic key, and the calculation process for obtaining a scrambled sequence based on the chaotic key is: (2) Where, is the chaotic key generated using the master key, is the scrambled sequence generated by the corresponding chaotic key, To generate scrambled sequences using chaotic systems, They represent the sequence of four state quantities of the chaotic system, GCSKP() is the process of generating the chaotic key, primaryKey The user master key.

[0039] It should be noted that the specific process of generating a scrambled sequence using a chaotic system will be described in detail in the subsequent step S400.

[0040] S300: Based on the model boundary, the real scene three-dimensional model data is divided into blocks, and the divided model data is scrambled according to the scrambling sequence to obtain the block-scrambled model data.

[0041] The purpose of step S300 is to scramble the space blocks. Divide the entire model into blocks, and the number of blocks is n 3 , the divided model data is arranged in a scrambled sequence To perform scrambling, the calculation process is expressed as: (15) Where, is the model data after block scrambling, It is a block scrambling process, using forward n 3 The order of the values ​​​​is used to scramble the pattern data. It is the model data that is scrambled in blocks.

[0042] In some embodiments, to ensure the efficiency of the method and the recoverability of the scrambling, combined with the data characteristics, this embodiment divides the model data into blocks and scrambles the blocks. This process is recorded as The idea of ​​the block method is to extract the minimum bounding box of the model data and divide the length, width and height of the minimum bounding box into n Divide into equal parts and construct n 3 The space is divided into blocks and numbered from bottom to top and from left to right. n =3 for example Figure 3 As shown: The model data in each spatial block is regarded as a separate voxel, and the voxels are reordered and the cube is reconstructed after sorting. In order to ensure the security of the algorithm, the scrambled sequence of each model file is generated in real time by the chaotic system. The scrambled effect corresponding to one of the sequences is as follows: Figure 4 shown.

[0043] First, the length, width, and height of each block in the group are calculated according to formula (3); then, the coordinate range of each block is calculated according to formula (4).

[0044] (3) (4) In formula (3), 、 、 、 、 、 The range coordinate value of the minimum bounding box of the model data, 、 、 is the size of the block. In formula (4) 、 、 、 、 、 They are the six coordinates of each group. c 、 r 、 d are the row number, column number and depth number of the group respectively. The mapping relationship with the group sequence number can be calculated according to formula (5): (5) in id The group sequence number.

[0045] Sort the group numbers according to the order of the chaotic sequence, and get the sequence after sorting According to formula (6), the row number, column number and depth number after scrambling can be solved, and according to formula (7), the coordinate value of the spatial point after block scrambling can be calculated.

[0046] (6) (7) In formula (6) are the row number, column number and depth number after scrambling; in formula (7) is the coordinate of the scrambled space point. The decryption process is the inverse process of the encryption process.

[0047] S400: Generate a salt value according to the file name, use the salt value and the master key to generate an initial value of the chaotic system, build a chaotic system, and iterate the chaotic system multiple times to obtain a chaotic sequence set corresponding to each file.

[0048] Using the initial value of a chaotic system as a key, while maintaining a "one-key, one-secret" encryption strategy if only one chaotic system is used, still leaves the model data vulnerable to plaintext attacks due to the large number of coordinate points. Therefore, in some embodiments, a different initial value for the chaotic system is set for each file. To facilitate the rapid generation of a large number of initial values ​​within the range of the chaotic system's hyperchaotic behavior, this embodiment designs a multi-level key derivation method. This method utilizes the PBKDF2 (Password-Based Key Derivation Function 2) algorithm, commonly used in cryptography, to generate the initial value for the chaotic system. The steps are as follows: S401: Salt value calculation. As shown in formula (8), the file name is input into the SHA256 hash function to generate a fixed-length hash value as the salt value. The hashing process converts the initial key into an irreversible value with a fixed length.

[0049] (8) Where, The salt value generated for each initial key, is the file name.

[0050] S402: Use the PBKDF2 algorithm to derive the key. The master key and salt value are input into the PBKDF2 algorithm for key derivation. The PBKDF2 algorithm generates a byte array through multiple iterations. The length of the byte array is determined by the required key length. The calculation formula is: (9) Where K is the generated byte array, k i For the i The value of bytes, primaryKey is the master key (user key), salt i The salt values ​​generated for each file in the previous step.

[0051] S403: Generate a key from the byte array. Extract each byte value from the byte array returned by the PBKDF2 algorithm. Each byte value ranges from 0 to 255, representing an 8-bit number. Map each byte value and convert it to a floating-point number in the range of -10 to 10. The calculation process can be expressed as follows: (10) Where, is the converted floating point array, which is used as the chaotic key, called the chaotic key or the initial value of the chaotic system. For the A floating point number. To Chaos Key The process of chaotic key generation is called chaotic key generation, and this process is recorded as formula (16).

[0052] (16) In some embodiments, in order to ensure the security of the method, different sequences are used for the block scrambling sequence and the nonlinear mapping of the diffusion of spatial coordinates. This embodiment uses at least four chaotic sequences. Therefore, a hyperchaotic system with a multi-vortex coexisting attractor based on the traditional three-dimensional Lorentz chaotic system is designed to generate a pseudo-random sequence. The parameter equation of the chaotic system is shown in (11).

[0053] (11) Where, is the system state variable after each update, are the system parameters of the chaotic system, x 1. x 2. x 3 and x 4 are the system state variables to be updated.

[0054] In order to generate multiple rolling attractors, significantly improve the complexity and distribution range of chaotic attractors, and enhance the nonlinearity, flexibility and chaotic characteristics of the system, the chaotic system values ​​are segmented according to formula (12).

[0055] (12) Where, θ i ( x i )for, g and m are control parameters, where g controls the number of segments and determines the number of rolling attractors. m Control the amplitude and range of the rolling attractor, x i is the original system state variable.

[0056] In order to ensure the security of the pseudo-random sequence, the system parameter values ​​of the chaotic system are set as shown in Table 1.

[0057] Table 1 Chaotic system parameters

[0058] Under the system parameters shown in Table 1, the system initial value is When the system enters a hyperchaotic state, the system parameters are fixed, the initial values ​​are used as the chaotic key, a chaotic system is constructed, and it is iterated 1000 times in advance, so that the system is in a chaotic state. The chaotic sequence is output as a pseudo-random sequence (i.e., a scrambled sequence or a set of chaotic sequences corresponding to each file) for model data encryption. The chaotic key in step S200 is determined by the master key, and the initial value of the chaotic system in step S400 (i.e., the chaotic key) is generated based on the salt value and the master key. Therefore, both steps S200 and S400 can generate corresponding sequences through the chaotic system.

[0059] S500: Based on the chaotic sequence set corresponding to each file, the block-scrambled model data is disturbed to obtain ciphertext data.

[0060] In some embodiments, the calculation process of traversing each coordinate point, perturbing the data in the block, and obtaining the ciphertext data is expressed as follows: (13) Where, model md is the ciphertext data, model m is the model data after block scrambling, It is The set of chaotic sequences corresponding to the model files, Sigmod is the sigmod function.

[0061] The perturbation process is performed using the sigmod function, and the three-dimensional coordinates of the spatial coordinates are sigmod mapped to x Taking coordinates as an example, the mapping process is shown in the following formula (14).

[0062] (14) Where, x e After mapping x coordinate, After block scrambling x The row number of the block where the coordinates are located, is the x coordinate after block scrambling, The coordinate point corresponds to the chaotic sequence The value in stepX is the length of the block, e is a natural constant.

[0063] The y coordinate and z coordinate are respectively and The sequence is scrambled in the same way as x The coordinates are the same, so I will not repeat them here.

[0064] The present application also provides a method for selectively decrypting real-scene 3D model data. Figure 5 As shown, the decryption method is based on the ciphertext data obtained by the selective encryption method described in the above embodiments. On the one hand, ciphertext boundary extraction, data block and decoding range determination operations are performed to obtain blocks that do not need to be decrypted and blocks to be decrypted. On the other hand, the chaotic sequence is obtained through the steps of authority information extraction, initial key extraction, and chaotic key generation. According to the chaotic sequence, the blocks to be decrypted are re-scrambled in blocks, and the coordinates within the blocks are restored to finally obtain the dynamic decryption result.

[0065] The decryption process can be considered as the reverse process of the encryption process, but the process of complete decryption and partial decryption is slightly different. In a specific embodiment, the decryption method is implemented by the following steps 1 to 5. Steps 1 and 2 are the same as steps S100 and S200 of the encryption method, which are used to obtain and scrambling sequence .

[0066] Step 3: Spatial block scrambling recovery. Divide the entire model into blocks, the number of blocks is n 3 If complete decryption is required, the divided model is arranged in a scrambled sequence Perform inverse mapping: The process is shown in the following formula (17): (17) Where, for The reverse process of .

[0067] If selective decryption of data is required, the scrambled sequence needs to be updated to the updated sequence The update rules are as follows: first determine the block numbers within the decryption range, restore the block numbers within the decryption range, and re-scramble the remaining numbers according to the chaotic sequence, such as Figure 6 As shown, we get , then perform reverse scrambling according to this sequence: (18) Where, yes Updated sequence.

[0068] Step 4: Same as step S400 in the encryption method.

[0069] Step 5: Inversely map the decrypted blocks to obtain a partial decryption model: (19) Where, It is the inverse process of Sigmod mapping, and the calculation formula is shown in (20): (20) In order to verify the security, efficiency and dynamic encryption capability of the selective encryption method for real-scene 3D model data proposed in this application, this embodiment selects the following Figure 7 Data from three experiments are shown.

[0070] The three experimental numbers are encrypted. After encryption, it can be found that from a visual point of view, Figure 8 As shown in the figure, the data after encryption is completely chaotic, and the data returns to normal after decryption.

[0071] The encrypted data is completely unusable. However, due to the characteristics of the encryption algorithm, the data is evenly distributed within the smallest bounding box, ensuring the security of the encrypted data. After decryption and restoration, the data is visually identical to the original, ensuring normal use.

[0072] Because the root mean square error (RMS) represents the average error between two data points, this embodiment uses the RMS error for quantitative evaluation to verify the security of scrambled encryption and the lossless nature of decryption. A larger RMS error indicates a greater difference between the ciphertext and the original text, and vice versa. The RMS error between the ciphertext and the original data, as well as the RMS error between the decrypted ciphertext and the original data, were calculated. The results are shown in Table 2. A larger RMS error between the ciphertext and the original data indicates a significant difference between the data and the original data, making the data unusable. A RMS error of 0 between the decrypted ciphertext and the original data indicates that the decrypted data does not differ from the original data in spatial coordinates, indicating that the data has been fully recovered.

[0073] Table 2 Coordinate errors before and after encryption and decryption

[0074] To verify the efficiency of the method, this embodiment evaluates the data size and number of nodes processed per second, and performs encryption and decryption experiments on three pieces of data. The results are shown in Table 3: Table 3 Encryption and decryption efficiency experimental results

[0075] To verify key security, this embodiment analyzes key space and key sensitivity.

[0076] The key space of this embodiment mainly depends on the length of the master key and the possible values ​​of each bit. In order to facilitate the key to be embedded in the data as permission information, characters can be selected from the constructed static Huffman encoding table to construct the master key. According to existing research results, the key space is at least greater than 2 100 To be secure enough, the master key of this embodiment has 39 possible values ​​per bit, so the key must have at least 19 bits to be greater than the minimum threshold, and this embodiment sets the key length to 30 bits. The key space of this embodiment is 39 30 , which is much larger than the threshold.

[0077] In order to ensure the security of the method, the decryption result of the method must be extremely sensitive to the initial value of the key. In order to verify the security of the key of the method proposed in this application, the decryption operation is performed on the data after modifying one bit of the key. Although this article involves the intermediate values ​​of multiple keys, the user can only directly access the master key. Therefore, after modifying the master key by 1 bit, the decryption effect is as follows: Figure 9 As shown in the experimental results, when one bit of the key is wrong, the data is not only completely chaotic, but also far exceeds the original bounding box range, making the data completely unusable.

[0078] The following dynamic encryption and decryption experiments will be conducted to demonstrate the selectivity of the method proposed in this application. The dynamic encryption and decryption experiments include data range dynamic decryption, data range dynamic encryption, and data level dynamic encryption.

[0079] (1) Dynamic decryption of data range In order to verify the ability of the method proposed in this application to achieve dynamic decryption, this embodiment partially decrypts the ciphertext data from different ranges of the bounding box. The bounding box range of data M04 is 50% of the width, and the length increases from 10% to 60%; the bounding box range of data M05 is 100% of the width, and 10% to 60% of the length; the bounding box range of M06 is 100% of the length, and 10% to 60% of the width. This is to verify the ability of this article to dynamically decrypt according to different permission areas. The experimental results are as follows: Figure 10As shown, according to the experimental results, this application can decrypt the ciphertext data according to the return of the bounding box. The decrypted part can be used normally, and the rest remains in the ciphertext state. Therefore, this application has the ability of dynamic decryption.

[0080] (2) Dynamic encryption of data range In order to verify the ability of the method proposed in this application to achieve dynamic encryption, this embodiment partially decrypts the ciphertext data from different ranges of the bounding box. The bounding box range of data M04 is 50% of the width and the length increases from 10% to 60%; the bounding box range of data M05 is 100% of the width and 10% to 60% of the length; the bounding box range of M06 is 100% of the length and 10% to 60% of the width. The experimental results to verify the ability of this paper to dynamically decrypt according to different permission areas are as follows: Figure 11 As shown, from the experiment, it can be seen that the present application can realize partial encryption of data, the encrypted part cannot be used, and the remaining part maintains the original data accuracy.

[0081] (3) Data-level dynamic encryption In order to verify the ability of the method proposed in this application to achieve dynamic decryption, data will be decrypted in sequence starting from the lowest level of file details to verify the ability of this application to dynamically decrypt at different authority levels. Figure 12 Shows the display effect of data when decrypting L20 and below levels.

[0082] like Figure 12 As shown, at L20 and below, the data can be displayed normally, but when the data is zoomed to a certain extent, that is, when data above L20 needs to be rendered, the data remains encrypted. When zoomed to local details, it also remains in a scrambled state, and the data cannot be used normally. Because the encryption method proposed in this application encrypts files at different levels of detail separately, decrypting data at a certain level does not affect data at other levels. The level is loaded normally when it is rendered, while the undecrypted data remains in a scrambled state when it is loaded and therefore cannot be displayed normally, which is in line with experimental expectations.

[0083] The present application also provides a device for selectively encrypting real-scene 3D model data. Figure 13 As shown, the device for selectively encrypting real-scene 3D model data includes: The boundary calculation module 1301 is configured to traverse each file of the real scene 3D model data one by one, extract the boundary of each file, and calculate the model boundary of the entire real scene 3D model data; The sequence generation module 1302 is configured to generate a chaotic key using a master key and obtain a scrambled sequence according to the chaotic key; The block scrambling module 1303 is configured to divide the real-scene 3D model data into blocks based on the model boundary, and scramble the divided model data according to the scrambling sequence to obtain block-scrambled model data; The chaotic iteration module 1304 is configured to generate a salt value according to the file name, generate an initial value of the chaotic system using the salt value and the master key, construct the chaotic system, and iterate the chaotic system multiple times to obtain a chaotic sequence set corresponding to each file; The perturbation encryption module 1305 is configured to perturb the block-scrambled model data based on the chaotic sequence set corresponding to each file to obtain ciphertext data.

[0084] An embodiment of the present application provides an electronic device, which may include a processor and a memory, wherein the processor and the memory can communicate with each other; illustratively, the processor and the memory communicate with each other via a communication bus.

[0085] The processor executes the computer-executable instructions stored in the memory, so that the processor implements the solutions in the above embodiments. The 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, or discrete hardware components.

[0086] The communication bus can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus. System buses can be categorized as address buses, data buses, and control buses. Transceivers facilitate communication between the database access device and other computers (e.g., clients, read-write libraries, and read-only libraries). Memory may include random access memory (RAM) or non-volatile memory.

[0087] The electronic device provided in the embodiment of the present application may be the terminal device of the above embodiment.

[0088] An embodiment of the present application also provides a computer-readable storage medium, which stores computer instructions. When the computer instructions are executed on a computer, the computer executes the technical solution of the method for selectively encrypting real-life three-dimensional model data of the above embodiment.

[0089] An embodiment of the present application also provides a computer program product, which includes a computer program stored in a computer-readable storage medium. At least one processor can read the computer program from the computer-readable storage medium. When at least one processor executes the computer program, it can implement the technical solution of the selective encryption method for real-life three-dimensional model data in the above embodiment.

[0090] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of modules is only a logical function division. In actual implementation, there may be other division methods, such as multiple modules can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interface, device or module, which can be electrical, mechanical or other forms.

[0091] Modules described as separate components may or may not be physically separate, and components shown as modules may or may not be physical units, that is, they may be located in one place or distributed across multiple network elements. Some or all of these modules may be selected to implement the solution of this embodiment based on actual needs.

[0092] In addition, the functional modules in the various embodiments of the present application may be integrated into a single processing unit, or each module may exist physically separately, or two or more modules may be integrated into a single unit. The above-mentioned modules may be implemented in the form of hardware or hardware plus software functional units.

[0093] The integrated modules implemented in the form of software function modules can be stored in a computer-readable storage medium. The software function modules stored in a storage medium include a number of instructions for causing a computer device (which can be a personal computer, server, or network device, etc.) or a processor to execute some of the steps of the methods of various embodiments of the present application.

[0094] It should be understood that the processor described above may be a central processing unit (CPU), other general-purpose processors, digital signal processors (DSP), or application-specific integrated circuits (ASICs). A general-purpose processor may be a microprocessor or any conventional processor. The steps of the method disclosed in the present invention may be directly executed by a hardware processor or by a combination of hardware and software modules within the processor.

[0095] The memory may include a high-speed RAM memory, and may also include non-volatile storage NVM, such as at least one disk memory, and may also be a USB flash drive, a mobile hard disk, a read-only memory, a magnetic disk or an optical disk.

[0096] A bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus. Buses can be divided into address buses, data buses, and control buses.

[0097] The storage medium may be implemented by any type of volatile or non-volatile memory device, or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk. The storage medium may be any available medium that can be accessed by a general-purpose or special-purpose computer.

[0098] An exemplary storage medium is coupled to a processor so that the processor can read information from the storage medium and write information to the storage medium. Of course, the storage medium can also be an integral part of the processor. The processor and the storage medium can be located in an application specific integrated circuit (ASIC). Of course, the processor and the storage medium can also exist as discrete components in an electronic control unit or a main control device.

[0099] Those skilled in the art will appreciate that all or part of the steps in the above-described method embodiments can be implemented using hardware associated with program instructions. The aforementioned program can be stored in a computer-readable storage medium. When executed, the program performs the steps of the above-described method embodiments. The aforementioned storage medium includes various media capable of storing program code, such as ROM, RAM, magnetic disks, or optical disks.

[0100] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some or all of the technical features therein. These modifications or replacements do not deviate the essence of the corresponding technical solutions from the scope of the technical solutions of the embodiments of the present application.

Claims

1. A method for selectively encrypting real-scene 3D model data, characterized in that: The method comprises: Traversing each file of the real-scene 3D model data one by one, extracting the boundary of each file, and calculating the model boundary of the entire real-scene 3D model data; Generate a chaotic key using the master key, and obtain a scrambled sequence based on the chaotic key; Based on the model boundary, the real scene three-dimensional model data is divided into blocks, and the divided model data is scrambled according to the scrambling sequence to obtain block-scrambled model data; Generate a salt value according to the file name, use the salt value and the master key to generate an initial value of the chaotic system, build the chaotic system, and iterate the chaotic system multiple times to obtain a chaotic sequence set corresponding to each file; Based on the chaotic sequence set corresponding to each file, the block-scrambled model data is disturbed to obtain ciphertext data.

2. The method for selectively encrypting real-scene 3D model data according to claim 1, characterized in that: The calculation process of traversing each file of the real scene 3D model data one by one, extracting the boundaries of each file, and calculating the model boundary of the entire real scene 3D model data is as follows: (1) Where, For the files The minimum bounding box of 、 、 、 、 、 are the six coordinates of the minimum bounding box, and To find the maximum and minimum values, is the bounding box of the entire model.

3. The method for selectively encrypting real-scene 3D model data according to claim 1, characterized in that: The calculation process of generating a chaotic key using the master key and obtaining a scrambled sequence based on the chaotic key is: (2) Where, is the chaotic key generated using the master key, is the chaotic sequence generated by the corresponding chaotic key, To generate scrambled sequences using chaotic systems, They represent the sequence of four state quantities of the chaotic system, GCSKP() is the process of generating the chaotic key, primaryKey The user master key.

4. The method for selectively encrypting real-scene 3D model data according to claim 1, characterized in that: Based on the model boundary, the real scene three-dimensional model data is divided into blocks, and the divided model data is scrambled according to the scrambling sequence to obtain the block-scrambled model data, including: Extract the model i The minimum bounding box of the file, the length, width and height of the minimum bounding box are n Divide into equal parts and construct n 3 The space is divided into blocks, and from bottom to top, from left to right n 3 The spaces are divided into blocks and numbered; Calculate the length, width and height of each block in the group according to formula (3): (3) Where, 、 、 、 、 、 They are the range coordinate values ​​of the minimum bounding box of the model data, 、 、 is the length, width and height of the block; Calculate the coordinate range of each block according to formula (4): (4) Where, 、 、 、 、 、 are the six coordinates of each group, c 、 r and d are the row number, column number and depth number of the group respectively, and the mapping relationship with the group sequence number is calculated according to formula (5): (5) in id is the group number; Sort the group numbers according to the order of the chaotic sequence, and get the sequence after sorting , according to formula (6), we can get the row number, column number and depth number after scrambling, and calculate the coordinate value of the spatial point after block scrambling according to formula (7): (6) (7) Where, are the row number, column number and depth number after scrambling respectively; is the coordinate of the original space point; is the coordinate of the spatial point after scrambling.

5. The method for selectively encrypting real-scene 3D model data according to claim 1, characterized in that: Generate a salt value according to the file name, and use the salt value and the master key to generate an initial value of the chaotic system, including: According to the file name, the salt value is generated by the following formula (8): (8) Where, salt The salt value generated for each initial key, fileName is the file name, HASH256 is the 256-bit hash algorithm; Based on the master key and salt value, the byte array is determined by the following formula (9): (9) Where K is the generated byte array, k i For the i The value of bytes, primaryKey is the master key; salt i The salt values ​​generated for each file in the previous step; Based on the byte array, the initial value of the chaotic system is determined by the following formula (10): (10) Where CSK is the initial value of the chaotic system, csk i For the i A floating point number.

6. The method for selectively encrypting real-scene 3D model data according to any one of claims 1 to 5, characterized in that: The parameter equation of the chaotic system is shown in formula (11): (11) Where, is the system state variable after each update, are the system parameters of the chaotic system, x 1. x 2. x 3 and x 4 are the system state variables to be updated; The values ​​of the chaotic system are segmented according to formula (12): (12) Where, θ i ( x i ) is the state variable after segmentation, g and m are control parameters respectively, where g controls the number of segments, m Control the amplitude and range of the rolling attractor, x i is the original system state variable.

7. The method for selectively encrypting real-scene 3D model data according to claim 1, characterized in that: Based on the chaotic sequence set corresponding to each file, the model data after block scrambling is disturbed to obtain the calculation process of the ciphertext data: (13) Where, model md is the ciphertext data, model m is the model data after block scrambling, It is The set of chaotic sequences corresponding to the model files, Sigmod is the sigmod function, which means the sigmod mapping of the three-dimensional coordinates of the space coordinates. x The coordinate mapping process is shown in formula (14): (14) Where, x e After mapping x coordinate, After block scrambling x The row number of the block where the coordinates are located, is the x coordinate after block scrambling, The coordinate point corresponds to the chaotic sequence The value in stepX is the length of the block, e is a natural constant.

8. A device for selectively encrypting real-scene 3D model data, characterized in that: The device comprises: The boundary calculation module is configured to traverse each file of the real scene 3D model data one by one, extract the boundary of each file, and calculate the model boundary of the entire real scene 3D model data; The sequence generation module is configured to generate a chaotic key using a master key and obtain a scrambled sequence according to the chaotic key; A block scrambling module is configured to block the real-scene three-dimensional model data based on the model boundary, and scramble the block-based model data according to the scrambling sequence to obtain block-scrambled model data; The chaotic iteration module is configured to generate a salt value according to the file name, generate an initial value of the chaotic system using the salt value and the master key, construct the chaotic system, and iterate the chaotic system multiple times to obtain a chaotic sequence set corresponding to each file; The perturbation encryption module is configured to perturb the block-scrambled model data based on the chaotic sequence set corresponding to each file to obtain ciphertext data.

9. An electronic device, characterized in that: include: a processor, and a memory communicatively connected to the processor; The memory stores computer-executable instructions; The processor executes the computer-executable instructions stored in the memory to implement the method for selectively encrypting real-scene three-dimensional model data according to any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that The computer-readable storage medium stores computer-executable instructions, which, when executed by a processor, are used to implement the method for selectively encrypting real-scene three-dimensional model data according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Hyper-chaotic system-based secret key dynamic selection image encryption algorithm

    CN104881837A

  • Model file encryption and decryption method and device

    CN114386058A

  • Network security communication method

    CN115664630A

  • Image encryption method based on memristor chaos and block Josephus scrambling

    CN117376489A

  • Image encryption method based on 4D chaotic system

    CN117499005A