Real scene three-dimensional model data selective encryption method, device and equipment and storage medium

By employing a multi-level spatial partitioning and hyperchaotic perturbation mechanism, selective encryption and decryption of 3D model data is achieved, solving the problems of data structure destruction and low decryption efficiency in existing technologies, and realizing a flexible and efficient encryption and decryption process.

CN120675696BActive Publication Date: 2025-11-11NANJING CENT CHINA GEOLOGICAL SURVEY +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511164090.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-08-20
Publication Date
2025-11-11
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 corruption and low decryption efficiency, making it difficult to meet the security and efficient processing requirements of real-world 3D models.

Method used

It employs a multi-level spatial partitioning and hyper-chaotic perturbation mechanism, generating scrambling sequences through chaotic keys to perform block scrambling and perturbation encryption on 3D model data, supporting flexible encryption and decryption in different regions and levels.

Benefits of technology

It achieves improved encryption and decryption flexibility and security while ensuring data structure integrity, possesses strong anti-attack capabilities and low computational overhead, and is suitable for practical application scenarios with high security and flexibility requirements.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120675696B_ABST
    Figure CN120675696B_ABST
Patent Text Reader

Abstract

This application provides a method, apparatus, device, and storage medium for selective encryption of real-scene 3D model data. It relates to the field of data encryption technology. The method includes: sequentially traversing each file of the real-scene 3D model data, extracting the boundaries of each file, and calculating the model boundary of the entire real-scene 3D model data; generating a chaotic key using a master key, and obtaining a scrambling sequence based on the chaotic key; dividing the real-scene 3D model data into blocks based on the model boundaries, scrambling the block-wise model data according to the scrambling sequence, and obtaining block-scrambled model data; generating a salt value based on the filename, generating an initial value for the chaotic system using the salt value and the master key, constructing the chaotic system, and iterating the chaotic system multiple times to obtain a set of chaotic sequences corresponding to each file; perturbing the block-scrambled model data to obtain ciphertext data. This application possesses strong resistance to analysis and attacks, and has low computational overhead.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of data encryption technology, and in particular to a method, apparatus, device and storage medium for selective encryption of real-scene 3D model data. Background Technology

[0002] Real-world 3D models have been widely used in fields such as digital twins, smart cities, and virtual reality, and their data security has gradually attracted attention. Due to the large amount of data and complex structure of 3D models, how to improve encryption and decryption efficiency while ensuring data security has become an important research topic.

[0003] Currently, most common 3D model encryption and decryption methods employ a holistic encryption strategy, meaning that the entire model data is encrypted and decrypted uniformly. First, holistic encryption cannot achieve selective encryption and decryption, nor can it process different parts of the data individually. Real-world applications often require specific encryption protection for certain areas or layers of the model, rather than encrypting the entire data. Second, existing encryption methods often directly affect the model's storage structure, leading to file format corruption. The encrypted data is incompatible with existing 3D engines and software, affecting their normal parsing and use. Furthermore, holistic encryption typically has high computational complexity, requiring decoding of the entire model data during decryption, resulting in a lengthy decryption process that fails to meet the demands of efficient processing.

[0004] While existing scrambling encryption methods can achieve encryption without disrupting the data structure, they are mostly designed for small models, making efficiency difficult to guarantee. Their main characteristic is that encryption is achieved by rearranging the data order or transforming it according to specific rules without altering the data storage structure. This type of method has significant advantages over traditional overall encryption schemes, such as ensuring file format compatibility while performing encryption, allowing the encrypted model to still be parsed by the 3D engine, thus avoiding parsing failures due to format corruption. However, existing scrambling encryption algorithms are primarily designed for small 3D models and often fail to meet the demands of efficient processing when dealing with large-scale real-world 3D data.

[0005] A common approach in scrambling and encrypting 3D model data is to utilize chaotic systems. Chaotic systems, with their sensitivity to initial values, randomness, and long-term unpredictability, are ideal tools for encryption algorithms. However, because one-dimensional chaotic systems have simple trajectories, their initial conditions are easily derived. Furthermore, in applications with large datasets, chaotic degradation can occur after generating a sufficient number of pseudo-random numbers. Therefore, common 3D model data scrambling and encryption algorithms often employ more complex chaotic systems.

[0006] One approach is to use an improved one-dimensional chaotic system or a more complex multi-dimensional chaotic system. For example, the paper "SGao, R Wu, X Wang, et al. A 3D model encryption scheme based on a cascadedchaotic 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 fractional 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 three-dimensional model vertex coordinates by reordering the sequence.

[0007] Some technologies propose using multiple chaotic systems in combination to improve the security of 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. Then, based on the obtained sequence, it performs scrambling of model vertices and XOR encryption of the integer parts of coordinate values. However, the above encryption algorithm is relatively simple, only utilizing the randomness of the chaotic sequence for simple permutation and diffusion, without fully encrypting 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 3DArnold scrambling algorithm based on chaotic sequences and a dynamic RNA mutation algorithm to scramble and diffuse the vertices of a 3D 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 the 3D model and scramble and rotate it around the center of the minimum enclosing circle, which improves security while ensuring that the encrypted model remains within the minimum enclosing circle. However, while these methods offer higher security, they often require more computation time and are generally less efficient.

[0009] In summary, although 3D model scrambling encryption technology has made some progress, how to achieve flexible selective encryption and decryption while ensuring the integrity of the model data structure remains a key problem that urgently needs to be solved. Given the complexity and diverse requirements 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 according to different application scenarios. Summary of the Invention

[0010] This application provides a method, apparatus, device, and storage medium for selective encryption of real-world 3D model data. Through multi-level spatial partitioning and a hyper-chaotic perturbation mechanism, it achieves differentiated encryption of model data in 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] This application, based on the classic "scramble-diffusion" concept and combined with hyperchaotic sequences, designs a dynamic selective encryption / decryption scheme suitable for real-world 3D models. This scheme encrypts the model's spatial coordinate data, ensuring high security of the ciphertext while maintaining the integrity of the data structure. Furthermore, this application supports flexible dynamic encryption and decryption of different regions and levels of data, achieving controllability and efficiency in the encryption / decryption process.

[0012] Firstly, this application provides a method for selectively encrypting real-scene 3D model data, including:

[0013] Iterate through each file of the real-scene 3D model data, extract the boundaries of each file, and calculate the model boundary of the entire real-scene 3D model data.

[0014] Use the master key to generate a chaotic key, and obtain the scrambled sequence based on the chaotic key;

[0015] Based on the model boundary, the real-scene 3D model data is divided into blocks, and the block-divided model data is scrambled according to the scrambling sequence to obtain the block-scrambled model data.

[0016] A salt value is generated based on the file name. The initial value of the chaotic system is generated using the salt value and the master key. The chaotic system is constructed and iterated multiple times to obtain a set of chaotic sequences corresponding to each file.

[0017] Based on the chaotic sequence set corresponding to each file, the scrambled model data is perturbed to obtain ciphertext data.

[0018] In one possible design, the process of iterating through each file of the real-world 3D model data, extracting the boundaries of each file, and calculating the model boundaries of the entire real-world 3D model data is as follows:

[0019] (1)

[0020] In the formula, For the first files The smallest bounding box, , , , , , These are the six coordinates of the smallest bounding box. and The process of finding the maximum and minimum values, This is the bounding box of the entire model.

[0021] In one possible design, a chaotic key is generated using the master key, and the calculation process for obtaining the scrambled sequence based on the chaotic key is as follows:

[0022] (2)

[0023] In the formula, A chaotic key generated using the master key. A chaotic sequence generated for the corresponding chaotic key. The process of generating scrambled sequences using chaotic systems, These represent sequences of four state variables of a chaotic system, and GCSKP() is the process for generating a chaotic key. primaryKey This is the user's master key.

[0024] In one possible design, based on the model boundaries, the real-world 3D model data is divided into blocks, and the block-based model data is scrambled according to the scrambling sequence to obtain block-scrambled model data, including:

[0025] Extracting the first from the model i The minimum bounding box of each file, its length, width, and height are respectively... n Divide equally and construct n 3 The space is divided into blocks, and arranged from bottom to top and from left to right. n 3 Each space block is numbered;

[0026] Calculate the length, width, and height of each block in the group according to formula (3):

[0027] (3)

[0028] In the formula, , , , , , These are the coordinate values ​​of the minimum bounding box of the model data. , , It refers to the length, width, and height of the blocks;

[0029] Calculate the coordinate range of each block according to formula (4):

[0030] (4)

[0031] In the formula, , , , , , These are the six coordinates of each group. c , r and d These are the row number, column number, and depth number of the group, respectively. The mapping relationship between these numbers and the group sequence number is calculated according to formula (5):

[0032] (5)

[0033] in id Group number;

[0034] Sort the group numbers according to the order of the chaotic sequence to obtain the sequence. According to formula (6), the row number, column number, and depth number after scrambling are obtained. According to formula (7), the coordinate values ​​of the spatial points after block scrambling are calculated:

[0035] (6)

[0036] (7)

[0037] In the formula, These are the row number, column number, and depth number after scrambling, respectively. These are the original spatial coordinates; These are the coordinates of the points in space after scrambling.

[0038] In one possible design, a salt value is generated based on the filename, and the initial values ​​of the chaotic system are generated using the salt value and the master key, including:

[0039] Based on the file name, the salt value is generated using the following formula (8):

[0040] (8)

[0041] In the formula, salt The salt value generated for each initial key. fileName For filenames, HASH256 is a 256-bit hash algorithm;

[0042] Based on the master key and salt value, the byte array is determined using the following formula (9):

[0043] (9)

[0044] In the formula, K is the generated byte array. k i For the first i The value of each byte, primaryKey Master key salt i The salt values ​​generated for each file in the previous step;

[0045] Based on the byte array, the initial values ​​of the chaotic system are determined by the following formula (10):

[0046] (10)

[0047] In the formula, CSK is the initial value of the chaotic system. csk i For the first i A number of floating-point numbers.

[0048] In one possible design, the parametric equations of the chaotic system are shown in equation (11):

[0049] (11)

[0050] In the formula, This is a system state variable after each update. For the system parameters of the chaotic system, x 1. x 2. x 3 and x 4 are the system state variables to be updated;

[0051] The values ​​of the chaotic system are segmented according to formula (12):

[0052] (12)

[0053] In the formula, θ i ( x i )for, g and m These are control parameters, where g controls the number of segments. m Control the amplitude and range of the rolling attractor. x i These are the original system state variables.

[0054] In one possible design, based on the chaotic sequence set corresponding to each file, the scrambled model data is perturbed to obtain the ciphertext data. The calculation process is as follows:

[0055] (13)

[0056] In the formula, model md For encrypted data, model m The model data is scrambled into blocks. It is the first A set of chaotic sequences corresponding to each model file. Sigmod is the sigmoid function, representing a sigmoid mapping of three-dimensional coordinates in spatial coordinates. x The coordinate mapping process is shown in formula (14):

[0057] (14)

[0058] In the formula, x e For the mapped x coordinate, After scrambling the blocks xThe row number of the block where the coordinates are located. The x-coordinate after scrambling the blocks. The chaotic sequence corresponding to the coordinate points The values ​​in stepX The length of the block, e It is a natural constant.

[0059] Secondly, this application provides a selective encryption device for real-scene 3D model data, the device comprising:

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

[0061] The sequence generation module is configured to generate a chaotic key using the master key and obtain a scrambled sequence based on the chaotic key.

[0062] The block scrambling module is configured to divide the real-world 3D model data into blocks based on the model boundary, and scramble the block-divided model data according to the scrambling sequence to obtain the block-scrambled model data.

[0063] The chaos iteration module is configured to generate a salt value based on the file name, use the salt value and the master key to generate an initial value for the chaotic system, construct the chaotic system, and iterate the chaotic system multiple times to obtain a set of chaotic sequences corresponding to each file.

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

[0065] Thirdly, embodiments of this application provide an electronic device, including: at least one processor and a memory; the memory stores computer execution instructions; the at least one processor executes the computer execution instructions stored in the memory, causing the at least one processor to execute the selective encryption method for real-scene 3D model data as described in the first aspect and various possible designs of the first aspect.

[0066] Fourthly, embodiments of this application provide a computer-readable storage medium storing computer-executable instructions. When a processor executes the computer-executable instructions, it implements the selective encryption method for real-scene 3D model data as described in the first aspect and various possible designs of the first aspect.

[0067] Fifthly, embodiments of this application provide a computer program product, including a computer program that, when executed by a processor, implements the selective encryption method for real-scene 3D model data as described in the first aspect and various possible designs of the first aspect.

[0068] The selective encryption method, apparatus, device, and storage medium for real-scene 3D model data provided in this application have at least the following beneficial effects:

[0069] This application achieves high-strength perturbation encryption of model spatial coordinates through a multi-level spatial block and chaotic sequence-driven scrambling-diffusion mechanism. While ensuring the integrity of the model data structure, this application supports flexible dynamic encryption and decryption of data in different regions and levels, improving the fineness and controllability of encryption. Experimental results show that this application has strong anti-attack capabilities and low computational overhead, making it suitable for practical applications with high requirements for the security and flexibility of 3D model data. Attached Figure Description

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

[0071] Figure 1 A flowchart of a selective encryption method for real-scene 3D model data provided in this application embodiment. Figure 1 ;

[0072] Figure 2 A flowchart of a selective encryption method for real-scene 3D model data provided in this application embodiment. Figure 2 ;

[0073] Figure 3 This is a schematic diagram of the block division results provided in an embodiment of this application;

[0074] Figure 4 This is a diagram illustrating the block scrambling effect provided in an embodiment of this application.

[0075] Figure 5 A flowchart of a selective decryption method for real-scene 3D model data provided in this application embodiment Figure 3 ;

[0076] Figure 6 This is a partial decryption diagram provided for an embodiment of this application;

[0077] Figure 7 A schematic diagram of experimental data for the scrambling encryption / decryption method provided in the embodiments of this application;

[0078] Figure 8 This is a schematic diagram of the scrambling encryption result provided in an embodiment of this application;

[0079] Figure 9 The key sensitivity experiment results are shown in the figure provided in the embodiments of this application;

[0080] Figure 10The experimental results of dynamic decryption of data range provided in the embodiments of this application are shown in the figure.

[0081] Figure 11 The data range dynamic encryption experiment results provided in the embodiments of this application are shown in the figure.

[0082] Figure 12 This is a diagram illustrating the layered encryption / decryption effect provided in an embodiment of this application.

[0083] Figure 13 This is a structural diagram of the selective encryption device for real-scene 3D model data provided in the embodiments of this application.

[0084] The accompanying drawings illustrate specific embodiments of this application, which will be described in more detail below. These drawings and descriptions are not intended to limit the scope of the concept in any way, but rather to illustrate the concept of this application to those skilled in the art through reference to particular embodiments. Detailed Implementation

[0085] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.

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

[0087] It should be noted that in the embodiments of this application, certain software, components, models and other existing solutions in the industry may be mentioned. These should be regarded as exemplary and are only intended to illustrate the feasibility of implementing the technical solution of this application. However, it does not mean that the applicant has used or necessarily used the solution.

[0088] The technical solution of this application and how the technical solution of this application solves the above-mentioned technical problems are described in detail below with specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of this application will now be described with reference to the accompanying drawings.

[0089] Real-world 3D models are widely used in smart cities, digital twins, and other scenarios due to their high precision and spatial mapping capabilities. However, these models often contain sensitive geospatial information, which, if leaked or maliciously tampered with, will pose serious security risks. To address this, this application provides a selective encryption method for real-world 3D model data. This method utilizes the initial value sensitivity and trajectory reproducibility of hyperchaotic systems to perform spatial segmentation and multi-level perturbation encryption on the model data. By controlling the encryption area and level through key parameters, a refined and adjustable encryption strategy for the model is achieved. Subsequent experimental results demonstrate that this method, while ensuring model usability, possesses strong resistance to analysis and attacks, has low computational overhead, and is suitable for application scenarios with high requirements for the security and flexibility of 3D model data.

[0090] like Figure 1 The diagram shows the flow of the selective encryption method for real-scene 3D model data provided in this application embodiment. Figure 1 Based on the acquired raw data, on the one hand, the data boundary is extracted from the raw data, and the data is divided into blocks based on the extracted data boundary. On the other hand, based on the raw data, the initial key is set, and then a chaotic sequence is obtained by generating a chaotic key. The chaotic sequence is used to scramble the data block results and perturb the coordinates within the blocks, and finally the encrypted data is obtained.

[0091] Specifically, such as Figure 2 The diagram shows the flow of the selective encryption method for real-scene 3D model data provided in this application embodiment. Figure 2 The selective encryption method for real-scene 3D model data includes the following steps S100-S500.

[0092] S100: Iterate through each file of the real-world 3D model data, extract the boundaries of each file, and calculate the model boundaries of the entire real-world 3D model data.

[0093] The purpose of step S100 is to extract boundaries. In some embodiments, each file is traversed sequentially. Extract the boundaries of each file, calculate the model boundary of the entire model, and denot it as... .

[0094] (1)

[0095] In the formula, For the first files The smallest bounding box, , , , , , These are the six coordinates of the smallest bounding box. and The process of finding the maximum and minimum values, This is the bounding box of the entire model.

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

[0097] The purpose of step S200 is to generate a scrambled sequence for spatial partitioning. In some embodiments, the process of generating a chaotic key using the master key and obtaining a scrambled sequence based on the chaotic key is as follows:

[0098] (2)

[0099] In the formula, A chaotic key generated using the master key. The scrambled sequence generated for the corresponding chaotic key. The process of generating scrambled sequences using chaotic systems, These represent sequences of four state variables of a chaotic system, and GCSKP() is the process for generating a chaotic key. primaryKey This is the user's master key.

[0100] It should be noted that the specific process of generating scrambled sequences using chaotic systems will be described in detail in subsequent step S400.

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

[0102] The purpose of step S300 is to perform spatial block scrambling. The entire model is divided into blocks, with the number of blocks being... n 3 The partitioned model data is then sorted according to the scrambled sequence. The scrambling process is represented as follows:

[0103] (15)

[0104] In the formula, The model data is scrambled into blocks. It is a process of scrambling blocks, utilizing... forward n 3 The sorting of values ​​scrambles the pattern data. It is model data that has been scrambled into blocks.

[0105] In some embodiments, to ensure the efficiency of the method and the recoverability of the scrambling, and considering the data characteristics, this embodiment spatially divides the model data into blocks and scrambles these blocks. This process is denoted as... The block-based approach involves extracting the minimum bounding box of the model data, and then dividing the length, width, and height of the minimum bounding box into... n Divide equally and construct n 3 The space is divided into blocks and numbered from bottom to top and from left to right. n =3 is an example Figure 3 As shown:

[0106] The model data in each spatial block is treated as a single voxel. The voxels are then reordered, and the cube is reconstructed. To ensure the algorithm's safety, the scrambling sequence for each model file is generated in real-time by a chaotic system. The scrambling effect corresponding to one sequence is shown below. Figure 4 As shown.

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

[0108] (3)

[0109] (4)

[0110] In equation (3), , , , , , The coordinate values ​​of the minimum bounding box of the model data. , , It is the size of the block. In equation (4) , , , , , These are the six coordinates of each group. c , r , d These are the row number, column number, and depth number of the group, respectively. The mapping relationship between these numbers and the group sequence number can be calculated using formula (5):

[0111] (5)

[0112] in id This is the group number.

[0113] Sort the group numbers according to the order of the chaotic sequence to obtain the sequence. According to formula (6), the row number, column number and depth number after scrambling can be obtained. According to formula (7), the coordinate values ​​of the spatial points after block scrambling can be calculated.

[0114] (6)

[0115] (7)

[0116] In formula (6) The row number, column number, and depth number after scrambling; in formula (7) These are the coordinates of the points in space after scrambling. The decryption process is the reverse of the encryption process.

[0117] S400: Generate a salt value based on the file name, use the salt value and the master key to generate an initial value for the chaotic system, construct the chaotic system, and iterate the chaotic system multiple times to obtain a set of chaotic sequences corresponding to each file.

[0118] Using the initial value of a chaotic system as a key, while a single chaotic system can guarantee a "one key, one password" encryption strategy, the sheer number of coordinate points in the model data still makes it vulnerable to plaintext attacks. Therefore, in some embodiments, different initial values ​​for the chaotic system are set for each file. To facilitate the rapid generation of a large number of initial values ​​within the range of hyperchaotic behavior of the chaotic system, this embodiment designs a multi-level key derivation method. This method utilizes the PBKDF2 (Password-Based Key Derivation Function 2) algorithm, a common algorithm in cryptography, to generate the initial values ​​of the chaotic system. The steps are as follows:

[0119] S401: Salt value calculation. As shown in formula (8), the filename is input into the SHA256 hash function to generate a fixed-length hash value as the salt value. The purpose of hashing is to convert the initial key into an irreversible and fixed-length value.

[0120] (8)

[0121] In the formula, The salt value generated for each initial key. For filename.

[0122] S402: Derive the key using the PBKDF2 algorithm. Input the master key and salt value 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, and the calculation formula is as follows:

[0123] (9)

[0124] In the formula, K is the generated byte array. k i For the first i The value of each byte, primaryKey Master key (user key) salt i This refers to the salt values ​​generated for each file in the previous step.

[0125] S403: Generate the key from the byte array. Extract each byte value from the byte array returned by the PBKDF2 algorithm. The value of each byte ranges from 0 to 255, representing an 8-bit number. Map each byte value to a floating-point number in the range of -10 to 10. The calculation process can be represented as follows:

[0126] (10)

[0127] In the formula, The converted floating-point array serves as the chaos key, also known as the chaos key or the initial value of the chaotic system. For the first A floating-point number. The above is from the master key. To Chaos Key The process is called chaotic key generation, and this process is recorded as formula (16).

[0128] (16)

[0129] In some embodiments, in order to ensure the safety of the method, different sequences are used for the block scrambling sequence and the nonlinear mapping of the diffusion of spatial coordinates. In this embodiment, at least four chaotic sequences are used. Therefore, a hyperchaotic system with multiple vortex coexistence attractors based on the traditional three-dimensional Lorentz chaotic system is designed to generate pseudo-random sequences. The parametric equation of the chaotic system is shown in (11).

[0130] (11)

[0131] In the formula, This is a system state variable after each update. For the system parameters of the chaotic system, x 1. x 2. x 3 and x 4 are the system state variables to be updated.

[0132] 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 values ​​of the chaotic system are segmented according to formula (12).

[0133] (12)

[0134] In the formula, θ i ( x i )for, g and m These are the 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 These are the original system state variables.

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

[0136] Table 1 Parameters of Chaotic Systems

[0137]

[0138] Under the system parameters shown in Table 1, the initial system values ​​are... At this point, the system exhibits a hyper-chaotic state. In this embodiment, the system parameters are fixed, and the initial value is used as the chaotic key. A chaotic system is constructed and iterated 1000 times beforehand to bring the system into a chaotic state. The output chaotic sequence is used 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 using the master key, and the initial value of the chaotic system (i.e., the chaotic key) in step S400 is generated based on the salt value and the master key. Therefore, both steps S200 and S400 can generate the corresponding sequences using this chaotic system.

[0139] S500: Based on the chaotic sequence set corresponding to each file, the scrambled model data is perturbed to obtain ciphertext data.

[0140] In some embodiments, the calculation process of traversing each coordinate point, perturbing the data within the block, and obtaining the ciphertext data is represented as follows:

[0141] (13)

[0142] In the formula, model md For encrypted data, model m The model data is scrambled into blocks. It is the first The set of chaotic sequences corresponding to each model file, where Sigmod is the sigmod function.

[0143] The perturbation process uses the sigmoid function to perform sigmoid mapping on the three-dimensional coordinates of the spatial coordinates. x Taking coordinates as an example, the mapping process is shown in the following formula (14).

[0144] (14)

[0145] In the formula, x e For the mapped x coordinate, After scrambling the blocks x The row number of the block where the coordinates are located. The x-coordinate after scrambling the blocks. The chaotic sequence corresponding to the coordinate points The values ​​in stepX The length of the block, e It is a natural constant.

[0146] The y-coordinate and z-coordinate are respectively used and The sequence is scrambled, and the scrambling method is the same as... x Since the coordinates are the same, they will not be elaborated here.

[0147] This application also provides a method for selectively decrypting real-scene 3D model data, such as... 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, it performs ciphertext boundary extraction, data block division, and decoding range determination operations to obtain blocks that do not need to be decrypted and blocks to be decrypted. On the other hand, it obtains a chaotic sequence through permission information extraction, initial key extraction, and chaotic key generation steps. Based on the chaotic sequence, the blocks to be decrypted are divided and scrambled, and the coordinates within the blocks are restored to finally obtain the dynamic decryption result.

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

[0149] Step 3: Spatial Block Scrambling and Restoration. Divide the entire model into blocks, with the number of blocks being n. 3 If complete decryption is required, the block-based model should be scrambled according to the scrambling sequence. Perform the inverse mapping: The process is shown in the following formula (17):

[0150] (17)

[0151] In the formula, for The reverse process.

[0152] If selective data decryption is required, the scrambled sequence needs to be updated to the updated sequence. The update rules are as follows: First, determine the block sequence number within the decryption range, restore the block sequence number within the decryption range, and then re-scramble the remaining sequence numbers according to the chaotic sequence, such as... Figure 6 As shown, we obtain At this point, the sequence is reversed and scrambled:

[0153] (18)

[0154] In the formula, yes The updated sequence.

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

[0156] Step 5: Perform inverse mapping on the blocks of the decrypted part to obtain a partial decryption model:

[0157] (19)

[0158] In the formula, It is the inverse process of the Sigmod mapping, and the calculation formula is shown in (20):

[0159] (20)

[0160] 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, for example... Figure 7 The three experimental data are shown.

[0161] The three sets of experimental data were encrypted. After encryption, it can be observed visually that, for example... Figure 8 As shown, the scrambled encryption result shows that the encrypted data is completely scrambled, but the data is restored to normal after decryption.

[0162] 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 its security. After decryption and recovery, the data appears visually identical to the original, and its normal use is unaffected.

[0163] Since the root mean square error (RMSE) represents the average error between two data points, this embodiment uses RMSE for quantitative evaluation to verify the security of scrambling encryption and the lossless nature of decryption. A larger RMSE indicates a greater difference between the ciphertext and the original data, and vice versa. The RMSE between the ciphertext and the original data, as well as the RMSE between the decrypted ciphertext and the original data, were calculated, and the results are shown in Table 2. A large RMSE between the ciphertext and the original data indicates a significant difference, rendering the data unusable. A RMSE of 0 between the decrypted ciphertext and the original data indicates that the decrypted data is identical to the original data in spatial coordinates, and the data has been completely recovered.

[0164] Table 2 Coordinate errors before and after encryption / decryption

[0165]

[0166] To verify the efficiency of the method, this embodiment evaluates it based on the data size processed per second and the number of nodes. Encryption and decryption experiments were conducted on three sets of data, and the results are shown in Table 3.

[0167] Table 3. Experimental Results of Encryption / Decryption Efficiency

[0168]

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

[0170] The key space in this embodiment primarily depends on the length of the master key and the possible values ​​of each bit. To facilitate the embedding of the key as authorization information into the data, characters can be selected from the constructed static Huffman coding table to construct the master key. Based on existing research, the key space should be at least greater than 2. 100 To ensure sufficient security, this embodiment allows 39 possible values ​​for each bit of the master key. Therefore, the key must be at least 19 bits long to exceed the minimum threshold. This embodiment sets the key length to 30 bits. Thus, the key space in this embodiment is 39 bits. 30 It is much greater than the threshold.

[0171] To ensure the security of the method, the decryption result must be extremely sensitive to the initial value of the key. To verify the security of the key in the proposed method, the data was decrypted after modifying one bit of the key. Although this paper involves multiple intermediate key values, users only have direct access to the master key. Therefore, modifying one bit of the master key yielded the following decryption result: Figure 9 As shown in the figure. The experimental results show that when a single bit of the key is erroneous, the data is not only completely corrupted, but also far exceeds the original bounding box range, rendering the data completely unusable.

[0172] The following dynamic encryption / decryption experiments will demonstrate the selectivity of the method proposed in this application. The dynamic encryption / decryption experiments include dynamic decryption of data ranges, dynamic encryption of data ranges, and dynamic encryption of data layers.

[0173] (1) Dynamic decryption of data range

[0174] To verify the dynamic decryption capability of the method proposed in this application, this embodiment partially decrypts the ciphertext data from different bounding box ranges. Specifically, the bounding box range for data M04 is 50% of the width, with the length increasing from 10% to 60%; the bounding box range for data M05 is 100% of the width, with the length ranging from 10% to 60%; and the bounding box range for M06 is 100% of the length, with the width ranging from 10% to 60%. This verifies the ability of this method to dynamically decrypt based on different access permissions. Experimental results are as follows: Figure 10 As shown in the experimental results, this application can decrypt ciphertext data based on the return of the bounding box. The decrypted part can be used normally, while the rest remains in ciphertext state. Therefore, this application has the ability to dynamically decrypt.

[0175] (2) Dynamic encryption of data range

[0176] To verify the dynamic encryption capability of the method proposed in this application, this embodiment partially decrypts the ciphertext data from different bounding box ranges. Specifically, the bounding box range for data M04 is 50% of the width, with the length increasing from 10% to 60%; the bounding box range for data M05 is 100% of the width, with the length ranging from 10% to 60%; and the bounding box range for M06 is 100% of the length, with the width ranging from 10% to 60%. Experimental results verifying the ability of this method to dynamically decrypt based on different access control areas are as follows: Figure 11 As shown in the experiment, this application can achieve partial encryption of data, with the encrypted part being unusable and the remaining part maintaining the original data precision.

[0177] (3) Dynamic encryption at the data level

[0178] To verify the ability of the proposed method to achieve dynamic decryption, data will be decrypted sequentially starting from the lowest level of file detail to verify the ability of the proposed method to dynamically decrypt data at different permission levels. Figure 12 This demonstrates the display effect when decrypting data at levels L20 and below.

[0179] like Figure 12As shown, data can be displayed normally at L20 and below. However, when the data is scaled to a certain level, i.e., when rendering data at levels above L20, the data remains encrypted. Even when scaled to local details, it remains in a scrambled state, rendering the data unusable. Because the encryption method proposed in this application encrypts files at different detail levels separately, decrypting data at one level does not affect data at other levels. That level is loaded normally during rendering, while the uncracked data remains scrambled during loading and therefore cannot be displayed correctly, which is in line with experimental expectations.

[0180] This application also provides a selective encryption device for real-scene 3D model data, such as... Figure 13 As shown, the selective encryption device for real-scene 3D model data includes:

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

[0182] Sequence generation module 1302 is configured to generate a chaotic key using the master key and obtain a scrambled sequence based on the chaotic key.

[0183] 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 block-divided model data according to the scrambling sequence to obtain the block-scrambled model data.

[0184] The chaos iteration module 1304 is configured to generate a salt value based on the file name, use the salt value and the master key to generate an initial value for the chaotic system, construct the chaotic system, and iterate the chaotic system multiple times to obtain a set of chaotic sequences corresponding to each file.

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

[0186] This application provides an electronic device. The electronic device may include a processor and a memory, wherein the processor and the memory can communicate; exemplarily, the processor and the memory communicate via a communication bus.

[0187] The processor executes computer execution instructions stored in memory, causing the processor to perform the scheme 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.

[0188] The communication bus can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. The system bus can be divided into address bus, data bus, control bus, etc. Transceivers are used to enable communication between database access devices and other computers (e.g., clients, read-write libraries, and read-only libraries). Memory may include random access memory (RAM) and may also include non-volatile memory.

[0189] The electronic device provided in this application embodiment can be the terminal device described in the above embodiments.

[0190] This application also provides a computer-readable storage medium storing computer instructions. When the computer instructions are executed on a computer, the computer performs the technical solution of the selective encryption method for real-scene 3D model data described in the above embodiments.

[0191] This 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 the at least one processor executes the computer program, it can implement the technical solution of the selective encryption method for real-scene 3D model data in the above embodiments.

[0192] 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 instance, the division of modules is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple modules may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be indirect coupling or communication connection through some interfaces, devices, or modules, and may be electrical, mechanical, or other forms.

[0193] The modules described as separate components may or may not be physically separate. The 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 units. Some or all of the modules can be selected to implement the solution of this embodiment according to actual needs.

[0194] Furthermore, the functional modules in the various embodiments of this application can be integrated into one processing unit, or each module can exist physically separately, or two or more modules can be integrated into one unit. The unit composed of the above modules can be implemented in hardware or in the form of hardware plus software functional units.

[0195] The integrated modules described above, implemented as software functional modules, can be stored in a computer-readable storage medium. These software functional modules, stored in a storage medium, include several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute some steps of the methods of the various embodiments of this application.

[0196] It should be understood that the aforementioned processor can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), etc. A general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in this invention can be directly manifested as execution by a hardware processor, or execution by a combination of hardware and software modules within the processor.

[0197] The memory may include high-speed RAM, and may also include non-volatile storage (NVM), such as at least one disk storage device, and may also be a USB flash drive, external hard drive, read-only memory, disk or optical disc, etc.

[0198] Buses can be Industry Standard Architecture (ISA) buses, Peripheral Component Interconnect (PCI) buses, or Extended Industry Standard Architecture (EISA) buses, etc. Buses can be categorized into address buses, data buses, control buses, etc.

[0199] The aforementioned storage medium can be implemented by any type of volatile or non-volatile storage 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 can be any available medium that can be accessed by a general-purpose or special-purpose computer.

[0200] An exemplary storage medium is coupled to a processor, enabling the processor to read information from and write information to the storage medium. Alternatively, the storage medium can be an integral part of the processor. The processor and storage medium can reside in an Application Specific Integrated Circuit (ASIC). Alternatively, the processor and storage medium can exist as discrete components in an electronic control unit or main control device.

[0201] Those skilled in the art will understand that all or part of the steps of the above-described method embodiments can be implemented by hardware related to 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; and the aforementioned storage medium includes various media capable of storing program code, such as ROM, RAM, magnetic disks, or optical disks.

[0202] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some or all of the technical features therein. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this application.

Claims

1. A method for selectively encrypting real-scene 3D model data, characterized in that, The method includes: Iterate through each file of the real-scene 3D model data, extract the boundaries of each file, and calculate the model boundary of the entire real-scene 3D model data. Use the master key to generate a chaotic key, and obtain the scrambled sequence based on the chaotic key; Based on the model boundary, the real-scene 3D model data is divided into blocks, and the block-divided model data is scrambled according to the scrambling sequence to obtain the block-scrambled model data. A salt value is generated based on the file name. The initial value of the chaotic system is generated using the salt value and the master key. The chaotic system is constructed and iterated to obtain a set of chaotic sequences corresponding to each file. Based on the chaotic sequence set corresponding to each file, the scrambled model data is perturbed to obtain ciphertext data.

2. The selective encryption method for real-scene 3D model data according to claim 1, characterized in that, The process of iterating through each file of the real-world 3D model data, extracting the boundaries of each file, and calculating the model boundaries of the entire real-world 3D model data is as follows: In the formula, BBox i For the i-th file i The minimum bounding box, minX i minY i minZ i maxX i maxY i maxZ i These are the six coordinates of the minimum bounding box. `min()` and `max()` are the processes for finding the maximum and minimum values, respectively. model This is the bounding box of the entire model.

3. The selective encryption method for real-scene 3D model data according to claim 1, characterized in that, The calculation process for generating a chaotic key using the master key and obtaining a scrambled sequence based on the chaotic key is as follows: In the formula, CSK m For the chaotic key generated using the master key, ξ m For the chaotic sequence generated corresponding to the chaotic key, HSMCA(·) is the process of generating a scrambled sequence using a chaotic system, S m1 ,S m2 ,S m3 ,S m4 These represent the sequences of four state variables of the chaotic system, GCSKP() is the process of generating the chaotic key, and primaryKey is the user's master key.

4. The selective encryption method for real-scene 3D model data according to claim 1, characterized in that, Based on the model boundary, the real-world 3D model data is divided into blocks, and the block-based model data is scrambled according to the scrambling sequence to obtain block-scrambled model data, including: Extract the minimum bounding box of the i-th file in the model, and divide the length, width, and height of the minimum bounding box into n equal parts each, constructing n... 3 Divide the space into blocks, and sort them from bottom to top and from left to right for n. 3 Each space block is numbered; Calculate the length, width, and height of each block in the group according to formula (3): In the formula, minX, maxX, minY, maxY, minZ, and maxZ are the range coordinates of the minimum bounding box of the model data, and stepX, stepY, and stepZ are the length, width, and height of the block. Calculate the coordinate range of each block according to formula (4): In the formula, minX crd maxX crd minY crd maxY crd minZ crd maxZ crd These are the six coordinates of each group, where c, r, and d are the row number, column number, and depth number of the group, respectively. The mapping relationship between these coordinates and the group number is calculated according to formula (5): id = n 2 d+nr+c (5) Where id is the group number; Sort the group numbers according to the order of the chaotic sequence, and obtain the sequence ID' after sorting. Solve the row number, column number and depth number after scrambling according to formula (6). Calculate the coordinate values ​​of the spatial points after block scrambling according to formula (7): In the formula, c', r', and d' are the row number, column number, and depth number after scrambling, respectively; x, y, and z are the original spatial coordinates; and x', y', and z' are the coordinates of the spatial points after scrambling.

5. The selective encryption method for real-scene 3D model data according to claim 1, characterized in that, A salt value is generated based on the filename, and the initial values ​​of the chaotic system are generated using the salt value and the master key, including: Based on the file name, the salt value is generated using the following formula (8): salt i =HASH256(fileName) (8) In the formula, salt i The salt value generated for each initial key, fileName is the file name, and HASH256 is a 256-bit hash algorithm; Based on the master key and salt value, the byte array is determined using the following formula (9): K=PBKDF2(primaryKey,salt i ),k i ∈K (9) In the formula, K is the generated byte array, k i The value of the i-th byte is `primaryKey`, which is the primary key; `salt` i The salt values ​​generated for each file in the previous step; Based on the byte array, the initial values ​​of the chaotic system are determined by the following formula (10): In the formula, CSK is the initial value of the chaotic system, and csk i Let i be the i-th floating-point number.

6. The selective encryption method for real-scene 3D model data according to any one of claims 1 to 5, characterized in that, The parametric equations of the chaotic system are shown in equation (11): In the formula, Let α, β, χ, ρ, and δ be the system parameters of the chaotic system, and x1, x2, x3, and x4 be the system state variables to be updated. The values ​​of the chaotic system are segmented according to formula (12): In the formula, θ i (x i ) represents the segmented state variable, g and m are control parameters, where g controls the number of segments, m controls the amplitude and range of the rolling attractor, and x i These are the original system state variables.

7. The selective encryption method for real-scene 3D model data according to claim 1, characterized in that, The process of perturbing the scrambled model data based on the chaotic sequence set corresponding to each file to obtain the ciphertext data is as follows: model md =Sigmod(model m ,ξ i ) (13) In the formula, model md For encrypted data, model m For the scrambled model data, ξ i It is the set of chaotic sequences corresponding to the i-th model file. Sigmod is the sigmod function, which represents the sigmod mapping of the three-dimensional coordinates of the spatial coordinates. The mapping process of the x-coordinate is shown in formula (14): In the formula, x e Here, c' is the row number of the block containing the scrambled x-coordinate, x is the scrambled x-coordinate, and code is the chaotic sequence S corresponding to the coordinate point. i2 The value of is given by stepX, where stepX is the length of the block and e is the natural constant.

8. A selective encryption device for real-scene 3D model data, characterized in that, The device includes: 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 the master key and obtain a scrambled sequence based on the chaotic key. The block scrambling module is configured to divide the real-world 3D model data into blocks based on the model boundary, and scramble the block-divided model data according to the scrambling sequence to obtain the block-scrambled model data. The chaos iteration module is configured to generate a salt value based on the file name, use the salt value and the master key to generate an initial value for the chaotic system, construct the chaotic system, and iterate the chaotic system to obtain a set of chaotic sequences 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-executed instructions; The processor executes computer execution instructions stored in the memory to implement the selective encryption method for real-scene 3D model data as described in any one of claims 1-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 selective encryption method for real-scene 3D model data as described in any one of claims 1-7.

Citation Information

Patent Citations

  • Model file encryption and decryption method and device

    CN114386058A

  • Image encryption method based on 4D chaotic system

    CN117499005A