A method for unified delivery and archival application of three-dimensional models
By converting 3D models into a unified format and encrypting them, the problem of inconsistent data formats in 3D model management is solved, enabling secure storage and integrity management of 3D models, and supporting unified viewing and traceability of multi-format models.
Patent Information
- Application Number
- CN202310285816.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-03-22
- Publication Date
- 2026-02-10
- Estimated Expiration
- 2043-03-22
AI Technical Summary
In the existing technology, there are many types of data formats for 3D models and a lack of unified standards, which makes it impossible for the archive system to effectively manage and view 3D models in multiple formats. In addition, the information transmission is incomplete, making it difficult to guarantee the integrity and readability of the data.
The 3D model is converted into a standardized unified format, encrypted, and its feature attributes are extracted through a specified model parsing engine. After establishing the relationship, it is stored and archived. A chaotic mapper is used for encryption to ensure data security and integrity.
It achieves unified management and secure storage of 3D models, ensuring data integrity and readability, and supports unified viewing and traceability management of multi-format models.
Smart Images

Figure CN116561057B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of 3D model management, specifically relating to a method for unified delivery and archiving of 3D models. Background Technology
[0002] A 3D model is a digital model that includes three-dimensional geometry, location information, and engineering entity attributes. 3D models provide an efficient and intuitive way to view engineering data, allowing for quick retrieval and querying of related design data or documents.
[0003] With the development of the times and the advancement of technology, 3D design has been gradually applied to various industries, but some unresolved problems still exist. The traditional 2D archiving system in the metallurgical industry is relatively mature, but it still lacks effective management methods for 3D model archives. This is because: 3D model data formats are diverse, and there is no unified standard for storage formats, resulting in weak universality and the risk of being unreadable. For example, data exchange between heterogeneous CAD models has always been a thorny issue. France, the United States, and Germany have respectively proposed SET, VDFS, and IGES formats, forming a set of product model data standards: the STEP standard, for exchanging geometric data. However, archiving systems typically lack the technical capability to view multi-format 3D models. Furthermore, the information from 3D models is difficult to completely transfer to the archiving system. Even with the STEP standard proposed by European and American countries, only about 50% of the information is preserved after conversion of various 3D models. The re-collection of this lost information not only consumes a large amount of resources and is extremely costly, but also, due to differences in design software and design styles, it is difficult to guarantee the integrity and readability of the data. Summary of the Invention
[0004] In view of the above-mentioned shortcomings in the prior art, the present invention provides a method for unified delivery and archiving of three-dimensional models, which solves the problems existing in the prior art.
[0005] To achieve the above-mentioned objectives, the technical solution adopted by this invention is as follows:
[0006] A method for unified delivery and archiving of 3D models includes:
[0007] Obtain the original 3D model uploaded by the delivery user, and convert the original 3D model into a lightweight 3D model in a standardized and unified format by the system to obtain the first target 3D model;
[0008] The first target 3D model is transmitted to the specified model parsing engine to obtain the 3D model feature attributes. The obtained 3D model feature attributes are then confirmed or supplemented to obtain the first target 3D model feature attributes.
[0009] The three-dimensional model original, the first target three-dimensional model and the feature attributes of the first target three-dimensional model are associated respectively to obtain the relationship between the three;
[0010] The original 3D model, the first target 3D model, the feature attributes of the first target 3D model, and the relationships between the three are stored in the data area corresponding to the specified delivery, thus completing the delivery management of the 3D model;
[0011] The original 3D model and the first target 3D model are encrypted respectively to obtain the encrypted original 3D model, the encrypted first target 3D model and the first encryption key. The encrypted original 3D model, the encrypted first target 3D model, the feature attributes of the first target 3D model and the first encryption key are associated to obtain the relationship between the four.
[0012] The encrypted original 3D model, the encrypted first target 3D model, the feature attributes of the first target 3D model, the first encryption key, and the relationship between the four are stored in the data area corresponding to the archive. The first encryption key is encrypted with the user's public key and then transmitted to the device corresponding to the archive user to complete the archiving management of the 3D model. The relationship is used to characterize the relationship between the encrypted original 3D model, the encrypted first target 3D model, the feature attributes of the first target 3D model, and the first encryption key.
[0013] In one possible implementation, after encrypting the first encryption key using the delivered user's public key, the method further includes:
[0014] Receive a 3D model viewing instruction transmitted by the file user, the 3D model viewing instruction including a first target 3D model name and a second encryption key;
[0015] Based on the name of the first target 3D model, search for the first target 3D model that matches the name of the target 3D model in the specified data area, and obtain the search results, which include whether the search was successful or unsuccessful.
[0016] When the search result is successful, the second encryption key corresponding to the name of the first target 3D model is matched with the first encryption key corresponding to the first target 3D model found, and the matching result is obtained, which includes successful matching or unsuccessful matching.
[0017] When the matching result is successful, the first target 3D model is decrypted using the second encryption key, and the decrypted file is loaded using a specified 3D engine to obtain a real-time loading screen. The specified 3D engine is set in the cloud or locally.
[0018] When the specified 3D engine is set in the cloud, the real-time loading screen will be transmitted to the corresponding device of the archive user via the Internet for display; when the specified 3D engine is set locally, the real-time loading screen will be transmitted to the corresponding device of the archive user via data transmission line for display.
[0019] In one possible implementation, after transmitting the real-time loading screen to the archive user's device via the Internet for display, or transmitting the real-time loading screen to the archive user's device via a data transmission line for display, the method further includes:
[0020] Receive 3D model adjustment instructions transmitted by the file user. The 3D model adjustment instructions include zoom in instructions, zoom out instructions, rotate instructions, explode view instructions, split instructions, structure deletion instructions, structure addition instructions, and structure modification instructions.
[0021] The first target 3D model, which has already been loaded, is adjusted according to the 3D model adjustment command, and the real-time loading screen is updated synchronously.
[0022] In one possible implementation, encrypting both the original 3D model and the first target 3D model includes:
[0023] Extract the coordinates Z1 of each first vertex in the original 3D model and the position W1 of each first vertex in the original 3D model to obtain the first key parameters of each first vertex.
[0024] The coordinates Z1 of each vertex in the 3D model element are changed to empty to obtain the first chaotic 3D model;
[0025] The first key parameters of each first vertex are combined to form the first plaintext M1, and the first plaintext M1 is encrypted to obtain the encrypted first key parameters. The encrypted first key parameters and the first chaotic 3D model are used together as the encrypted file of the 3D model original.
[0026] Extract the coordinates Z2 of each second vertex in the target 3D model and the position W2 of each second vertex in the target 3D model to obtain the second key parameters of each second vertex;
[0027] By modifying the Z2 coordinates of each vertex in the 3D model element to empty, a second chaotic 3D model is obtained.
[0028] The second key parameters of each second vertex are combined to form the second plaintext M2, and the second plaintext M2 is encrypted to obtain the encrypted second key parameters. The encrypted second key parameters and the second chaotic 3D model are used together as the encrypted file of the target 3D model.
[0029] In one possible implementation, the first key parameters of each first vertex are used to form a first plaintext M1, and the first plaintext M1 is encrypted, including:
[0030] A1. Initialize the system parameters of the first and second chaotic mappers;
[0031] A2. Assemble the first key parameters of each first vertex into a first plaintext M1, and divide the first plaintext M1 evenly into N first plaintext blocks according to the specified sequence length L, or divide the first plaintext M1 into N-1 first plaintext blocks that satisfy the specified sequence length L and one first plaintext block that does not satisfy the specified sequence length L; wherein, the first plaintext block that does not satisfy the specified sequence length L represents the remaining data of the first plaintext M1 after grouping it in the direction from beginning to end, which is less than the specified sequence length L;
[0032] A3. When the first plaintext M1 is evenly divided into N first plaintext blocks according to the specified sequence length L, the first encryption key corresponding to each first plaintext block is directly obtained, and the first plaintext block is encrypted using the first encryption key to obtain the first ciphertext. The first ciphertext is then concatenated according to the division order of the first plaintext M1 to obtain the encrypted first key parameter. When the first plaintext M1 is divided into N-1 first plaintext blocks that satisfy the specified sequence length L and one first plaintext block that does not satisfy the specified sequence length L, then proceed to step A4.
[0033] A4. Iterate the first chaotic mapper M+N-1 times to obtain the first current value corresponding to the first chaotic mapper;
[0034] A5. Initialize the first counter t1=1 and the second counter t2=1;
[0035] A6. Based on the first current value corresponding to the first chaotic mapper, iterate L times to obtain the first key corresponding to the t1th first plaintext block;
[0036] A7. Determine if the first counter t1 is equal to N-1. If yes, proceed to step A8; otherwise, increment the count value of the first counter t1 by one and return to step A6.
[0037] A8. Iterate the first chaotic mapper G times to obtain the first key corresponding to the first plaintext block that does not meet the specified sequence length L.
[0038] A9. Iterate the second chaotic mapper M+G times to obtain the second current value corresponding to the second chaotic mapper; where G represents the number of bits of the remaining data in a first plaintext block that does not meet the specified sequence length L;
[0039] A10. Based on the second current value corresponding to the second chaotic mapper, iterate L times to obtain the second key corresponding to the t1th first plaintext block;
[0040] A11. Determine if the second counter t2 is equal to N-1. If yes, proceed to step A12; otherwise, increment the count value of the second counter t2 by one and return to step A10.
[0041] A12. Iterate the second chaotic mapper G times to obtain the second key corresponding to the first plaintext block that does not meet the specified sequence length L.
[0042] A13. Binarize the first key and the second key corresponding to the first plaintext block to obtain the first binary sequence and the second binary sequence corresponding to the first plaintext block; the binarization means that a value greater than 0 is quantized as 1, and a value less than or equal to 0 is quantized as 0.
[0043] A14. XOR the first binary sequence with the second binary sequence to obtain the first encryption key corresponding to the first plaintext block;
[0044] A15. For the first N-1 plaintext blocks, encrypt the i-th plaintext block according to the first encryption key corresponding to the i-th plaintext block to obtain N-1 ciphertext blocks; i=1,2,…,N-1;
[0045] A16. The first encryption key corresponding to the first plaintext block that does not meet the specified sequence length L is XORed bit by bit with the data in the first plaintext block that does not meet the specified sequence length L to obtain the first ciphertext corresponding to the first plaintext block that does not meet the specified sequence length L.
[0046] A17. Concatenate the N-1 first ciphertexts and the first ciphertexts corresponding to the first plaintext block that does not meet the specified sequence length L in the order of segmentation to obtain the encrypted first key parameter.
[0047] In one possible implementation, the first chaotic mapper is:
[0048]
[0049] Where, x n Let x represent the first chaotic variable. n+1 represents the updated first chaotic variable, and μ represents the control parameters of the first chaotic mapper.
[0050] In one possible implementation, the second chaotic mapper is:
[0051] y n+1 =cos[k×arccos(y n )]
[0052] Among them, y n Let y represent the second chaotic variable. n+1 This represents the updated second chaotic variable, and k represents the control parameters of the second chaotic mapper.
[0053] In one possible implementation, initializing the system parameters of the first chaotic mapper and the second chaotic mapper includes:
[0054] Get the current time, and use the current time as a parameter to call the pseudo-random number generator to generate the initial value of the first chaotic variable, the initial value of the second chaotic variable, and the control parameters of the second chaotic mapper. Set the control parameters of the first chaotic mapper to the preset value to complete the initialization of the system parameters of the first and second chaotic mappers.
[0055] In one possible implementation, when the first plaintext M1 is uniformly divided into N first plaintext blocks according to a specified sequence length L, the first encryption key corresponding to each first plaintext block is directly obtained, and the first plaintext block is encrypted using the first encryption key to obtain the first ciphertext. The first ciphertext is then concatenated according to the segmentation order of the first plaintext M1 to obtain the encrypted first key parameter, including:
[0056] A31. When the first plaintext M1 is uniformly divided into N first plaintext blocks according to the specified sequence length L, the first chaotic mapper is iterated M+N times to obtain the first current value corresponding to the first chaotic mapper.
[0057] A32. Initialize the first counter t1=1 and the second counter t2=1;
[0058] A33. Based on the first current value corresponding to the first chaotic mapper, iterate L times to obtain the first key corresponding to the t1th first plaintext block;
[0059] A34. Determine if the first counter t1 is equal to N. If yes, proceed to step A35; otherwise, increment the count value of the first counter t1 by one and return to step A33.
[0060] A35. Iterate the second chaotic mapper M+N times to obtain the second current value corresponding to the second chaotic mapper;
[0061] A36. Based on the second current value corresponding to the second chaotic mapper, iterate L times to obtain the second key corresponding to the t1th first plaintext block;
[0062] A37. Determine whether the second counter t2 is equal to N. If yes, proceed to step A38; otherwise, increment the count value of the first counter t1 by one and return to step A36.
[0063] A38. Binarize the first key and the second key corresponding to the first plaintext block to obtain the first binary sequence and the second binary sequence corresponding to the first plaintext block; the binarization means that a value greater than 0 is quantized as 1, and a value less than or equal to 0 is quantized as 0.
[0064] A39. XOR the first binary sequence with the second binary sequence to obtain the first encryption key corresponding to the first plaintext block;
[0065] A310. Encrypt the first plaintext block using the first encryption key corresponding to the first plaintext block to obtain N first ciphertexts;
[0066] A311. Concatenate the N first ciphertexts in the order of their segmentation to obtain the encrypted first key parameter.
[0067] In one possible implementation, the second key parameters of each second vertex are used to form a second plaintext M2, and the second plaintext M2 is encrypted, including:
[0068] B1. Initialize the system parameters of the first and second chaotic mappers;
[0069] B2. Combine the second key parameters of each second vertex into a second plaintext M2, and divide the second plaintext M2 evenly into N second plaintext blocks according to the specified sequence length L, or divide the second plaintext M2 into N-1 second plaintext blocks that satisfy the specified sequence length L and one second plaintext block that does not satisfy the specified sequence length L; wherein, the second plaintext block that does not satisfy the specified sequence length L represents the remaining data of the second plaintext M2 after grouping it from beginning to end, which is less than the specified sequence length L;
[0070] B3. When the second plaintext M2 is evenly divided into N second plaintext blocks according to the specified sequence length L, the first encryption key corresponding to each second plaintext block is directly obtained, and the second plaintext block is encrypted using the first encryption key to obtain the second ciphertext. The second ciphertext is then concatenated according to the division order of the second plaintext M2 to obtain the encrypted second key parameter. When the second plaintext M2 is divided into N-1 second plaintext blocks that satisfy the specified sequence length L and one second plaintext block that does not satisfy the specified sequence length L, then proceed to step B4.
[0071] B4. Iterate the first chaotic mapper M+N-1 times to obtain the first current value corresponding to the first chaotic mapper;
[0072] B5. Initialize the first counter t1=1 and the second counter t2=1;
[0073] B6. Based on the first current value corresponding to the first chaotic mapper, iterate L times to obtain the first key corresponding to the t1th second plaintext block;
[0074] B7. Determine if the first counter t1 is equal to N-1. If yes, proceed to step B8; otherwise, increment the count value of the first counter t1 by one and return to step B6.
[0075] B8. Iterate the first chaotic mapper G times to obtain the first key corresponding to the second plaintext block that does not meet the specified sequence length L.
[0076] B9. Iterate the second chaotic mapper M+G times to obtain the second current value corresponding to the second chaotic mapper; where G represents the number of bits of the remaining data in a second plaintext block that does not meet the specified sequence length L;
[0077] B10. Based on the second current value corresponding to the second chaotic mapper, iterate L times to obtain the second key corresponding to the t1th second plaintext block;
[0078] B11. Determine if the second counter t2 is equal to N-1. If yes, proceed to step B12; otherwise, increment the count value of the second counter t2 by one and return to step B10.
[0079] B12. Iterate the second chaotic mapper G times to obtain the second key corresponding to the second plaintext block that does not meet the specified sequence length L.
[0080] B13. Binarize the first key and the second key corresponding to the second plaintext block to obtain the first binary sequence and the second binary sequence corresponding to the second plaintext block; the binarization means that a value greater than 0 is quantized as 1, and a value less than or equal to 0 is quantized as 0.
[0081] B14. XOR the first binary sequence with the second binary sequence to obtain the first encryption key corresponding to the second plaintext block;
[0082] B15. For the first N-1 plaintext blocks, encrypt the i-th plaintext block according to the first encryption key corresponding to the i-th plaintext block to obtain N-1 ciphertext blocks; i=1,2,…,N-1;
[0083] B16. The first encryption key corresponding to the second plaintext block that does not meet the specified sequence length L is XORed bit by bit with the data in the second plaintext block that does not meet the specified sequence length L to obtain the second ciphertext corresponding to the second plaintext block that does not meet the specified sequence length L.
[0084] B17. Connect the N-1 second ciphertexts and the second ciphertexts corresponding to the second plaintext block that does not meet the specified sequence length L in the order of segmentation to obtain the encrypted second key parameter.
[0085] This invention provides a method for unified delivery and archiving of 3D models. By converting 3D models into file types corresponding to the same 3D engine, it facilitates unified management and viewing of 3D models. Furthermore, it encrypts and manages 3D models, effectively ensuring their security. By saving all 3D models in the same format, it also enables tracing back to the source when problems are discovered. Attached Figure Description
[0086] 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.
[0087] Figure 1 A flowchart illustrating a method for unified delivery and archiving of three-dimensional models provided in an embodiment of the present invention.
[0088] 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. Implementation
[0089] The specific embodiments of the present invention are described below to enable those skilled in the art to understand the present invention. However, it should be understood that the present invention is not limited to the scope of the specific embodiments. For those skilled in the art, various changes are obvious as long as they are within the spirit and scope of the present invention as defined and determined by the appended claims. All inventions utilizing the concept of the present invention are protected.
[0090] The embodiments of the present invention will now be described in detail with reference to the accompanying drawings.
[0091] like Figure 1 As shown, a method for unified delivery and archiving of 3D models includes:
[0092] S11. Obtain the original 3D model uploaded by the delivery user, and convert the original 3D model into a lightweight 3D model in a standardized and unified format by the system to obtain the first target 3D model.
[0093] The first target 3D model is transmitted to the designated model parsing engine to obtain the 3D model feature attributes. The obtained 3D model feature attributes are then confirmed or supplemented to obtain the first target 3D model feature attributes.
[0094] This invention follows traditional electronic delivery and record management methods, uploading original documents and entering data for archiving and application management.
[0095] Optionally, the parameters of the 3D model are parsed, and after parsing, the 3D model is converted into a lightweight model that can be used by the Baoshu Cloud 3D engine. The parsed data, the lightweight model, and the original file are then structured and stored as objects.
[0096] S12. Associate the original 3D model, the first target 3D model, and the feature attributes of the first target 3D model to obtain the association relationship between the three.
[0097] The original 3D model, the first target 3D model, the feature attributes of the first target 3D model, and the relationships between the three are stored in the data area corresponding to the specified delivery, thus completing the delivery management of the 3D model;
[0098] The original 3D model and the first target 3D model are encrypted respectively to obtain the encrypted original 3D model, the encrypted first target 3D model and the first encryption key. The encrypted original 3D model, the encrypted first target 3D model, the feature attributes of the first target 3D model and the first encryption key are associated to obtain the relationship between the four.
[0099] S13. The encrypted original 3D model, the encrypted first target 3D model, the feature attributes of the first target 3D model, the first encryption key, and the relationship between the four are stored in the data area corresponding to the archive. The first encryption key is encrypted with the user's public key and then transmitted to the user's corresponding device to complete the archiving management of the 3D model. The relationship is used to characterize the relationship between the encrypted original 3D model, the encrypted first target 3D model, the feature attributes of the first target 3D model, and the first encryption key.
[0100] When obtaining the original 3D model sent by the delivery user, the delivery user's public key is also obtained. Therefore, when generating the first encryption key, it can be encrypted and sent using the delivery user's public key, thus preventing the leakage of the first encryption key used to manage the 3D model.
[0101] Optionally, the first encryption key corresponding to the 3D model element can be different from the first encryption key corresponding to the target 3D model.
[0102] In one possible implementation, after encrypting the first encryption key using the delivered user's public key, the method further includes:
[0103] Receives a 3D model viewing instruction transmitted by the file user. The 3D model viewing instruction includes the name of the target 3D model and a second encryption key.
[0104] Based on the name of the target 3D model, search for the first target 3D model that matches the name of the target 3D model in the specified data area, and obtain the search results, which include whether the search was successful or unsuccessful.
[0105] When the search result is successful, the second encryption key corresponding to the target 3D model name is matched with the first encryption key corresponding to the first target 3D model found, and the matching result is obtained, which may be a successful match or an unsuccessful match.
[0106] When the matching result is successful, the first target 3D model is decrypted using the second encryption key, and the decrypted file is loaded using the specified 3D engine to obtain a real-time loading screen. The specified 3D engine can be set in the cloud or locally.
[0107] When the specified 3D engine is set up in the cloud, the real-time loading screen will be transmitted to the corresponding device of the archive user via the Internet for display. When the specified 3D engine is set up locally, the real-time loading screen will be transmitted to the corresponding device of the archive user via data transmission line for display.
[0108] This embodiment provides a display based on the Baoshu Cloud 3D engine and the already parsed lightweight model. It can also be searched based on the first target 3D model and the first encryption key, which facilitates the management of 3D models by archivists while ensuring the storage security of 3D models.
[0109] Since the first encryption key is private to the delivering user, when the delivering user displays the first encryption key, the user can be considered an authorized user, and the first target 3D model corresponding to the first encryption key can be directly matched, decrypted, and displayed.
[0110] In one possible implementation, after transmitting the real-time loading screen to the archive user's device via the Internet for display, or transmitting the real-time loading screen to the archive user's device via a data transmission line for display, the method further includes:
[0111] Receive 3D model adjustment commands transmitted by the file user. The 3D model adjustment commands include zoom in, zoom out, rotate, explode view, split, delete, add, and modify commands.
[0112] Adjust the first target 3D model that has already been loaded according to the 3D model adjustment instructions, and update the real-time loading screen simultaneously.
[0113] In one possible implementation, encrypting both the original 3D model and the first target 3D model includes:
[0114] Extract the coordinates Z1 of each first vertex in the original 3D model and the position W1 of each first vertex in the original 3D model to obtain the first key parameters (Z1, W1) of each first vertex.
[0115] By modifying the coordinates Z1 of each vertex in the 3D model element to empty, the first chaotic 3D model is obtained.
[0116] The first key parameters (Z1, W1) of each first vertex are combined to form the first plaintext M1, and the first plaintext M1 is encrypted to obtain the encrypted first key parameters. The encrypted first key parameters and the first chaotic 3D model are used together as the encrypted file of the 3D model original.
[0117] Extract the coordinates Z2 of each second vertex in the target 3D model and the position W2 of each second vertex in the target 3D model to obtain the second key parameters (Z2, W2) of each second vertex.
[0118] By modifying the Z2 coordinates of each vertex in the 3D model element to be empty, a second chaotic 3D model is obtained.
[0119] The second key parameters (Z2, W2) of each second vertex are combined to form the second plaintext M2, and the second plaintext M2 is encrypted to obtain the encrypted second key parameters. The encrypted second key parameters and the second chaotic 3D model are used together as the encrypted file of the target 3D model.
[0120] In one possible implementation, the first key parameters (Z1, W1) of each first vertex are used to form a first plaintext M1, and the first plaintext M1 is encrypted, including:
[0121] A1. Initialize the system parameters of the first chaotic mapper and the second chaotic mapper.
[0122] A2. Assemble the first key parameters (Z1, W1) of each first vertex into a first plaintext M1. Divide the first plaintext M1 evenly into N first plaintext blocks according to a specified sequence length L, or divide the first plaintext M1 into N-1 first plaintext blocks that satisfy the specified sequence length L and one first plaintext block that does not satisfy the specified sequence length L. The first plaintext block that does not satisfy the specified sequence length L represents the remaining data in the first plaintext M1 after grouping it from beginning to end, which is less than the specified sequence length L.
[0123] In this embodiment, each byte in the first plaintext M1 is 8 bits, the specified sequence length L is set to 128 bits, and the first plaintext M1 is divided into several 128-bit first plaintext blocks according to the specified sequence length L, so that it can be encrypted.
[0124] The data in the first plaintext M1 may be able to be divided into an integer number of plaintext blocks, or the last plaintext block may have less than 128 bits of data. Therefore, encryption needs to be performed in different cases.
[0125] A3. When the first plaintext M1 is evenly divided into N first plaintext blocks according to the specified sequence length L, the first encryption key corresponding to each first plaintext block is directly obtained, and the first plaintext block is encrypted using the first encryption key to obtain the first ciphertext. The first ciphertext is then concatenated according to the segmentation order of the first plaintext M1 to obtain the encrypted first key parameter. When the first plaintext M1 is divided into N-1 first plaintext blocks that satisfy the specified sequence length L and one first plaintext block that does not satisfy the specified sequence length L, proceed to step A4.
[0126] A4. Iterate the first chaotic mapper M+N-1 times to obtain the first current value corresponding to the first chaotic mapper.
[0127] A5. Initialize the first counter t1=1 and the second counter t2=1.
[0128] A6. Based on the first current value corresponding to the first chaotic mapper, iterate L times to obtain the first key corresponding to the t1th first plaintext block.
[0129] A7. Determine if the first counter t1 is equal to N-1. If yes, proceed to step A8; otherwise, increment the count value of the first counter t1 and return to step A6.
[0130] A8. Iterate the first chaotic mapper G times to obtain the first key corresponding to the first plaintext block that does not meet the specified sequence length L.
[0131] A9. Iterate the second chaotic mapper M+G times to obtain the second current value corresponding to the second chaotic mapper. Here, G represents the number of bits of remaining data in a first plaintext block that does not meet the specified sequence length L.
[0132] A10. Based on the second current value corresponding to the second chaotic mapper, iterate L times to obtain the second key corresponding to the t1th first plaintext block.
[0133] A11. Determine if the second counter t2 is equal to N-1. If yes, proceed to step A12; otherwise, increment the count value of the second counter t2 by one and return to step A10.
[0134] A12. Iterate the second chaotic mapper G times to obtain the second key corresponding to the first plaintext block that does not meet the specified sequence length L.
[0135] A13. Binarize the first key and the second key corresponding to the first plaintext block to obtain the first binary sequence and the second binary sequence corresponding to the first plaintext block. Binarization means that values greater than 0 are quantized as 1, and values less than or equal to 0 are quantized as 0.
[0136] A14. XOR the first binary sequence with the second binary sequence to obtain the first encryption key corresponding to the first plaintext block.
[0137] A15. For the first N-1 plaintext blocks, encrypt the i-th plaintext block according to the first encryption key corresponding to the i-th plaintext block to obtain N-1 ciphertext blocks; i=1,2,…,N-1.
[0138] A16. The first encryption key corresponding to the first plaintext block that does not meet the specified sequence length L is XORed bit by bit with the data in the first plaintext block that does not meet the specified sequence length L to obtain the first ciphertext corresponding to the first plaintext block that does not meet the specified sequence length L.
[0139] A17. Concatenate the N-1 first ciphertexts and the first ciphertexts corresponding to the first plaintext block that does not meet the specified sequence length L in the order of segmentation to obtain the encrypted first key parameter.
[0140] Except for the first plaintext block that does not meet the specified sequence length L, all other plaintext blocks are encrypted using the corresponding first encryption key and the encryption function in the AES (Advanced Encryption Standard) algorithm.
[0141] In this embodiment, a decryption method is provided, which is the opposite of the encryption method, specifically as follows:
[0142] When the first key parameters (Z1, W1) of each first vertex form the first plaintext M1, the length corresponding to each first key parameter (Z1, W1) can be recorded to obtain the length recording data.
[0143] When the first plaintext M1 is exactly divided into N plaintext blocks, the first ciphertext is divided into N ciphertext blocks. Based on the first encryption key corresponding to the first plaintext block, the decryption function in the AES algorithm is used to decrypt it to obtain N plaintext blocks. After concatenating the N plaintext blocks, the first plaintext M1 is restored.
[0144] Based on the length recorded data, the first plaintext M1 is divided into several first key parameters (Z1, W1). Thus, based on the position W1 in the first key parameters (Z1, W1), the coordinates Z1 of the first vertex can be restored to the first chaotic three-dimensional model to obtain the three-dimensional model element.
[0145] When the data in the last plaintext block is less than 129 bits, the first N-1 ciphertext blocks are decrypted using the first encryption key corresponding to the first plaintext block and the decryption function in the AES algorithm, resulting in N-1 plaintext blocks. The first encryption key corresponding to the first plaintext block that does not meet the specified sequence length L is then XORed with the first ciphertext corresponding to the first plaintext block that does not meet the specified sequence length L, resulting in a first plaintext block that does not meet the specified sequence length L. The plaintext blocks are then concatenated according to the segmentation order to obtain the first plaintext M1. At this point, based on the length recorded data, the first plaintext M1 can be divided into several first key parameters (Z1, W1). Therefore, based on the position W1 in the first key parameters (Z1, W1), the coordinates Z1 of the first vertex can be restored to the first chaotic 3D model, obtaining the 3D model elements.
[0146] In one possible implementation, the first chaotic mapper is:
[0147]
[0148] Where, x n Let x represent the first chaotic variable. n+1 represents the updated first chaotic variable, and μ represents the control parameters of the first chaotic mapper.
[0149] In one possible implementation, the second chaotic mapper is:
[0150] y n+1 =cos[k×arccos(y n )]
[0151] Among them, y n Let y represent the second chaotic variable. n+1 This represents the updated second chaotic variable, and k represents the control parameters of the second chaotic mapper.
[0152] In one possible implementation, initializing the system parameters of the first chaotic mapper and the second chaotic mapper includes:
[0153] Get the current time, and use the current time as a parameter to call the pseudo-random number generator to generate the initial value of the first chaotic variable, the initial value of the second chaotic variable, and the control parameters of the second chaotic mapper. Set the control parameters of the first chaotic mapper to the preset value to complete the initialization of the system parameters of the first and second chaotic mappers.
[0154] In one possible implementation, when the first plaintext M1 is uniformly divided into N first plaintext blocks according to a specified sequence length L, the first encryption key corresponding to each first plaintext block is directly obtained, and the first plaintext block is encrypted using the first encryption key to obtain the first ciphertext. The first ciphertext is then concatenated according to the segmentation order of the first plaintext M1 to obtain the encrypted first key parameter, including:
[0155] A31. When the first plaintext M1 is uniformly divided into N first plaintext blocks according to the specified sequence length L, the first chaotic mapper is iterated M+N times to obtain the first current value corresponding to the first chaotic mapper.
[0156] A32. Initialize the first counter t1=1 and the second counter t2=1.
[0157] A33. Based on the first current value corresponding to the first chaotic mapper, iterate L times to obtain the first key corresponding to the t1th first plaintext block.
[0158] A34. Determine if the first counter t1 is equal to N. If yes, proceed to step A35. Otherwise, increment the count value of the first counter t1 by one and return to step A33.
[0159] A35. Iterate the second chaotic mapper M+N times to obtain the second current value corresponding to the second chaotic mapper.
[0160] A36. Based on the second current value corresponding to the second chaotic mapper, iterate L times to obtain the second key corresponding to the t1th first plaintext block.
[0161] A37. Determine whether the second counter t2 is equal to N. If yes, proceed to step A38; otherwise, increment the count value of the first counter t1 and return to step A36.
[0162] A38. Binarize the first key and the second key corresponding to the first plaintext block to obtain the first binary sequence and the second binary sequence corresponding to the first plaintext block. Binarization means that values greater than 0 are quantized as 1, and values less than or equal to 0 are quantized as 0.
[0163] A39. XOR the first binary sequence with the second binary sequence to obtain the first encryption key corresponding to the first plaintext block.
[0164] A310. Encrypt the first plaintext block using the first encryption key corresponding to the first plaintext block to obtain N first ciphertexts.
[0165] A311. Concatenate the N first ciphertexts in the order of their segmentation to obtain the encrypted first key parameter.
[0166] In one possible implementation, the second key parameters (Z2, W2) of each second vertex are used to form the second plaintext M2, and the second plaintext M2 is encrypted, including:
[0167] B1. Initialize the system parameters of the first and second chaotic mappers.
[0168] B2. Combine the second key parameters (Z2, W2) of each second vertex into a second plaintext M2. Divide the second plaintext M2 evenly into N second plaintext blocks according to the specified sequence length L, or divide the second plaintext M2 into N-1 second plaintext blocks that satisfy the specified sequence length L and one second plaintext block that does not satisfy the specified sequence length L. The second plaintext block that does not satisfy the specified sequence length L represents the remaining data in the second plaintext M2 after grouping it from beginning to end, which is less than the specified sequence length L.
[0169] B3. When the second plaintext M2 is evenly divided into N second plaintext blocks according to the specified sequence length L, the first encryption key corresponding to each second plaintext block is directly obtained, and the second plaintext block is encrypted using the first encryption key to obtain the second ciphertext. The second ciphertext is then concatenated according to the segmentation order of the second plaintext M2 to obtain the encrypted second key parameter. When the second plaintext M2 is divided into N-1 second plaintext blocks that satisfy the specified sequence length L and one second plaintext block that does not satisfy the specified sequence length L, proceed to step B4.
[0170] B4. Iterate the first chaotic mapper M+N-1 times to obtain the first current value corresponding to the first chaotic mapper.
[0171] B5. Initialize the first counter t1=1 and the second counter t2=1.
[0172] B6. Based on the first current value corresponding to the first chaotic mapper, iterate L times to obtain the first key corresponding to the t1th second plaintext block.
[0173] B7. Determine if the first counter t1 is equal to N-1. If yes, proceed to step B8; otherwise, increment the count value of the first counter t1 and return to step B6.
[0174] B8. Iterate the first chaotic mapper G times to obtain the first key corresponding to the second plaintext block that does not meet the specified sequence length L.
[0175] B9. Iterate the second chaotic mapper M+G times to obtain the second current value corresponding to the second chaotic mapper. Here, G represents the number of bits of remaining data in a second plaintext block that does not meet the specified sequence length L.
[0176] B10. Based on the second current value corresponding to the second chaotic mapper, iterate L times to obtain the second key corresponding to the t1th second plaintext block.
[0177] B11. Determine if the second counter t2 is equal to N-1. If yes, proceed to step B12; otherwise, increment the count value of the second counter t2 and return to step B10.
[0178] B12. Iterate the second chaotic mapper G times to obtain the second key corresponding to the second plaintext block that does not meet the specified sequence length L.
[0179] B13. Binarize the first key and the second key corresponding to the second plaintext block to obtain the first binary sequence and the second binary sequence corresponding to the second plaintext block. Binarization means that values greater than 0 are quantized as 1, and values less than or equal to 0 are quantized as 0.
[0180] B14. XOR the first binary sequence with the second binary sequence to obtain the first encryption key corresponding to the second plaintext block.
[0181] B15. For the first N-1 second plaintext blocks, encrypt the i-th second plaintext block according to the first encryption key corresponding to the i-th second plaintext block to obtain N-1 second ciphertexts; i=1,2,…,N-1.
[0182] B16. The first encryption key corresponding to the second plaintext block that does not meet the specified sequence length L is XORed bit by bit with the data in the second plaintext block that does not meet the specified sequence length L to obtain the second ciphertext corresponding to the second plaintext block that does not meet the specified sequence length L.
[0183] B17. Connect the N-1 second ciphertexts and the second ciphertexts corresponding to the second plaintext block that does not meet the specified sequence length L in the order of segmentation to obtain the encrypted second key parameter.
[0184] In this embodiment, when the second plaintext M2 is uniformly divided into N second plaintext blocks according to a specified sequence length L, the first encryption key corresponding to each second plaintext block is directly obtained, and the second plaintext block is encrypted using the first encryption key to obtain the second ciphertext. The second ciphertext is then concatenated according to the segmentation order of the second plaintext M2 to obtain the encrypted second key parameters, including:
[0185] B31. When the second plaintext M2 is uniformly divided into N second plaintext blocks according to the specified sequence length L, the first chaotic mapper is iterated M+N times to obtain the first current value corresponding to the first chaotic mapper.
[0186] B32. Initialize the first counter t1=1 and the second counter t2=1.
[0187] B33. Based on the first current value corresponding to the first chaotic mapper, iterate L times to obtain the first key corresponding to the t1th second plaintext block.
[0188] B34. Determine if the first counter t1 is equal to N. If yes, proceed to step B35; otherwise, increment the count value of the first counter t1 by one and return to step B33.
[0189] B35. Iterate the second chaotic mapper M+N times to obtain the second current value corresponding to the second chaotic mapper.
[0190] B36. Based on the second current value corresponding to the second chaotic mapper, iterate L times to obtain the second key corresponding to the t2th second plaintext block.
[0191] B37. Determine if the second counter t2 is equal to N. If yes, proceed to step B38. Otherwise, increment the count value of the first counter t2 by one and return to step B36.
[0192] B38. Binarize the first key and the second key corresponding to the second plaintext block to obtain the first binary sequence and the second binary sequence corresponding to the second plaintext block. Binarization means that values greater than 0 are quantized as 1, and values less than or equal to 0 are quantized as 0.
[0193] B39. XOR the first binary sequence with the second binary sequence to obtain the first encryption key corresponding to the second plaintext block.
[0194] B310. Encrypt the second plaintext block using the first encryption key corresponding to the second plaintext block to obtain N second ciphertexts.
[0195] B311. Concatenate the N second ciphertexts in the order of their division to obtain the encrypted second key parameter.
[0196] This invention provides a method for unified delivery and archiving of 3D models. By converting 3D models into file types corresponding to the same 3D engine, it facilitates unified management and viewing by archivists. Furthermore, the encryption management of 3D models effectively ensures their security. Saving all 3D models in the same format also allows for tracing the source of any problems discovered.
[0197] It is worth noting that any method utilizing the inventive concept should fall within the scope of protection of this invention. Other embodiments of the invention will readily conceive of those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This invention is intended to cover any variations, uses, or adaptations of the invention that follow the general principles of the invention and include common knowledge or customary techniques in the art not disclosed herein.
[0198] It should be understood that the present invention is not limited to the precise structure described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of the invention is limited only by the appended claims.
Claims
1. A method for unified delivery and archiving of 3D models, characterized in that, include: Obtain the original 3D model uploaded by the user, convert the original 3D model into the format corresponding to the specified 3D engine, and obtain the first target 3D model; The original 3D model and the first target 3D model are encrypted respectively to obtain the encrypted original 3D model, the encrypted first target 3D model and the first encryption key. The encrypted original 3D model, the encrypted first target 3D model and the first encryption key are then associated to obtain the relationship between the three. The encrypted original 3D model, the encrypted first target 3D model, the first encryption key, and the relationship between the three are stored in a designated data area. The first encryption key is then encrypted with the user's public key and transmitted to the user's corresponding device to complete the delivery and archiving management of the 3D model. The relationship is used to characterize the relationship between the encrypted original 3D model, the encrypted first target 3D model, and the first encryption key.
2. The method for unified delivery and archiving of 3D models according to claim 1, characterized in that, After encrypting the first encryption key with the user's public key, it also includes: Receive a 3D model viewing instruction transmitted by the user, the 3D model viewing instruction including the target 3D model name and a second encryption key; Based on the name of the target 3D model, search for the first target 3D model that matches the name of the target 3D model in the specified data area, and obtain the search result, which includes whether the search was successful or unsuccessful. When the search result is successful, the second encryption key corresponding to the target 3D model name is matched with the first encryption key corresponding to the first target 3D model found to obtain the matching result, which includes successful matching or unsuccessful matching. When the matching result is successful, the first target 3D model is decrypted using the second encryption key, and the decrypted file is loaded using a specified 3D engine to obtain a real-time loading screen. The specified 3D engine is set in the cloud or locally. When the specified 3D engine is set in the cloud, the real-time loading screen will be transmitted to the user's corresponding device via the Internet for display; when the specified 3D engine is set locally, the real-time loading screen will be transmitted to the user's corresponding device via data transmission line for display.
3. The method for unified delivery and archiving of 3D models according to claim 2, characterized in that, After transmitting the real-time loading screen to the user's device via the internet or via data transmission line, it also includes: Receive 3D model adjustment commands transmitted by the user, including zoom-in commands, zoom-out commands, rotation commands, exploded view commands, split commands, structure deletion commands, structure addition commands, and structure modification commands; The first target 3D model, which has already been loaded, is adjusted according to the 3D model adjustment command, and the real-time loading screen is updated synchronously.
4. The method for unified delivery and archiving of 3D models according to claim 2, characterized in that, Encryption is performed on both the original 3D model and the first target 3D model, including: Extract the coordinates Z1 of each first vertex in the original 3D model and the position W1 of each first vertex in the original 3D model to obtain the first key parameters of each first vertex. The coordinates Z1 of each vertex in the 3D model element are changed to empty to obtain the first chaotic 3D model; The first key parameters of each first vertex are combined to form the first plaintext M1, and the first plaintext M1 is encrypted to obtain the encrypted first key parameters. The encrypted first key parameters and the first chaotic 3D model are used together as the encrypted file of the 3D model original. Extract the coordinates Z2 of each second vertex in the target 3D model and the position W2 of each second vertex in the target 3D model to obtain the second key parameters of each second vertex; By modifying the Z2 coordinates of each vertex in the 3D model element to empty, a second chaotic 3D model is obtained. The second key parameters of each second vertex are combined to form the second plaintext M2, and the second plaintext M2 is encrypted to obtain the encrypted second key parameters. The encrypted second key parameters and the second chaotic 3D model are used together as the encrypted file of the target 3D model.
5. The method for unified delivery and archiving of 3D models according to claim 4, characterized in that, The first key parameters of each first vertex are used to form the first plaintext M1, and the first plaintext M1 is encrypted, including: A1. Initialize the system parameters of the first and second chaotic mappers; A2. Assemble the first key parameters of each first vertex into a first plaintext M1, and divide the first plaintext M1 evenly into N first plaintext blocks according to the specified sequence length L, or divide the first plaintext M1 into N-1 first plaintext blocks that satisfy the specified sequence length L and one first plaintext block that does not satisfy the specified sequence length L; wherein, the first plaintext block that does not satisfy the specified sequence length L represents the remaining data of the first plaintext M1 after grouping it in the direction from beginning to end, which is less than the specified sequence length L; A3. When the first plaintext M1 is evenly divided into N first plaintext blocks according to the specified sequence length L, the first encryption key corresponding to each first plaintext block is directly obtained, and the first plaintext block is encrypted using the first encryption key to obtain the first ciphertext. The first ciphertext is then concatenated according to the division order of the first plaintext M1 to obtain the encrypted first key parameter. When the first plaintext M1 is divided into N-1 first plaintext blocks that satisfy the specified sequence length L and one first plaintext block that does not satisfy the specified sequence length L, then proceed to step A4. A4. Iterate the first chaotic mapper M+N-1 times to obtain the first current value corresponding to the first chaotic mapper; A5. Initialize the first counter t1=1 and the second counter t2=1; A6. Based on the first current value corresponding to the first chaotic mapper, iterate L times to obtain the first key corresponding to the t1th first plaintext block; A7. Determine if the first counter t1 is equal to N-1. If yes, proceed to step A8; otherwise, increment the count value of the first counter t1 by one and return to step A6. A8. Iterate the first chaotic mapper G times to obtain the first key corresponding to the first plaintext block that does not meet the specified sequence length L. A9. Iterate the second chaotic mapper M+G times to obtain the second current value corresponding to the second chaotic mapper; where G represents the number of bits of the remaining data in a first plaintext block that does not meet the specified sequence length L; A10. Based on the second current value corresponding to the second chaotic mapper, iterate L times to obtain the second key corresponding to the t1th first plaintext block; A11. Determine if the second counter t2 is equal to N-1. If yes, proceed to step A12; otherwise, increment the count value of the second counter t2 by one and return to step A10. A12. Iterate the second chaotic mapper G times to obtain the second key corresponding to the first plaintext block that does not meet the specified sequence length L. A13. Binarize the first key and the second key corresponding to the first plaintext block to obtain the first binary sequence and the second binary sequence corresponding to the first plaintext block; the binarization means that a value greater than 0 is quantized as 1, and a value less than or equal to 0 is quantized as 0. A14. XOR the first binary sequence with the second binary sequence to obtain the first encryption key corresponding to the first plaintext block; A15. For the first N-1 plaintext blocks, encrypt the i-th plaintext block according to the first encryption key corresponding to the i-th plaintext block to obtain N-1 ciphertext blocks; i=1,2,…,N-1; A16. The first encryption key corresponding to the first plaintext block that does not meet the specified sequence length L is XORed bit by bit with the data in the first plaintext block that does not meet the specified sequence length L to obtain the first ciphertext corresponding to the first plaintext block that does not meet the specified sequence length L. A17. Concatenate the N-1 first ciphertexts and the first ciphertexts corresponding to the first plaintext block that does not meet the specified sequence length L in the order of segmentation to obtain the encrypted first key parameter.
6. The method for unified delivery and archiving of 3D models according to claim 5, characterized in that, The first chaotic mapper is: , in, Represents the first chaotic variable. This represents the first chaotic variable after the update. This represents the control parameters of the first chaotic mapper.
7. The method for unified delivery and archiving of 3D models according to claim 6, characterized in that, The second chaotic mapper is: , in, Represents the second chaotic variable. This represents the updated second chaotic variable, and k represents the control parameters of the second chaotic mapper.
8. The method for unified delivery and archiving of three-dimensional models according to claim 7, characterized in that, Initialize the system parameters for the first and second chaotic mappers, including: Get the current time, and use the current time as a parameter to call the pseudo-random number generator to generate the initial value of the first chaotic variable, the initial value of the second chaotic variable, and the control parameters of the second chaotic mapper. Set the control parameters of the first chaotic mapper to the preset value to complete the initialization of the system parameters of the first and second chaotic mappers.
9. The method for unified delivery and archiving of three-dimensional models according to claim 8, characterized in that, When the first plaintext M1 is uniformly divided into N first plaintext blocks according to the specified sequence length L, the first encryption key corresponding to each first plaintext block is directly obtained, and the first plaintext block is encrypted using the first encryption key to obtain the first ciphertext. The first ciphertext is then concatenated according to the segmentation order of the first plaintext M1 to obtain the encrypted first key parameter, including: A31. When the first plaintext M1 is uniformly divided into N first plaintext blocks according to the specified sequence length L, the first chaotic mapper is iterated M+N times to obtain the first current value corresponding to the first chaotic mapper. A32. Initialize the first counter t1=1 and the second counter t2=1; A33. Based on the first current value corresponding to the first chaotic mapper, iterate L times to obtain the first key corresponding to the t1th first plaintext block; A34. Determine if the first counter t1 is equal to N. If yes, proceed to step A35; otherwise, increment the count value of the first counter t1 by one and return to step A33. A35. Iterate the second chaotic mapper M+N times to obtain the second current value corresponding to the second chaotic mapper; A36. Based on the second current value corresponding to the second chaotic mapper, iterate L times to obtain the second key corresponding to the t1th first plaintext block; A37. Determine whether the second counter t2 is equal to N. If yes, proceed to step A38; otherwise, increment the count value of the first counter t1 by one and return to step A36. A38. Binarize the first key and the second key corresponding to the first plaintext block to obtain the first binary sequence and the second binary sequence corresponding to the first plaintext block; the binarization means that a value greater than 0 is quantized as 1, and a value less than or equal to 0 is quantized as 0. A39. XOR the first binary sequence with the second binary sequence to obtain the first encryption key corresponding to the first plaintext block; A310. Encrypt the first plaintext block using the first encryption key corresponding to the first plaintext block to obtain N first ciphertexts; A311. Concatenate the N first ciphertexts in the order of their segmentation to obtain the encrypted first key parameter.
10. The method for unified delivery and archiving of three-dimensional models according to claim 8, characterized in that, The second key parameters of each second vertex are used to form the second plaintext M2, and the second plaintext M2 is encrypted, including: B1. Initialize the system parameters of the first and second chaotic mappers; B2. Combine the second key parameters of each second vertex into a second plaintext M2, and divide the second plaintext M2 evenly into N second plaintext blocks according to the specified sequence length L, or divide the second plaintext M2 into N-1 second plaintext blocks that satisfy the specified sequence length L and one second plaintext block that does not satisfy the specified sequence length L; wherein, the second plaintext block that does not satisfy the specified sequence length L represents the remaining data of the second plaintext M2 after grouping it from beginning to end, which is less than the specified sequence length L; B3. When the second plaintext M2 is evenly divided into N second plaintext blocks according to the specified sequence length L, the first encryption key corresponding to each second plaintext block is directly obtained, and the second plaintext block is encrypted using the first encryption key to obtain the second ciphertext. The second ciphertext is then concatenated according to the division order of the second plaintext M2 to obtain the encrypted second key parameter. When the second plaintext M2 is divided into N-1 second plaintext blocks that satisfy the specified sequence length L and one second plaintext block that does not satisfy the specified sequence length L, then proceed to step B4. B4. Iterate the first chaotic mapper M+N-1 times to obtain the first current value corresponding to the first chaotic mapper; B5. Initialize the first counter t1=1 and the second counter t2=1; B6. Based on the first current value corresponding to the first chaotic mapper, iterate L times to obtain the first key corresponding to the t1th second plaintext block; B7. Determine whether the first counter t1 is equal to N-1. If yes, proceed to step B8; otherwise, increment the count value of the first counter t1 by one and return to step B6. B8. Iterate the first chaotic mapper G times to obtain the first key corresponding to the second plaintext block that does not meet the specified sequence length L. B9. Iterate the second chaotic mapper M+G times to obtain the second current value corresponding to the second chaotic mapper; where G represents the number of bits of the remaining data in a second plaintext block that does not meet the specified sequence length L; B10. Based on the second current value corresponding to the second chaotic mapper, iterate L times to obtain the second key corresponding to the t1th second plaintext block; B11. Determine if the second counter t2 is equal to N-1. If yes, proceed to step B12; otherwise, increment the count value of the second counter t2 by one and return to step B10. B12. Iterate the second chaotic mapper G times to obtain the second key corresponding to the second plaintext block that does not meet the specified sequence length L. B13. Binarize the first key and the second key corresponding to the second plaintext block to obtain the first binary sequence and the second binary sequence corresponding to the second plaintext block; the binarization means that a value greater than 0 is quantized as 1, and a value less than or equal to 0 is quantized as 0. B14. XOR the first binary sequence with the second binary sequence to obtain the first encryption key corresponding to the second plaintext block; B15. For the first N-1 plaintext blocks, encrypt the i-th plaintext block according to the first encryption key corresponding to the i-th plaintext block to obtain N-1 ciphertext blocks; i=1,2,…,N-1; B16. The first encryption key corresponding to the second plaintext block that does not meet the specified sequence length L is XORed bit by bit with the data in the second plaintext block that does not meet the specified sequence length L to obtain the second ciphertext corresponding to the second plaintext block that does not meet the specified sequence length L. B17. Connect the N-1 second ciphertexts and the second ciphertexts corresponding to the second plaintext block that does not meet the specified sequence length L in the order of segmentation to obtain the encrypted second key parameter.
Citation Information
Patent Citations
Encryption method based on geographic information product features
CN104202147A
Multi-chaos system based method of encrypting images related to plaintext
CN104751403A