Three-dimensional model thumbnail encryption method and system using (k1, k2, n) progressive secret sharing
The 3D model is abbreviated and encrypted through (k1,k2,n) progressive secret sharing technology, which solves the challenge of protecting the privacy of 3D models and providing visual information in the Internet of Things environment, and achieves the effect of secure storage, transmission and preview.
Patent Information
- Application Number
- CN202510004804.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-02
- Publication Date
- 2025-03-25
- Estimated Expiration
- 2045-01-02
AI Technical Summary
The prior art is difficult to provide effective visual information to identify and preview models while protecting the privacy of 3D models, especially when storing and transmitting in IoT environments.
The three-dimensional model abbreviation encryption method of (k1,k2,n) progressive secret sharing is used to divide the vertex coordinates of the three-dimensional model into the main part, the secondary part and the detailed part, and these parts are encrypted using the polynomial equations on the Galois field, embed copyright information and authentication information to generate an encryption model.
It realizes the secure storage and transmission of 3D models in the Internet of Things environment, and provides authorized users with sufficient visual information to identify and preview the model, protecting the core details of the model from being obtained by unauthorized parties.
Smart Images

Figure CN119696924A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the field of data content security of information security, and specifically relates to a three-dimensional model abbreviated encryption method using (k1, k2, n) progressive secret sharing. Background Art
[0002] With the rapid development of 3D printing, augmented reality and virtual reality technologies, 3D models are increasingly used in industrial design, medical imaging, architectural planning and other fields. At the same time, the popularity of Internet of Things (IoT) technology has provided new possibilities for the distributed storage and processing of 3D models. However, unlike two-dimensional images, the data structure of 3D models is more complex and the file size is usually larger, which poses challenges to the storage and transmission of IoT devices. In addition, 3D models often contain sensitive design information or personal privacy data, and their security issues are becoming increasingly prominent.
[0003] In the field of two-dimensional images, thumbnail technology has been widely used in cloud storage and image preview, such as cloud photo albums. However, in the field of 3D models, the concept of thumbnails has not been fully studied and applied. Currently, the preview of 3D models usually relies on generating two-dimensional projection images or low-precision simplified models. These methods often cannot fully display the spatial characteristics of 3D models, and it is difficult to strike a balance between protecting privacy and providing usability. Summary of the invention
[0004] The purpose of the present invention is to solve the problems existing in the prior art and provide a three-dimensional model abbreviated encryption method and system using (k1, k2, n) progressive secret sharing.
[0005] The specific technical solutions adopted by the present invention are as follows:
[0006] In a first aspect, the present invention provides a method for encrypting a three-dimensional model using progressive (k1, k2, n) secret sharing, comprising:
[0007] S1. The model owner converts the vertex coordinates of the three-dimensional model into integers and divides them into a main part, a secondary part and a detail part;
[0008] S2. The model owner encodes the secondary parts of all vertices, and encrypts the encoded results using a k1-1 degree polynomial equation on the Galois field based on the private key owned by each participant to obtain the encrypted secondary parts;
[0009] S3, the model owner embeds the copyright information into the encrypted secondary part, obtains the encrypted secondary part after the copyright information is embedded, and generates first authentication information;
[0010] S4. Based on the private key owned by each participant, the model owner encrypts the details using a k2-1 degree polynomial equation of a higher power than the k1-1 degree polynomial equation, obtains the encrypted details, and generates second authentication information;
[0011] S5. For n participants, the model owner rearranges the encrypted detail part corresponding to each participant, the second authentication information, the encrypted secondary part after embedding the copyright information, and the first authentication information, and embeds them into the bit planes corresponding to the secondary part and the detail part of all vertices to obtain the encrypted model corresponding to each participant; finally, the vertex coordinates of the n encrypted models are converted back into floating point numbers and distributed to the n participants together with their respective private keys, and each participant only saves the encrypted model and private key they received.
[0012] As a preferred embodiment of the first aspect, in S1, the coordinate method of the model owner splitting the three-dimensional model is as follows:
[0013] S11. For a given three-dimensional model, perform integer conversion with a scaling factor m on the three-dimensional coordinates of each vertex in the model, and convert each vertex coordinate after the integer conversion into a binary coordinate, where the length of the binary coordinates of the three coordinate dimensions x, y, and z is L bits;
[0014] S12. The model owner divides the vertex coordinates of length L into a main part of the first H bits, a secondary part of the middle p1 bits, and a detail part of the last P2 bits in sequence, where H+P1+P2=L.
[0015] As a preferred embodiment of the above-mentioned first aspect, the binary coordinate length L of the coordinate dimension is determined by the scaling factor m. If 1≤m≤2, then L=8; if 3≤m≤4, then L=16; if 5≤m≤9, then L=32; if 10≤m≤18, then L=64.
[0016] As a preferred embodiment of the first aspect, in S2, the method in which the model owner encodes the secondary part is as follows:
[0017] S21. The model owner takes out all the secondary parts of all vertex coordinates, concatenates them into binary sequences in order, and divides the binary sequences into units of 4 bits. Each unit is encoded with a (7,4) Hamming code to obtain an encoded unit of 7 bits in length. All the encoded units are sequentially composed of a unit sequence.
[0018] S22. After the encoding is completed, the model owner divides the unit sequence into groups of k1 encoded units, uses each group of encoded units as coefficients of a polynomial equation, combines a participant's private key, and uses a k1-1 degree polynomial equation on the Galois field to encrypt the encoded units to generate the corresponding encrypted secondary part.
[0019] As a preferred embodiment of the first aspect, in S3, the method in which the model owner embeds the copyright information into the encrypted secondary part and generates the authentication information is as follows:
[0020] S31. For the binary copyright information W to be embedded, the model owner first divides it into 3-bit units, and converts each unit into a 7-bit one-hot code. All the one-hot codes are sequentially composed into a code sequence.
[0021] S32, the model owner divides the coding sequence into groups of k1 one-hot codes, uses each group of one-hot codes as coefficients of a polynomial equation, combines a private key of a participant, and continues to use the k1-1 degree polynomial equation on the Galois field to encrypt the one-hot codes, thereby generating corresponding encrypted copyright information;
[0022] S33. For each participant, the model owner extracts the encrypted secondary part and the encrypted copyright information generated based on the private key of the participant, and embeds the encrypted copyright information into the encrypted secondary part of the pairing through an XOR operation. Each pairing obtains a corresponding copyright encrypted secondary part.
[0023] S34: The model owner encrypts each copyright sub-part z I (x i ) Use a hash function to generate a binary sequence R of 160 bits in length, and perform bit-by-bit XOR operations on the binary sequence R in sequence, and finally obtain a 1-bit result as the authentication bit; all authentication bits of each participant are combined in sequence to form the first authentication information.
[0024] As a preferred embodiment of the first aspect, in S4, the model owner encrypts the details using a k2-1 degree polynomial equation of a higher power and generates authentication information as follows:
[0025] S41. The model owner takes out all the details of all vertices, concatenates them into binary sequences in order, and divides the binary sequences into units of 7 bits. The divided unit sequences are further divided into groups of k2 units each, and each group of k2 units is used as the coefficient of the polynomial equation. The details are encrypted using a k2-1 degree polynomial equation on the Galois field in combination with a participant's private key to generate the corresponding encrypted details.
[0026] S42: The model owner sends each encrypted detail part f T (x i ) Use the hash function to generate a 160-bit binary sequence, and perform bit-by-bit XOR operations on the binary sequences in sequence, and finally obtain a 1-bit result as the authentication bit of the current encrypted detail part;
[0027] S43: The model owner performs bit-by-bit XOR operations on the binary copyright information W to obtain the authentication bits of the copyright information. Finally, the characterization bits R′ of each encrypted detail part and the authentication bits of the copyright information are merged through an XOR operation to obtain the final authentication bits corresponding to each encrypted detail part. All final authentication bits of each participant are combined in sequence to form the second authentication information.
[0028] As a preferred embodiment of the first aspect, in S5, the model owner rearranges the encrypted detail part, the corresponding authentication information, the encrypted secondary part after the embedded information, and its corresponding authentication information, and converts the n final encrypted results back into floating point numbers and distributes them to the n participants together with their respective keys as follows:
[0029] S51. For each participant, the model owner uses the Lth to (H+1)th bit planes of the binary coordinates of all vertices in the three-dimensional model after the vertex coordinates are converted into integers as the filling space, and fills all the encrypted details f corresponding to the single participant in the filling order from the Lth bit plane to the (H+1)th bit plane. T (x i ), the second authentication information, all copyright encrypted secondary parts z I (x i ) and the first authentication information are filled into each vertex, and 0 is filled into the unfilled filling space; each participant obtains an encryption model after completing the filling;
[0030] S52: The model owner converts the binary vertex coordinates of the n encrypted models back into floating point numbers and distributes them together with the private key to n different participants for safekeeping.
[0031] In a second aspect, the present invention provides a three-dimensional model restoration method using progressive (k1, k2, n) secret sharing, which is used to restore the encrypted model obtained by the three-dimensional model thumbnail encryption method using progressive (k1, k2, n) secret sharing described in any one of the first aspects above, wherein the restoration method restores the original three-dimensional model according to step S6 or S7 according to the number of participants participating in the cooperation, wherein:
[0032] S6. If the number of participants is k1, then after the k1 participants pass the verification, they cooperate to restore the secondary part of the original three-dimensional model, thus achieving lossy recovery of the three-dimensional model;
[0033] S7. If the number of participants is k2, then after the k2 participants pass the verification, they work together to restore the details of the original three-dimensional model and achieve lossless recovery of the three-dimensional model.
[0034] In a third aspect, the present invention provides a three-dimensional model encryption and decryption system using progressive (k1, k2, n) secret sharing, comprising:
[0035] An encryption module, used to generate an encrypted model according to the three-dimensional model abbreviated encryption method using progressive (k1, k2, n) secret sharing as described in any one of the first aspects above;
[0036] The restoration module is used to restore the encrypted model according to the three-dimensional model restoration method using progressive (k1, k2, n) secret sharing as described in the first aspect above.
[0037] In a fourth aspect, the present invention provides a computer electronic device comprising a memory and a processor;
[0038] The memory is used to store computer programs;
[0039] The processor is used to implement the three-dimensional model abbreviation encryption method using progressive (k1, k2, n) secret sharing as described in any one of the first aspects above, or the three-dimensional model restoration method using progressive (k1, k2, n) secret sharing as described in the second aspect above, when executing the computer program.
[0040] Compared with the prior art, the present invention has the following beneficial effects:
[0041] The present invention provides a method for encrypting 3D models using (k1, k2, n) progressive secret sharing, which extends the concept of keeping thumbnails encrypted to the field of 3D models and combines it with secret sharing technology. This method aims to create a thumbnail encrypted version of the 3D model that can be securely stored and transmitted in the network, while providing authorized users with sufficient visual information to identify and preview the model, while protecting the core details of the model from being obtained by unauthorized parties.
[0042] The present invention can not only be applied to the field of industrial design to protect sensitive product design information, but also play an important role in fields involving personal privacy such as medical imaging. For example, in a telemedicine system, doctors can quickly identify patient information by previewing encrypted 3D medical image thumbnail models without decrypting the complete high-precision model, thereby improving diagnostic efficiency and protecting patient privacy. Therefore, the present invention has the potential to solve the challenges of privacy protection, storage efficiency, and usability of 3D models in cloud and IoT environments. BRIEF DESCRIPTION OF THE DRAWINGS
[0043] Figure 1 A diagram showing the steps of a three-dimensional model encryption method using (k1, k2, n) progressive secret sharing;
[0044] Figure 2 A schematic diagram of the module composition of a three-dimensional model encryption and decryption system using progressive (k1, k2, n) secret sharing;
[0045] Figure 3 It is a structural diagram of the components of computer equipment;
[0046] Figure 4 is a flowchart of steps in an embodiment of the present invention;
[0047] Figure 5 This is a rendering of the encrypted model in an embodiment of the present invention;
[0048] Figure 6 This is a diagram showing the model tampering detection effect in an embodiment of the present invention;
[0049] Figure 7 This is a diagram showing the model restoration effect in an embodiment of the present invention. DETAILED DESCRIPTION
[0050] In order to make the above-mentioned purpose, features and advantages of the present invention more obvious and easy to understand, the specific implementation mode of the present invention is described in detail below in conjunction with the accompanying drawings. In the following description, many specific details are set forth to facilitate a full understanding of the present invention. However, the present invention can be implemented in many other ways different from those described herein, and those skilled in the art can make similar improvements without violating the connotation of the present invention. Therefore, the present invention is not limited to the specific embodiments disclosed below. The technical features in each embodiment of the present invention can be combined accordingly without conflicting with each other.
[0051] In the description of the present invention, it should be understood that the terms "first" and "second" are only used for the purpose of distinguishing descriptions, and should not be understood as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Therefore, the features defined as "first" and "second" may explicitly or implicitly include at least one of the features.
[0052] The present invention provides a three-dimensional model abbreviated encryption method using (k1, k2, n) progressive secret sharing. First, the model owner divides all vertex coordinates of the three-dimensional model into a main part, a secondary part, and a detail part; second, the model owner encrypts the secondary part and the detail part using secret sharing polynomials of different powers; wherein, after the secondary part is encrypted, the copyright information of the model is additionally embedded and a check bit is added, and after the detail part is encrypted, only the check bit is added. After the encryption is completed, the model owner distributes n encrypted models and their corresponding secret keys to n participants. For the participants, their private keys and encrypted models are directly saved; finally, in the model recovery stage, each encrypted model has a multiple authentication mechanism, and different numbers of participants can restore three-dimensional models of different qualities.
[0053] The specific implementation of the three-dimensional model abbreviated encryption method using progressive (k1, k2, n) secret sharing of the present invention is described below.
[0054] In a preferred embodiment of the present invention, a method for encrypting a 3D model using progressive (k1, k2, n) secret sharing is provided, which includes steps S1 to S5. The specific implementation of steps S1 to S5 in the embodiment of the present invention is described in detail below.
[0055] S1. The model owner converts the vertex coordinates of the three-dimensional model into integers and divides them into a main part, a secondary part and a detail part.
[0056] In an embodiment of the present invention, in the above step S1, the model owner splits the coordinates of the three-dimensional model in the following manner:
[0057] S11. For a given three-dimensional model, perform integer conversion with a scaling factor m on the three-dimensional coordinates of each vertex in the model, and convert each vertex coordinate after the integer conversion into a binary coordinate, where the length of the binary coordinates of the three coordinate dimensions x, y, and z is L bits;
[0058] S12. The model owner divides the vertex coordinates of length L into a main part of the first H bits, a secondary part of the middle P1 bits, and a detail part of the last P2 bits in sequence, where H+P1+P2=L.
[0059] In an embodiment of the present invention, in the above step S11, the binary coordinate length L of the coordinate dimension is determined by the scaling factor m. If 1≤m≤2, then L=8; if 3≤M≤4, then L=16; if 5≤m≤9, then L=32; if 10≤m≤18, then L=64.
[0060] S2. The model owner encodes the secondary parts of all vertices, and encrypts the encoded results using a k1-1 degree polynomial equation on the Galois field based on the private key owned by each participant to obtain the encrypted secondary parts.
[0061] In an embodiment of the present invention, in the above step S2, the method by which the model owner encodes the secondary part is as follows:
[0062] S21. The model owner takes out all the secondary parts of all vertex coordinates, concatenates them into binary sequences in order, and divides the binary sequences into units of 4 bits. Each unit is encoded with a (7,4) Hamming code to obtain an encoded unit of 7 bits in length. All the encoded units are sequentially composed of a unit sequence.
[0063] S22. After the encoding is completed, the model owner divides the unit sequence into groups of k1 encoded units, uses each group of encoded units as coefficients of a polynomial equation, combines a participant's private key, and uses a k1-1 degree polynomial equation on the Galois field to encrypt the encoded units to generate the corresponding encrypted secondary part.
[0064] S3. The model owner embeds the copyright information into the encrypted secondary part, obtains the encrypted secondary part after the copyright information is embedded, and generates first authentication information.
[0065] In an embodiment of the present invention, in the above step S3, the method in which the model owner embeds the copyright information into the encrypted secondary part and generates the authentication information is as follows:
[0066] S31. For the binary copyright information W to be embedded, the model owner first divides it into 3-bit units, and converts each unit into a 7-bit one-hot code. All the one-hot codes are sequentially composed into a code sequence.
[0067] S32, the model owner divides the coding sequence into groups of k1 one-hot codes, uses each group of one-hot codes as coefficients of a polynomial equation, combines a private key of a participant, and continues to use the k1-1 degree polynomial equation on the Galois field to encrypt the one-hot codes, thereby generating corresponding encrypted copyright information;
[0068] S33. For each participant, the model owner extracts the encrypted secondary part and the encrypted copyright information generated based on the private key of the participant, and embeds the encrypted copyright information into the encrypted secondary part of the pairing through an XOR operation. Each pairing obtains a corresponding copyright encrypted secondary part.
[0069] S34: The model owner encrypts each copyright sub-part z I (x i ) Use a hash function to generate a binary sequence R of 160 bits in length, and perform bit-by-bit XOR operations on the binary sequence R in sequence, and finally obtain a 1-bit result as the authentication bit; all authentication bits of each participant are combined in sequence to form the first authentication information.
[0070] It should be noted that in the present invention, performing bit-by-bit XOR operations on a binary sequence in sequence means starting from the left side of the binary sequence, taking the first two bits for XOR operation, and then performing XOR operation on the XOR operation result with the next bit, and then performing XOR operation on the new XOR operation result with the next bit, and performing bit-by-bit XOR operation until the entire sequence is traversed, and finally obtaining a 1-bit result.
[0071] S4. Based on the private key owned by each participant, the model owner encrypts the details using a k2-1 polynomial equation of a higher power than the k1-1 polynomial equation, obtains the encrypted details, and generates second authentication information.
[0072] In an embodiment of the present invention, in the above step S4, the model owner uses a higher power k2-1 degree polynomial equation to encrypt the details and generate the authentication information as follows:
[0073] S41. The model owner takes out all the details of all vertices, concatenates them into binary sequences in order, and divides the binary sequences into units of 7 bits. The divided unit sequences are further divided into groups of k2 units each, and each group of k2 units is used as the coefficient of the polynomial equation. The details are encrypted using a k2-1 degree polynomial equation on the Galois field in combination with a participant's private key to generate the corresponding encrypted details.
[0074] S42: The model owner sends each encrypted detail part f T (x i ) Use the hash function to generate a 160-bit binary sequence, and perform bit-by-bit XOR operations on the binary sequences in sequence, and finally obtain a 1-bit result as the authentication bit of the current encrypted detail part;
[0075] S43: The model owner performs bit-by-bit XOR operations on the binary copyright information W to obtain the authentication bits of the copyright information. Finally, the characterization bits R′ of each encrypted detail part and the authentication bits of the copyright information are merged through an XOR operation to obtain the final authentication bits corresponding to each encrypted detail part. All final authentication bits of each participant are combined in sequence to form the second authentication information.
[0076] S5. For n participants, the model owner rearranges the encrypted detail part corresponding to each participant, the second authentication information, the encrypted secondary part after embedding the copyright information, and the first authentication information, and embeds them into the bit planes corresponding to the secondary part and the detail part of all vertices to obtain the encrypted model corresponding to each participant; finally, the vertex coordinates of the n encrypted models are converted back into floating point numbers and distributed to the n participants together with their respective private keys, and each participant only saves the encrypted model and private key they received.
[0077] In an embodiment of the present invention, in the above step S5, the model owner rearranges the encrypted detail part, the corresponding authentication information, the encrypted secondary part after the embedded information and its corresponding authentication information, and converts the n final encrypted results back into floating point numbers and distributes them to the n participants together with their respective keys as follows:
[0078] S51. For each participant, the model owner uses the Lth to (H+1)th bit planes of the binary coordinates of all vertices in the three-dimensional model after the vertex coordinates are converted into integers as the filling space, and fills all the encrypted details f corresponding to the single participant in the filling order from the Lth bit plane to the (H+1)th bit plane. T (x i ), the second authentication information, all copyright encrypted secondary parts z I (x i ) and the first authentication information are filled into each vertex, and 0 is filled into the unfilled filling space; each participant obtains an encryption model after completing the filling.
[0079] It should be noted that for each participant, there is a series of encrypted details f T (x i ), second authentication information, a series of copyright encrypted secondary parts z I (x i ) and the first authentication information, and there are also many vertices that can be used as filling spaces, and each vertex has multiple coordinate axis dimensions. Therefore, when actually filling, it can be filled in sequence according to a fixed filling logic, and can also be extracted accordingly during subsequent extraction. For example, all the encrypted details can be T (x i), second authentication information, all copyright encrypted secondary parts z I (x i ) and the data stream of the first authentication information are spliced to form spliced data, and then after all vertices are arranged in index order, the spliced data is first filled with the filling space of the x-axis dimension of all vertices, and then the filling space of the y-axis dimension of all vertices is filled, and finally the filling space of the z-axis dimension of all vertices is filled. Of course, the spliced data can also be used to first fill the three-dimensional filling space of a vertex, and then continue to fill the three-dimensional filling space of the next vertex according to the index order of the vertices until all the spliced data are filled. In addition, since there are different data types in the spliced data, they need to be extracted separately later. Therefore, when filling, an identifier can be set after filling a type of data, so as to facilitate the subsequent classification and extraction of the encrypted details part f T (x i ), second authentication information, copyright encryption secondary part z I (x i ) and the first authentication information.
[0080] S52. The model owner converts the binary vertex coordinates of the n encrypted models back into floating point numbers and distributes them together with the private key to n different participants for safekeeping.
[0081] Therefore, the above-mentioned steps S1 to S5 of the present invention, by combining progressive secret sharing technology with three-dimensional model thumbnail encryption, realize an innovative method for access control and data protection in the Internet of Things environment. It not only inherits the characteristics of distributed data protection and scalable access management, but also preserves the general outline of the model while encrypting the model, which is convenient for retrieval.
[0082] It should be noted that the model owners and participants in the present invention can be clients with data processing capabilities in the form of corresponding software or hardware, and the specific form is not limited. The three-dimensional model in the present invention can be any three-dimensional mesh model that needs to be securely transmitted on the Internet of Things network in scenarios such as industrial design, medical imaging, architectural planning, digital media, game development, and virtual reality. In an exemplary scenario, the present invention can be used in a telemedicine system to securely transmit 3D medical images between doctor clients and patient clients. The 3D medical images of patients collected by the image acquisition device can generate encrypted 3D medical image thumbnail models according to the above encryption method and then send them to the remote doctor terminal through the Internet of Things. The doctor can quickly identify the patient information by previewing the encrypted 3D medical image thumbnail model without decrypting the complete high-precision model, thereby improving the diagnosis efficiency and protecting the patient's privacy.
[0083] In an embodiment of the present invention, a three-dimensional model restoration method using progressive (k1, k2, n) secret sharing corresponding to the three-dimensional model thumbnail encryption method using progressive (k1, k2, n) secret sharing described in steps S1 to S5 is also provided, which is used to restore the encrypted model obtained by the three-dimensional model thumbnail encryption method using progressive (k1, k2, n) secret sharing, and the restoration method restores the original three-dimensional model according to step S6 or S7 according to the number of participants involved in the cooperation. The specific selection of S6 or S7 needs to be determined according to the number of participants. The specific methods of steps S6 and S7 are as follows:
[0084] S6. If the number of participants is k1, then after the k1 participants pass the verification, they cooperate to restore the secondary part of the original three-dimensional model, thus achieving lossy recovery of the three-dimensional model;
[0085] S7. If the number of participants is k2, then after the k2 participants pass the verification, they work together to restore the details of the original three-dimensional model and achieve lossless recovery of the three-dimensional model.
[0086] In an embodiment of the present invention, in the above step S6, in the model restoration stage, the method by which any k1 participants can collaborate to restore the secondary part of the original model after verification is as follows:
[0087] S61. Randomly select k1 participants from all n participants. Each participant converts the vertex coordinates of the encrypted model kept by itself into binary, and then extracts all copyright encrypted secondary parts z from the binary vertex coordinates. I (x i ), and then divide the binary sequence into units of 7 bits, each unit corresponding to a copyright encryption sub-part z I (x i ).
[0088] S62: k1 participants each contribute a unit extracted by themselves to form a combination pair. Each group of k1 paired units is restored to the k1-1 degree polynomial equation R by Lagrange interpolation method. I (x i )
[0089] S63: Participants will add each equation coefficient The 3-bit copyright information W extracted is converted back to a decimal value [W] 10 , and the corresponding coefficients of each equation γ I Middle [W] 10 Flip the bits, and then add all the equation coefficients γ after the flip IThe binary sequence obtained by splicing is split into groups of P1 bits in sequence, and each group of P1 bit binary values is converted back to floating point numbers to restore the secondary part of the original vertex coordinates.
[0090] S64. The participant fills the secondary part of the original vertex coordinates back into the encrypted model to obtain a lossy restored three-dimensional model.
[0091] In addition, in the above step S62, comparative authentication and anti-counterfeiting can also be achieved. The specific method is: for each set of equation coefficients restored Use the parity check matrix to extract 3 bits of copyright information from each equation coefficient, and then compare and authenticate the extracted copyright information with the original copyright information. Only after the authentication is passed can the subsequent steps be continued;
[0092] Participants first extract copyright information:
[0093]
[0094] Where H is the parity check matrix. If the recovered copyright information W can match the original copyright information, the authentication is successful. If the authentication fails, the authentication is performed according to the z of each participant. I (x i ) and the corresponding check digit for authentication to identify cheating participants.
[0095] In the embodiment of the present invention, in the above step S7, in the model restoration stage, the method by which any k2 participants can collaborate to restore the details of the original model after verification is as follows:
[0096] S71, randomly select k1 participants from the n participants, take out the encrypted secondary parts from their respective encryption models, and restore the copyright information according to step S6. If the restored copyright information W can match the original copyright information, the authentication is successful;
[0097] S72, randomly select k2 participants from the n participants, each participant converts the vertex coordinates of the encrypted model kept by itself into binary, and then extracts all the encrypted details from the binary vertex coordinates f T (x i ), the second authentication information, all copyright encrypted secondary parts z I (x i ) and the first authentication information, all encrypted details part f T (x i ) and all copyrighted sub-parts I (x i) are divided into 7-bit units, and then the second authentication information and the first authentication information are recalculated, and the calculated record is matched with the extracted second authentication information and the first authentication information for authentication (if all are consistent, the authentication is passed, and if any one is inconsistent, the authentication is not passed);
[0098] S73: If the authentication is successful, all the encrypted details will be sent to the server. T (x i ) is a unit, and the k2 participants each contribute a unit extracted by themselves to perform combination and pairing. Each group of k2 paired units is restored to the k2-1 degree polynomial equation R by Lagrange interpolation method. T (x i )'s k2 equation coefficients All the restored equation coefficients γ T The binary sequence obtained by splicing is split into groups of P2 bits in sequence. After each group of P2-bit binary values is converted back into floating-point numbers, the details of the original vertex coordinates are restored. Finally, the secondary part of the original vertex coordinates and the details of the original vertex coordinates are filled back into the encrypted model to obtain a losslessly restored 3D model.
[0099] Similarly, based on the same inventive concept, Figure 2 As shown, the present invention also provides a three-dimensional model encryption and decryption system using progressive (k1, k2, n) secret sharing, which includes:
[0100] An encryption module, used to generate an encrypted model using a three-dimensional model abbreviated encryption method using progressive (k1, k2, n) secret sharing as described in S1 to S5 above;
[0101] The restoration module is used to restore the encrypted model according to the three-dimensional model restoration method using progressive (k1, k2, n) secret sharing described in S6 or S7 above.
[0102] It should be noted that the encryption module and the recovery module can be respectively arranged on different computer devices.
[0103] Similarly, based on the same inventive concept, Figure 3 As shown, the present invention also provides a computer electronic device corresponding to the three-dimensional model abbreviated encryption method using progressive (k1, k2, n) secret sharing and the three-dimensional model restoration method using progressive (k1, k2, n) secret sharing provided in the above embodiment, which includes a memory and a processor;
[0104] The memory is used to store computer programs;
[0105] The processor is used to implement the three-dimensional model abbreviation encryption method using progressive (k1, k2, n) secret sharing described in S1 to S5 above, or the three-dimensional model restoration method using progressive (k1, k2, n) secret sharing described in S6 or S7 above when executing the computer program.
[0106] In addition, the logic instructions in the above-mentioned memory can be implemented in the form of software functional units and can be stored in a computer-readable storage medium when sold or used as an independent product. Based on such an understanding, the technical solution of the present invention, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present invention.
[0107] Therefore, based on the same inventive concept, the present invention provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, it can implement the three-dimensional model abbreviated encryption method using progressive (k1, k2, n) secret sharing described in S1 to S5 above, or the three-dimensional model restoration method using progressive (k1, k2, n) secret sharing described in S6 or S7 above.
[0108] Therefore, based on the same inventive concept, the present invention provides a computer program product, including a computer program / instruction, which, when executed by a processor, can implement the three-dimensional model abbreviation encryption method using progressive (k1, k2, n) secret sharing described in S1 to S5 above, or the three-dimensional model restoration method using progressive (k1, k2, n) secret sharing described in S6 or S7 above.
[0109] It is understandable that the above storage medium may include random access memory (RAM) or non-volatile memory (NVM), such as at least one disk storage. The storage medium may also be a U disk, a mobile hard disk, a magnetic disk or an optical disk, etc., which can store program codes.
[0110] It can be understood that the above-mentioned processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.
[0111] It should also be noted that those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working process of the system described above can refer to the corresponding process in the aforementioned method embodiment, and will not be repeated here. In the various embodiments provided in this application, the division of steps or modules in the system and method is only a logical function division, and there may be other division methods in actual implementation, such as multiple modules or steps can be combined or integrated together, and a module or step can also be split.
[0112] In order to better understand the specific implementation process of encryption and decryption of the above-mentioned steps S1 to S5 and S6 or S7 of the present invention, the specific steps and technical effects of the present invention are detailed below through an example.
[0113] Example
[0114] In this embodiment, an encryption method combining progressive secret sharing and 3D model thumbnail encryption is provided, and a corresponding decryption and recovery method is provided, so as to perform access control and data protection on the 3D model in the IoT environment. Figure 4 As shown, the specific steps of this embodiment include steps 1 to 7, and its basic process corresponds to the aforementioned S1 to S7. If some parameter definitions and operations in each step are not clearly stated, they can also be referred to the records in the aforementioned S1 to S7 and will not be repeated here.
[0115] Step 1: The model owner converts the vertex coordinates of the 3D model into integers and divides them into the main part, the secondary part, and the detail part.
[0116] In step 1 of this embodiment, the model owner splits the coordinates of the three-dimensional model as follows:
[0117] Step 11: Given a 3D model, represented by a vertex set V = {v1,v2,...,v p} and face set F = {f1,f2,...,fq}, the model owner first converts the vertex coordinates into integers, and the conversion formula is as follows:
[0118]
[0119] where i is the index of the vertex, j is the axis, and m is the scaling factor. After the transformation, each vertex It is represented by a binary format with a length of L bits, where L is calculated as follows:
[0120]
[0121] In this embodiment, m=4 and L=16.
[0122] Step 12: The model owner divides the vertices of length L into a main part (H bits), a secondary part (P1 bits), and a detail part (P2 bits), where H+P1+P2=L. In this embodiment, H=5, P1=3, and P2=8.
[0123] Step 2: The model owner encodes the secondary parts of all vertices and encrypts them using a k1-1 degree polynomial equation over the Galois field.
[0124] In step 2 of this embodiment, the method in which the model owner encodes the secondary part is as follows:
[0125] Step 21: The model owner takes out all the secondary parts of all vertices and encodes them in units of 4 bits using the (7,4) Hamming code, specifically:
[0126]
[0127]
[0128] Where d represents a 4-bit unit. Indicates the 7-bit length of the encoded unit.
[0129] Step 22: After encoding, the model owner encrypts using a k1-1 degree polynomial equation over a Galois field:
[0130]
[0131] F = x 7 +x 3 +1, (6)
[0132] Among them, in the Galois field GF(2 7 ) in the secret sharing scheme, F is a 7th-order polynomial, and this patent selects the form as in formula (6). i) is to replace k1 code units with a0 to The encrypted result of the generated secondary part. i is the participant’s private key, Is the exclusive OR operator symbol.
[0133] Step 3: The model owner embeds the copyright information into the encrypted secondary part and generates authentication information.
[0134] In step 3 of this embodiment, the method in which the model owner embeds the copyright information into the encrypted secondary part and generates authentication information is as follows:
[0135] Step 31: For the binary copyright information W, the model owner first divides it into 3-bit units and converts each unit into a 7-bit one-hot code.
[0136] Step 32: The model owner encrypts the one-hot code using the same k1-1 degree polynomial equation on the Galois field:
[0137]
[0138] Where β0 to is k1 one-hot encodings.
[0139] Step 33: The model owner embeds the encrypted copyright information in the encrypted secondary part:
[0140]
[0141] Step 34: The model owner will z I (x i ) Use the hash function to generate a 160-bit binary sequence, and perform XOR operations on the binary sequences in pairs to obtain a 1-bit result as the final authentication bit:
[0142] R=H K (z I (x i )), (10)
[0143] P I =XOR(R), (11)
[0144] Among them, H K It represents a hash function using K as the secret key, and XOR represents the XOR of binary sequences pairwise until a 1-bit result is obtained.
[0145] Step 4: The model owner uses a higher-power k2-1 polynomial equation to encrypt the details and generate authentication information.
[0146] In step 4 of this embodiment, the model owner uses a higher power k2-1 degree polynomial equation to encrypt the details and generate authentication information as follows:
[0147] Step 41: The model owner first extracts the details of all vertices and divides them into 7 bits per unit. Each unit will be directly used as the coefficient term of the k2-1 degree polynomial equation on the Galois field (α0 to ) to encrypt:
[0148]
[0149] Step 42: The model owner will f T (x i ) Use the hash function to generate a 160-bit binary sequence, and perform XOR operations on the binary sequences in pairs to obtain a 1-bit result as the representation bit of the current encryption result:
[0150] R=H K (f T (x i )), (13)
[0151] R′=XOR(R), (14)
[0152] Among them, H K Represents a hash function using K as the secret key.
[0153] Step 43: The model owner combines the characterization bit R′ of the current encryption unit with the copyright information to obtain the final authentication bit:
[0154]
[0155] Step 5: The model owner rearranges the encrypted details, the corresponding authentication information, the encrypted secondary part after the embedded information, and its corresponding authentication information, and converts the final n encrypted results back into floating point numbers and distributes them to the n participants together with their respective keys.
[0156] In step 5 of this embodiment, the model owner rearranges the encrypted details, the corresponding authentication information, the encrypted secondary part after the embedded information, and its corresponding authentication information, and converts the n final encrypted results back into floating point numbers and distributes them to the n participants together with their respective keys as follows:
[0157] Step 51: The model owner fills in the encrypted details f in order from the Lth bit plane to the (H+1)th bit plane. T (x), the corresponding authentication bit P T , the encrypted secondary part of the embedded information z I (xi ) and the corresponding authentication bit P I , and fill the rest with 0.
[0158] Step 52: The model owner converts the coordinates of the n encrypted models back into floating point numbers and sends them to the n participants.
[0159] Step 6: In the model restoration phase, any k1 participants can collaborate to restore the secondary part of the original model after verification.
[0160] In step 6 of this embodiment, in the model restoration stage, the method by which any k1 participants can collaboratively restore the secondary part of the original model after verification is as follows:
[0161] Step 61: k1 participants take out the encrypted secondary part from their respective encryption models and divide it into units of 7 bits each.
[0162] Step 62: k1 participants use Lagrange interpolation method to restore the k1-1 degree polynomial equation R I (x i ):
[0163]
[0164] For the restored Participants first extract copyright information:
[0165] W=H×γ I , (17)
[0166]
[0167] Where H is the parity check matrix. If the recovered copyright information W can match the original copyright information, the authentication is successful. If the authentication fails, the authentication is performed according to the z of each participant. I (x i ) and the corresponding check digit for authentication to identify cheating participants.
[0168] Step 63: The participant converts the recovered copyright information W back to decimal in units of 3 bits, and flips the corresponding bits of the corresponding γ coefficient to obtain the original secondary part.
[0169] Step 64: The participant fills the secondary part back into the thumbnail model to obtain a lossy restoration result.
[0170] Step 7: In the model restoration phase, any k2 participants can collaborate to restore the details of the original model after verification.
[0171] In step 7 of this embodiment, in the model restoration stage, the method by which any k2 participants can collaborate to restore the details of the original model after verification is as follows:
[0172] Step 71: randomly select k1 participants to take out the encrypted secondary parts from their respective encryption models, and restore the copyright information according to step 6. If the restored copyright information W can match the original copyright information, the authentication is successful.
[0173] Step 72: The k2 participants take out the encrypted details from their respective encryption models and divide them into 7-bit units. T (x i ) and the recovered copyright information are authenticated with the corresponding check digit.
[0174] Step 73: If the authentication is successful, the k2 participants use the Lagrange interpolation method to restore the k2-1 degree polynomial equation R T (x i ):
[0175]
[0176] For the restored Participants directly filled in the details of the model to restore the model without loss.
[0177] In this embodiment, the specific technical effect of the above method is experimentally verified, wherein the scaling factor m is 4. The experimental results are shown below:
[0178] i. Performance Analysis
[0179] Taking the 3D model “airplane” as an example, use (k1, k2, n) = (3, 4, 5) for confidential sharing. Figure 5 Five corresponding encryption results are given after the model is encrypted by the present invention. Figure 5 (a) is the original model. Figure 5 (b-f) are five encryption results. Obviously, although the encrypted image lacks details, it retains the general outline information of the original model, which is enough for the participants to recognize the information of the model.
[0180] ii. Safety Analysis
[0181] Figure 6 Taking two encryption models as examples, the tampering detection capability of the present invention at different stages is demonstrated. When we add slight Gaussian noise to the encryption model, Figure 6 (a) Demonstrates the tamper detection capability of the secondary portion of the present invention; Figure 6(b) shows the ability of the invention to detect tampering. After authentication, any three encrypted models can work together to restore the secondary part of the original model ( Figure 7 (a)), any four encrypted models can work together to restore the original model ( Figure 7 (b)).
[0182] The above-described embodiments are only some preferred implementations of the present invention, but are not intended to limit the present invention. A person skilled in the relevant technical field may make various changes and modifications without departing from the spirit and scope of the present invention. Therefore, any technical solution obtained by equivalent replacement or equivalent transformation falls within the protection scope of the present invention.
Claims
1. A method for encrypting a three-dimensional model using progressive (k1, k2, n) secret sharing, characterized in that: include: S1. The model owner converts the vertex coordinates of the three-dimensional model into integers and divides them into a main part, a secondary part and a detail part; S2. The model owner encodes the secondary parts of all vertices, and encrypts the encoded results using a k1-1 degree polynomial equation on the Galois field based on the private key owned by each participant to obtain the encrypted secondary parts; S3, the model owner embeds the copyright information into the encrypted secondary part, obtains the encrypted secondary part after the copyright information is embedded, and generates first authentication information; S4. Based on the private key owned by each participant, the model owner encrypts the details using a k2-1 degree polynomial equation of a higher power than the k1-1 degree polynomial equation, obtains the encrypted details, and generates second authentication information; S5. For n participants, the model owner rearranges the encrypted detail part corresponding to each participant, the second authentication information, the encrypted secondary part after embedding the copyright information, and the first authentication information, and embeds them into the bit planes corresponding to the secondary part and the detail part of all vertices to obtain the encrypted model corresponding to each participant; finally, the vertex coordinates of the n encrypted models are converted back into floating point numbers and distributed to the n participants together with their respective private keys, and each participant only saves the encrypted model and private key they received.
2. The method for encrypting a 3D model using progressive (k1, k2, n) secret sharing according to claim 1, characterized in that: The specific implementation method of S1 is as follows: S11. For a given three-dimensional model, perform integer conversion with a scaling factor m on the three-dimensional coordinates of each vertex in the model, and convert each vertex coordinate after the integer conversion into a binary coordinate, where the length of the binary coordinates of the three coordinate dimensions x, y, and z is L bits; S12. The model owner divides the vertex coordinates of length L into a main part of the first H bits, a secondary part of the middle P1 bits, and a detail part of the last P2 bits in sequence, where H+P1+P2=L.
3. The method for encrypting a 3D model using progressive (k1, k2, n) secret sharing according to claim 2, characterized in that: The binary coordinate length L of the coordinate dimension is determined by the scaling factor m. If 1≤m≤2, then L=8; if 3≤m≤4, then L=16; if 5≤m≤9, then L=32; if 10≤m≤18, then L=64.
4. The method for encrypting a 3D model using progressive (k1, k2, n) secret sharing according to claim 1, characterized in that: The specific implementation method of S2 is as follows: S21. The model owner takes out all the secondary parts of all vertex coordinates, concatenates them into binary sequences in order, and divides the binary sequences into units of 4 bits. Each unit is encoded with a (7,4) Hamming code to obtain an encoded unit of 7 bits in length. All the encoded units are sequentially composed of a unit sequence. S22. After the encoding is completed, the model owner divides the unit sequence into groups of k1 encoded units, uses each group of encoded units as coefficients of a polynomial equation, combines a participant's private key, and uses a k1-1 degree polynomial equation on the Galois field to encrypt the encoded units to generate the corresponding encrypted secondary part.
5. The method for encrypting a 3D model using progressive (k1, k2, n) secret sharing according to claim 1, characterized in that: The specific implementation method of S3 is as follows: S31. For the binary copyright information W to be embedded, the model owner first divides it into 3-bit units, and converts each unit into a 7-bit one-hot code. All the one-hot codes are sequentially composed into a code sequence. S32, the model owner divides the coding sequence into groups of k1 one-hot codes, uses each group of one-hot codes as coefficients of a polynomial equation, combines a private key of a participant, and continues to use the k1-1 degree polynomial equation on the Galois field to encrypt the one-hot codes, thereby generating corresponding encrypted copyright information; S33. For each participant, the model owner extracts the encrypted secondary part and the encrypted copyright information generated based on the private key of the participant in a paired manner, and embeds the encrypted copyright information into the paired encrypted secondary part through an XOR operation, so that each paired manner obtains a corresponding copyright encrypted secondary part; S34: The model owner uses a hash function to generate a 160-bit binary sequence for each copyright encrypted secondary part, and performs bit-by-bit XOR operations on the binary sequences in sequence, and finally obtains a 1-bit result as the authentication bit; all authentication bits of each participant are combined in sequence to form the first authentication information.
6. The method for encrypting a 3D model using progressive (k1, k2, n) secret sharing according to claim 1, characterized in that: The specific implementation method of S4 is as follows: S41. The model owner takes out all the details of all vertices, concatenates them into binary sequences in order, and divides the binary sequences into units of 7 bits. The divided unit sequences are further divided into groups of k2 units each, and each group of k2 units is used as the coefficient of the polynomial equation. The details are encrypted using a k2-1 degree polynomial equation on the Galois field in combination with a participant's private key to generate the corresponding encrypted details. S42: The model owner uses a hash function to generate a 160-bit binary sequence for each encrypted detail part, and performs bit-by-bit XOR operations on the binary sequences in sequence, and finally obtains a 1-bit result as the authentication bit of the current encrypted detail part; S43: The model owner performs bit-by-bit XOR operations on the binary copyright information W to obtain the authentication bits of the copyright information. Finally, the characterization bits of each encrypted detail part and the authentication bits of the copyright information are merged through an XOR operation to obtain the final authentication bits corresponding to each encrypted detail part. All final authentication bits of each participant are combined in sequence to form the second authentication information.
7. The method for encrypting a 3D model using progressive (k1, k2, n) secret sharing according to claim 1, characterized in that: The specific implementation method of S5 is as follows: S51. For each participant, the model owner uses the Lth to (H+1)th bit planes of the binary coordinates of all vertices in the three-dimensional model after the vertex coordinates are converted from integers as the filling space, and fills all the encrypted details corresponding to the single participant, the second authentication information, all the copyright encryption secondary parts and the first authentication information into each vertex in the filling order from the Lth bit plane to the (H+1)th bit plane, and fills 0 in the unfilled filling space; each participant obtains an encrypted model after completing the filling; S52: The model owner converts the binary vertex coordinates of the n encrypted models back into floating point numbers and distributes them together with the private key to n different participants for safekeeping.
8. A three-dimensional model restoration method using progressive (k1, k2, n) secret sharing, characterized in that: Used to restore the encrypted model obtained by the three-dimensional model abbreviated encryption method using progressive (k1, k2, n) secret sharing as described in any one of claims 1 to 7, wherein the restoration method restores the original three-dimensional model according to step S6 or S7 according to the number of participants involved in the cooperation, wherein: S6. If the number of participants is k1, then after the k1 participants pass the verification, they cooperate to restore the secondary part of the original three-dimensional model, thus achieving lossy recovery of the three-dimensional model; S7. If the number of participants is k2, then after the k2 participants pass the verification, they work together to restore the details of the original three-dimensional model and achieve lossless recovery of the three-dimensional model.
9. A three-dimensional model encryption and decryption system using progressive (k1, k2, n) secret sharing, characterized in that: include: An encryption module, used to generate an encrypted model according to the three-dimensional model abbreviated encryption method using progressive (k1, k2, n) secret sharing as described in any one of claims 1 to 7; A restoration module is used to restore the encrypted model according to the three-dimensional model restoration method using progressive (k1, k2, n) secret sharing as described in claim 8.
10. A computer electronic device, characterized in that: including memory and processor; The memory is used to store computer programs; The processor is used to implement the three-dimensional model abbreviated encryption method using progressive (k1, k2, n) secret sharing as described in any one of claims 1 to 7, or the three-dimensional model restoration method using progressive (k1, k2, n) secret sharing as described in claim 8 when executing the computer program.
Citation Information
Patent Citations
Authentication method of three-dimensional model file based on secret sharing in cloud environment
CN110610105A
Progressive image sharing method based on super-resolution and encryption domain information hiding
CN115170377A
Ciphertext reversible information hiding method based on mean value prediction
CN116743336A
Shared model training with privacy protections
US20230153461A1