A model transmission method, system, device and medium

By utilizing the fact that the key 3D model and the 3D model to be transmitted have the same data structure, an encryption algorithm is used to encrypt the data to be encrypted, which solves the problems of slow transmission speed and easy leakage of existing real-scene 3D models, and achieves high security and real-time transmission.

CN114882166BActive Publication Date: 2026-03-27CHINA PETROLEUM PIPELINE ENG CO LTD +2
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-27
Publication Date
2026-03-27

AI Technical Summary

Technical Problem

Existing methods for transmitting real-world 3D models suffer from slow transmission speed, high cost, susceptibility to loss, damage, and leakage, and are unable to meet the needs of intelligent construction. Existing encryption methods are also easily cracked, leading to leaks.

Method used

A three-dimensional key model is used instead of a key algorithm. Taking advantage of the fact that the data structures of each part of the three-dimensional key model and the three-dimensional model to be transmitted are the same, the encryption algorithm is used to encrypt the data to be encrypted. Different keys are used to encrypt different parts, and the key model is transmitted offline through a secure means.

Benefits of technology

It improves transmission security and confidentiality, avoids network leaks, and enables real-time transmission and efficient encryption, meeting the needs of intelligent construction.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114882166B_ABST
    Figure CN114882166B_ABST
Patent Text Reader

Abstract

The application discloses a model transmission method, comprising the following steps: obtaining a to-be-transmitted three-dimensional model and a key three-dimensional model; determining a plurality of to-be-encrypted data in the to-be-transmitted three-dimensional model and an encryption algorithm corresponding to each to-be-encrypted data; encrypting the to-be-encrypted data by using data of the same type as the to-be-encrypted data in the key three-dimensional model and the encryption algorithm corresponding to the to-be-encrypted data; and sending the encrypted to-be-transmitted three-dimensional model to a receiving end. The application also discloses a system, a computer device and a readable storage medium. The scheme provided by the application uses a key three-dimensional model to replace a key algorithm, the data structure of each part of the key three-dimensional model is the same as that of each part of the to-be-encrypted to-be-transmitted three-dimensional model, so that a large amount of data in the key three-dimensional model can be used as a key, different encrypted parts use different keys, and the security is good and the confidentiality is high.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the field of three-dimensional model encryption, and in particular to a model transmission method, system, device and storage medium. BACKGROUND

[0002] In the field of surveying and mapping geographic information and information security, the transmission of secret real three-dimensional models is often encountered.

[0003] However, the secret transmission of real three-dimensional models is a difficult problem. Currently, the main method used is manual acquisition and transmission. This transmission method has the disadvantages of slow transmission speed, high cost, inability to achieve real-time transmission, easy file loss, damage and theft, and inability to meet the needs of intelligent construction. Some methods use compression, add fixed passwords, and use some encryption algorithms. This method belongs to the packaging of secret documents and can be easily cracked to cause leaks, which violates relevant regulations. SUMMARY

[0004] Therefore, in order to overcome at least one aspect of the above problems, the present application provides a model transmission method, which comprises the following steps:

[0005] Obtaining a three-dimensional model to be transmitted and a key three-dimensional model;

[0006] Determining a plurality of encrypted data in the three-dimensional model to be transmitted and an encryption algorithm corresponding to each type of encrypted data;

[0007] Encrypting the encrypted data using data of the same type as the encrypted data in the key three-dimensional model and the encryption algorithm corresponding to the encrypted data;

[0008] Sending the encrypted three-dimensional model to be transmitted to a receiving end.

[0009] In some embodiments, the key three-dimensional model is obtained, further comprising:

[0010] Selecting a three-dimensional model of a predetermined size from the three-dimensional model to be transmitted as the key three-dimensional model; or

[0011] Obtaining another three-dimensional model that does not need to be encrypted as the key three-dimensional model.

[0012] In some embodiments, determining a plurality of encrypted data in the three-dimensional model to be transmitted and an encryption algorithm corresponding to each type of encrypted data further comprises:

[0013] One or more of the insertion point coordinates, the bounding sphere coordinates, the skeleton file vertex coordinates, the material file coordinates, the texture file coordinates, the pixel values of the texture and the text in the three-dimensional model to be transmitted are encrypted data;

[0014] assigning an encryption algorithm to each kind of data to be encrypted.

[0015] In some embodiments, assigning an encryption algorithm to each kind of data to be encrypted further comprises:

[0016] assigning the same encryption algorithm to each kind of data to be encrypted; or,

[0017] assigning different encryption algorithms to each kind of data to be encrypted and recording the correspondence between each kind of data to be encrypted and the encryption algorithm;

[0018] wherein the encryption algorithm comprises addition operation, subtraction operation, mean operation and preset function operation.

[0019] In some embodiments, encrypting the data to be encrypted by using the data of the same type as the data to be encrypted in the key three-dimensional model and the encryption algorithm corresponding to the data to be encrypted further comprises:

[0020] calculating the encrypted insertion point coordinates based on the insertion point coordinates in the key three-dimensional model, the insertion point coordinates in the three-dimensional model to be transmitted and the corresponding encryption algorithm, and replacing the insertion point coordinates in the three-dimensional model to be transmitted with the encrypted insertion point coordinates.

[0021] In some embodiments, encrypting the data to be encrypted by using the data of the same type as the data to be encrypted in the key three-dimensional model and the encryption algorithm corresponding to the data to be encrypted further comprises:

[0022] calculating the encrypted bounding sphere coordinates based on the bounding sphere coordinates in the key three-dimensional model, the bounding sphere coordinates in the three-dimensional model to be transmitted and the corresponding encryption algorithm, and replacing the bounding sphere coordinates in the three-dimensional model to be transmitted with the encrypted bounding sphere coordinates.

[0023] In some embodiments, encrypting the data to be encrypted by using the data of the same type as the data to be encrypted in the key three-dimensional model and the encryption algorithm corresponding to the data to be encrypted further comprises:

[0024] calculating the encrypted skeleton file vertex coordinates based on the skeleton file vertex coordinates in the key three-dimensional model, the skeleton file vertex coordinates in the three-dimensional model to be transmitted and the corresponding encryption algorithm, and replacing the skeleton file vertex coordinates in the three-dimensional model to be transmitted with the encrypted skeleton file vertex coordinates.

[0025] In some embodiments, encrypting the data to be encrypted by using the data of the same type as the data to be encrypted in the key three-dimensional model and the encryption algorithm corresponding to the data to be encrypted further comprises:

[0026] Based on the material file coordinates in the key three-dimensional model, the material file coordinates in the three-dimensional model to be transmitted, and the corresponding encryption algorithm, encrypted material file coordinates are calculated, and the material file coordinates in the three-dimensional model to be transmitted are replaced with the encrypted material file coordinates.

[0027] In some embodiments, the encrypted data is encrypted by using the same type of data in the key three-dimensional model as the type of the data to be encrypted and the encryption algorithm corresponding to the data to be encrypted, and further comprising:

[0028] Based on the texture file coordinates in the key three-dimensional model, the texture file coordinates in the three-dimensional model to be transmitted, and the corresponding encryption algorithm, encrypted texture file coordinates are calculated, and the texture file coordinates in the three-dimensional model to be transmitted are replaced with the encrypted texture file coordinates.

[0029] In some embodiments, further comprising:

[0030] In response to the number of coordinates of the corresponding type in the key three-dimensional model being less than the number of coordinates of the corresponding type in the three-dimensional model to be transmitted, the coordinates of the corresponding type in the key three-dimensional model are used in a loop.

[0031] In some embodiments, the encrypted data is encrypted by using the same type of data in the key three-dimensional model as the type of the data to be encrypted and the encryption algorithm corresponding to the data to be encrypted, and further comprising:

[0032] Based on the pixel values of the texture in the key three-dimensional model, the pixel values of the texture in the three-dimensional model to be transmitted, and the corresponding encryption algorithm, encrypted pixel values of the texture are calculated, and the pixel values of the texture in the three-dimensional model to be transmitted are set to zero;

[0033] The resulting encrypted pixel values of the texture are written into a newly created encrypted texture file.

[0034] In some embodiments, the encrypted pixel values of the texture are calculated based on the pixel values of the texture in the key three-dimensional model, the pixel values of the texture in the three-dimensional model to be transmitted, and the corresponding encryption algorithm, and further comprising:

[0035] In response to the pixel values of the texture in the key three-dimensional model being all 0 or 255, other pixel values that are not all 0 or 255 are sequentially used for encryption.

[0036] In some embodiments, further comprising:

[0037] In response to the number of pixel values of the texture in the key three-dimensional model being less than the number of pixel values of the texture in the three-dimensional model to be transmitted, the pixel values of the texture in the key three-dimensional model are used in a loop.

[0038] In some embodiments, the encryption of the to-be-encrypted data by using the data in the key three-dimensional model of the same type as the to-be-encrypted data and the encryption algorithm corresponding to the to-be-encrypted data further comprises:

[0039] calculating the encrypted code based on the code of the text in the key three-dimensional model, the code of the text in the to-be-transmitted three-dimensional model and the corresponding encryption algorithm, and replacing the text in the to-be-transmitted three-dimensional model with the encrypted code.

[0040] In some embodiments, the method further comprises:

[0041] In response to the number of the codes of the text in the key three-dimensional model being less than the number of the codes of the text in the to-be-transmitted three-dimensional model, the codes of the text in the key three-dimensional model are recycled.

[0042] In some embodiments, the method further comprises:

[0043] decrypting the received encrypted to-be-transmitted three-dimensional model by using the key three-dimensional model and the correspondence between each to-be-encrypted data and the encryption algorithm at the receiving end.

[0044] Based on the same inventive concept, according to another aspect of the present application, embodiments of the present application further provide a model transmission system, comprising:

[0045] an acquisition module configured to acquire a to-be-transmitted three-dimensional model and a key three-dimensional model;

[0046] a determination module configured to determine a plurality of to-be-encrypted data in the to-be-transmitted three-dimensional model and an encryption algorithm corresponding to each to-be-encrypted data;

[0047] an encryption module configured to encrypt the to-be-encrypted data by using the data in the key three-dimensional model of the same type as the to-be-encrypted data and the encryption algorithm corresponding to the to-be-encrypted data;

[0048] a sending module configured to send the encrypted to-be-transmitted three-dimensional model to a receiving end.

[0049] Based on the same inventive concept, according to another aspect of the present application, embodiments of the present application further provide a computer device, comprising:

[0050] at least one processor; and

[0051] a memory storing a computer program capable of running on the processor, characterized in that the processor executes the program to execute the steps of any one of the model transmission methods described above.

[0052] Based on the same inventive concept, according to another aspect of the present application, the embodiments of the present application also provide a computer readable storage medium, which stores a computer program, and the computer program performs the steps of any one of the model transmission methods as described above when executed by a processor.

[0053] The present application has one of the following beneficial technical effects: the scheme provided by the present application uses a key three-dimensional model to replace a key algorithm, the data structure of each part of the key three-dimensional model is the same as that of each part of the encrypted three-dimensional model to be transmitted, so that a large amount of data in the key three-dimensional model can be used as a key, different encrypted parts use different keys, and the security is good and the confidentiality is high. BRIEF DESCRIPTION OF DRAWINGS

[0054] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the drawings needed to be used in the embodiments or prior art description. Obviously, the drawings in the following description are only some embodiments of the present application, and for those skilled in the art, other embodiments can also be obtained from these drawings without creative labor.

[0055] Figure 1 The flowchart of the model transmission method provided by the embodiments of the present application is shown in the figure;

[0056] Figure 2 The structural diagram of the model transmission system provided by the embodiments of the present application is shown in the figure;

[0057] Figure 3 The structural diagram of the computer device provided by the embodiments of the present application is shown in the figure;

[0058] Figure 4 The structural diagram of the computer readable storage medium provided by the embodiments of the present application is shown in the figure. DETAILED DESCRIPTION

[0059] In order to make the objects, technical solutions and advantages of the present application clearer, the following will further describe the embodiments of the present application in combination with specific embodiments and with reference to the drawings.

[0060] It should be noted that all the expressions of "first" and "second" in the embodiments of the present application are used to distinguish two same name different entities or different parameters, and it can be seen that "first" and "second" are only for the convenience of description, and should not be understood as a limitation of the embodiments of the present application, and the subsequent embodiments will not be described one by one.

[0061] According to one aspect of the present application, the embodiments of the present application provide a model transmission method, which comprises the steps of Figure 1As shown, it can include steps of:

[0062] S1, obtaining a to-be-transmitted three-dimensional model and a key three-dimensional model;

[0063] S2, determining a plurality of to-be-encrypted data in the to-be-transmitted three-dimensional model and an encryption algorithm corresponding to each to-be-encrypted data;

[0064] S3, encrypting the to-be-encrypted data by using data in the key three-dimensional model which is of the same type as the to-be-encrypted data and the encryption algorithm corresponding to the to-be-encrypted data;

[0065] S4, sending the encrypted to-be-transmitted three-dimensional model to a receiving end.

[0066] The scheme provided by the application uses a key three-dimensional model to replace a key algorithm, the data structure of each part of the key three-dimensional model is the same as that of each part of the to-be-encrypted to-be-transmitted three-dimensional model, so that a large amount of data in the key three-dimensional model can be used as a key, different encrypted parts use different keys, the security is good, and the confidentiality is high. Moreover, the three-dimensional model can be replaced at any time.

[0067] In some embodiments, step S1, obtaining a key three-dimensional model, further includes:

[0068] selecting a three-dimensional model of a preset size from the to-be-transmitted three-dimensional model as the key three-dimensional model; or,

[0069] obtaining another three-dimensional model which does not need to be encrypted as the key three-dimensional model.

[0070] Specifically, the selected key three-dimensional model can be a part of the three-dimensional model to be transmitted, or an independent three-dimensional model which has no relationship with the three-dimensional model to be transmitted, the data amount should not be too large, and the data file should be complete, including all data composition files: description files, data files, index tree files and attribute files. The key three-dimensional model can be transmitted by an offline secure way, avoiding the possibility of network leakage.

[0071] For example, in order to transmit a 8km 2 real scene three-dimensional model of a strategic oil reserve of a country, a 0.25 km 2 real scene three-dimensional model which has been completed in the early stage can be selected as the key three-dimensional model, the model is complete in each data file, including all data composition files: description files, data files, index tree files and attribute files. Then, the 0.25 km 2 key three-dimensional model is saved to the construction site of the sending end and the design headquarters of the receiving end by a secure way.

[0072] In some embodiments, the step S2 of determining the plurality of data to be encrypted in the three-dimensional model to be transmitted and the encryption algorithm corresponding to each of the data to be encrypted further comprises:

[0073] S21, taking one or more of the insertion point coordinates, the bounding sphere coordinates, the skeleton file vertex coordinates, the material file coordinates, the texture file coordinates, the pixel values of the texture and the text in the three-dimensional model to be transmitted as the data to be encrypted;

[0074] S22, assigning an encryption algorithm to each of the data to be encrypted.

[0075] Specifically, since the data structure of each part of the key three-dimensional model is the same as that of each part of the three-dimensional model to be transmitted, the data in the key three-dimensional model can be used as a key to encrypt the corresponding data in the three-dimensional model to be transmitted.

[0076] For example, the insertion point coordinates in the three-dimensional model to be transmitted can be encrypted by using the insertion point coordinates in the key three-dimensional model, and the specific encryption algorithm can be one randomly selected from a plurality of pre-set encryption algorithms or a pre-set encryption algorithm. Similarly, the bounding sphere coordinates, the skeleton file vertex coordinates, the material file coordinates, the texture file coordinates, the pixel values of the texture and / or the text in the three-dimensional model to be transmitted can be encrypted by using the corresponding data in the key three-dimensional model, and the encryption algorithm corresponding to each of the data to be encrypted can also be one randomly selected from a plurality of pre-set encryption algorithms or a pre-set encryption algorithm.

[0077] In some embodiments, the step S22 of assigning an encryption algorithm to each of the data to be encrypted further comprises:

[0078] S221, assigning the same encryption algorithm to each of the data to be encrypted; or,

[0079] S222, assigning different encryption algorithms to each of the data to be encrypted and recording the correspondence between each of the data to be encrypted and the encryption algorithm;

[0080] The encryption algorithm includes addition operation, subtraction operation, mean operation and pre-set function operation.

[0081] Specifically, the addition operation refers to adding the data to be encrypted in the three-dimensional model to be transmitted and the corresponding data in the key three-dimensional model to obtain the encrypted data. The subtraction operation refers to subtracting the data to be encrypted in the three-dimensional model to be transmitted from the corresponding data in the key three-dimensional model to obtain the encrypted data. The mean operation refers to obtaining the average of the data to be encrypted in the three-dimensional model to be transmitted and the corresponding data in the key three-dimensional model to obtain the encrypted data. The preset function operation refers to bringing the data to be encrypted in the three-dimensional model to be transmitted and the corresponding data in the key three-dimensional model into a preset function to obtain the encrypted data. For example, the preset function is a binary linear function, and the function value is obtained by using the data to be encrypted in the three-dimensional model to be transmitted and the corresponding data in the key three-dimensional model to obtain the encrypted data. Moreover, the encryption algorithm corresponding to each type of data to be encrypted can be the same, different, or each type of data to be encrypted can be assigned a fixed encryption algorithm or a random encryption algorithm and the corresponding relationship is recorded.

[0082] In some embodiments, step S3, encrypting the data to be encrypted by using the data in the key three-dimensional model that is of the same type as the data to be encrypted and the encryption algorithm corresponding to the data to be encrypted, further comprises:

[0083] calculating the encrypted insertion point coordinates based on the insertion point coordinates in the key three-dimensional model, the insertion point coordinates in the three-dimensional model to be transmitted, and the corresponding encryption algorithm, and replacing the insertion point coordinates in the three-dimensional model to be transmitted with the encrypted insertion point coordinates.

[0084] In some embodiments, step S3, encrypting the data to be encrypted by using the data in the key three-dimensional model that is of the same type as the data to be encrypted and the encryption algorithm corresponding to the data to be encrypted, further comprises:

[0085] calculating the encrypted bounding sphere coordinates based on the bounding sphere coordinates in the key three-dimensional model, the bounding sphere coordinates in the three-dimensional model to be transmitted, and the corresponding encryption algorithm, and replacing the bounding sphere coordinates in the three-dimensional model to be transmitted with the encrypted bounding sphere coordinates.

[0086] Specifically, the model insertion point coordinates can be extracted from the key model file and marked as x1, y1, and z1. Then, the model insertion point coordinates are extracted from the three-dimensional model file to be transmitted and marked as X1, Y1, and Z1. Then, the two are encrypted by using the encryption algorithm. For example, when the encryption algorithm is subtraction operation, the difference between the two is encrypted, that is, ΔX = X1 - x1, ΔY = Y1 - y1, and ΔZ = Z1 - z1. Finally, ΔX, ΔY, and ΔZ are written into the three-dimensional model file to be transmitted, replacing X1, Y1, and Z1 in the three-dimensional model file to be transmitted, that is, the encryption of the model insertion point coordinates in the three-dimensional model file to be transmitted is completed.

[0087] The bounding sphere coordinates in the three-dimensional model to be transmitted can be encrypted in the same way.

[0088] In some embodiments, the step S3 of encrypting the data to be encrypted by using the data of the same type as the data to be encrypted in the key three-dimensional model and the encryption algorithm corresponding to the data to be encrypted further comprises:

[0089] calculating the encrypted skeleton file vertex coordinates based on the skeleton file vertex coordinates in the key three-dimensional model, the skeleton file vertex coordinates in the three-dimensional model to be transmitted, and the corresponding encryption algorithm, and replacing the skeleton file vertex coordinates in the three-dimensional model to be transmitted with the encrypted skeleton file vertex coordinates.

[0090] In some embodiments, the step S3 of encrypting the data to be encrypted by using the data of the same type as the data to be encrypted in the key three-dimensional model and the encryption algorithm corresponding to the data to be encrypted further comprises:

[0091] calculating the encrypted material file coordinates based on the material file coordinates in the key three-dimensional model, the material file coordinates in the three-dimensional model to be transmitted, and the corresponding encryption algorithm, and replacing the material file coordinates in the three-dimensional model to be transmitted with the encrypted material file coordinates.

[0092] In some embodiments, the step S3 of encrypting the data to be encrypted by using the data of the same type as the data to be encrypted in the key three-dimensional model and the encryption algorithm corresponding to the data to be encrypted further comprises:

[0093] calculating the encrypted texture file coordinates based on the texture file coordinates in the key three-dimensional model, the texture file coordinates in the three-dimensional model to be transmitted, and the corresponding encryption algorithm, and replacing the texture file coordinates in the three-dimensional model to be transmitted with the encrypted texture file coordinates.

[0094] Specifically, the first array of the skeleton file vertex coordinate value array in the key three-dimensional model file can be recorded as x1, y1, z1, the first array of the skeleton file vertex coordinate value array in the three-dimensional model file to be transmitted can be recorded as X1, Y1, Z1, and then the two arrays are encrypted by using an encryption algorithm. For example, when the encryption algorithm is subtraction operation, the two arrays can be subtracted to encrypt, that is, ΔX = X1- x1, ΔY = Y1- y1, and ΔZ = Z1- z1. Then, ΔX, ΔY, and ΔZ are written into the first array of the skeleton file vertex coordinate value array in the three-dimensional model file to be transmitted, replacing the first array X1, Y1, Z1 of the original skeleton file vertex coordinate value array in the three-dimensional model file to be transmitted, that is, the encryption of the first array of the skeleton file vertex coordinate value array in the three-dimensional model file to be transmitted is completed. Similarly, the second array, the third array, and all arrays of the skeleton file vertex coordinate value array in the three-dimensional model file to be transmitted can be encrypted.

[0095] Similarly, the material file and the texture file coordinate value array in the three-dimensional model to be transmitted can be encrypted.

[0096] In some embodiments, the method further comprises:

[0097] In response to the number of coordinates of the corresponding type in the key three-dimensional model being less than the number of coordinates of the corresponding type in the three-dimensional model to be transmitted, the coordinates of the corresponding type in the key three-dimensional model are used in a loop.

[0098] Specifically, when the number of coordinate value arrays in the key three-dimensional model file is greater than or equal to the number of coordinate value arrays in the three-dimensional model file to be transmitted, the corresponding arrays are encrypted one by one; when the number of coordinate value arrays in the key three-dimensional model file is less than the number of coordinate value arrays in the three-dimensional model file to be transmitted, the coordinate value arrays in the key three-dimensional model file are repeatedly used, that is, the last array is used up and the first array is used to encrypt.

[0099] In some embodiments, the step S3 of encrypting the data to be encrypted by using the data of the same type as the data to be encrypted in the key three-dimensional model and the encryption algorithm corresponding to the data to be encrypted further comprises:

[0100] Based on the pixel value of the texture in the key three-dimensional model, the pixel value of the texture in the three-dimensional model to be transmitted, and the corresponding encryption algorithm, the pixel value of the encrypted texture is calculated, and the pixel value of the texture in the three-dimensional model to be transmitted is set to zero.

[0101] The obtained pixel value of the encrypted texture is written into a newly created encrypted texture file.

[0102] In some embodiments, the pixel value of the encrypted texture is calculated based on the pixel value of the texture in the key three-dimensional model, the pixel value of the texture in the three-dimensional model to be transmitted, and a corresponding encryption algorithm, and further comprising:

[0103] In response to the pixel value of the texture in the key three-dimensional model being all 0 or 255, sequentially using other pixel values that are not all 0 or 255 for encryption.

[0104] Specifically, the r (red component), g (green component), and b (blue component) of each pixel of the texture in the three-dimensional model to be transmitted can be encrypted respectively, and the a (transparency component) is not encrypted. Specifically, the value of the first pixel of the texture in the key three-dimensional model is denoted as r, g, and b, and the value of the first pixel of the texture in the three-dimensional model to be transmitted is denoted as R, G, and B, and then the two are encrypted using an encryption algorithm. For example, when the encryption algorithm is addition operation, the two can be summed for encryption, that is, Σr = r + R, Σg = g + G, and Σb = b + B, and Σr, Σg, and Σb are written into the newly created encrypted texture file of the three-dimensional model to be transmitted, and R, G, and B of the first pixel of the original texture in the three-dimensional model to be transmitted are set to zero, that is, the encryption of the first pixel of the texture of the secret model is completed, and similarly, all pixels are encrypted.

[0105] If the r, g, and b values of a pixel of the texture in the key three-dimensional model are all 0 (black) or all 255 (white), the r, g, and b values of this pixel cannot be used as an encryption key, and only r, g, and b values that are not all zero or not all 255 can be sequentially searched as an encryption key.

[0106] In some embodiments, further comprising:

[0107] In response to the number of pixel values of the texture in the key three-dimensional model being less than the number of pixel values of the texture in the three-dimensional model to be transmitted, the pixel values of the texture in the key three-dimensional model are used in a loop.

[0108] Specifically, when the number of pixel values of the texture in the key three-dimensional model file is greater than or equal to the number of pixel values of the texture in the three-dimensional model file to be transmitted, the corresponding pixel values are encrypted one by one; when the number of pixel values of the texture in the key three-dimensional model file is less than the number of pixel values of the texture in the three-dimensional model file to be transmitted, the pixel values of the texture in the key three-dimensional model file are repeatedly used, that is, the last pixel value is used up and the first pixel value is used for encryption.

[0109] In some embodiments, step S3, using the same type of data in the key three-dimensional model as the type of the data to be encrypted and the encryption algorithm corresponding to the data to be encrypted to encrypt the data to be encrypted, further comprises:

[0110] Based on the encoding of the text in the key three-dimensional model, the encoding of the text in the three-dimensional model to be transmitted, and the corresponding encryption algorithm, the encrypted encoding is calculated, and the text in the three-dimensional model to be transmitted is replaced by the encrypted encoding.

[0111] Specifically, the text of the key three-dimensional model, including letters, numbers, and Chinese characters, can be converted into corresponding ASC codes or zone codes to form a password group, denoted as y1, y2, y3, …, where single-byte characters are converted into ASC codes, and double-byte characters or Chinese characters are converted into zone codes. Then, the text in the three-dimensional model to be transmitted, including letters, numbers, and Chinese characters, is converted into corresponding ASC codes or zone codes, denoted as m1, m2, m3, …, and then encrypted using an encryption algorithm. For example, when the encryption algorithm is addition, the sum of the two can be encrypted, i.e. h1 = m1 + y1, h2 = m2 + y2, h3 = m3 + y3, …; h1, h2, h3, … are written into the secure model, covering the original secure attributes, and the encryption of the secure attributes in the secure model is completed.

[0112] For example, the text of the key three-dimensional model is: "crude oil storage tank …", which is converted into corresponding zone codes: "52135145 2002 1724 2562 …";

[0113] The text in the three-dimensional model to be transmitted is: "5 million cubic meters of reserves …", which is converted into corresponding ASC codes or zone codes: "2002 3331 53 4582 2329 …", where "53" is the ASC code of the single-byte character "5", and the rest are zone codes of double-byte Chinese characters;

[0114] The sum encryption is performed, h1 = 7215, h2 = 8476, h3 = 2055, h4 = 6306, h5 = 4891, …;

[0115] The numbers "7215 8476 2055 6306 4891 ……" are written into the three-dimensional model to be transmitted, covering the original secure attributes "5 million cubic meters of reserves …", i.e. the encryption of the text in the three-dimensional model to be transmitted is completed.

[0116] In some embodiments, further comprising:

[0117] In response to the number of encodings of the text in the key three-dimensional model being less than the number of encodings of the text in the three-dimensional model to be transmitted, the encodings of the text in the key three-dimensional model are used in a loop.

[0118] Specifically, when the number of the encodings of the text in the key three-dimensional model file is greater than or equal to the number of the encodings of the text in the three-dimensional model file to be transmitted, the encryption operation is performed on the encodings of the text one by one; when the number of the encodings of the text in the key three-dimensional model file is less than the number of the encodings of the text in the three-dimensional model file to be transmitted, the encodings of the text in the key three-dimensional model file are reused, that is, the last encoding of the text is used up and the first encoding of the text is used to perform encryption.

[0119] In some embodiments, the step S4 of sending the encrypted three-dimensional model to be transmitted to the receiving end further comprises:

[0120] The received encrypted three-dimensional model to be transmitted is decrypted by the receiving end using the key three-dimensional model and the correspondence between each data to be encrypted and the encryption algorithm.

[0121] Specifically, after the encrypted three-dimensional model to be transmitted is transmitted to the receiving end through the network, the encrypted three-dimensional model to be transmitted includes the file directly generated by the three-dimensional model to be transmitted and the newly created encrypted texture file, and the received encrypted three-dimensional model to be transmitted can be decrypted by the receiving end using the key model and the corresponding encryption algorithm.

[0122] For example, the model insertion point coordinates x1, y1, z1 can be extracted from the key three-dimensional model file, and the model insertion point coordinate difference values ΔX, ΔY, ΔZ can be extracted from the encrypted three-dimensional model file to be transmitted to perform summation decryption, that is, X1= ΔX+ x1, Y1= ΔY+ y1, Z1= ΔZ+ z1, and X1, Y1, Z1 are written into the encrypted three-dimensional model to be transmitted to replace ΔX, ΔY, ΔZ in the received encrypted three-dimensional model to be transmitted, that is, the decryption of the model insertion point coordinates in the received encrypted three-dimensional model to be transmitted is completed.

[0123] Similarly, the encrypted bounding sphere coordinate difference values, the skeleton file vertex coordinates, the material file coordinates, the texture file coordinates, the pixel values of the texture and / or the text in the received encrypted three-dimensional model to be transmitted can be decrypted.

[0124] Compared with the common encryption method, most of which uses fixed keys or various algorithms to form keys, the encryption cannot be decrypted in theory no matter how complex the algorithm is. The scheme provided by the application does not generate key algorithms, but uses a key three-dimensional model for encryption. Since the data structure of each part of the key three-dimensional model is the same as that of each part of the three-dimensional model to be transmitted, a large amount of data in the key three-dimensional model can be used as a key, different encrypted parts use different keys, and the key model is transmitted through an offline secure channel, avoiding the possibility of network leakage. The key model can be replaced at any time, and the encryption method has good security and high confidentiality.

[0125] The encryption method used by the application does not need to develop a special key generation program, and does not need to design a complex key algorithm. Part of the three-dimensional model to be transmitted can be directly selected as the key model, or an independent three-dimensional model unrelated to the three-dimensional model to be transmitted can be selected.

[0126] Based on the same inventive concept, according to another aspect of the application, embodiments of the application also provide a model transmission system 400, as shown in Figure 2 The model transmission system 400 comprises:

[0127] An acquisition module 401 configured to acquire a three-dimensional model to be transmitted and a key three-dimensional model;

[0128] A determination module 402 configured to determine a plurality of encrypted data to be encrypted in the three-dimensional model to be transmitted and an encryption algorithm corresponding to each kind of encrypted data to be encrypted;

[0129] An encryption module 403 configured to encrypt the encrypted data to be encrypted by using data in the key three-dimensional model which is the same as the type of the encrypted data to be encrypted and the encryption algorithm corresponding to the encrypted data to be encrypted;

[0130] A sending module 404 configured to send the encrypted three-dimensional model to be transmitted to a receiving end.

[0131] In some embodiments, the acquisition module 401 is further configured to:

[0132] select a three-dimensional model of a preset size from the three-dimensional model to be transmitted as the key three-dimensional model; or

[0133] acquire another three-dimensional model which does not need to be encrypted as the key three-dimensional model.

[0134] In some embodiments, the determination module 402 is further configured to:

[0135] select one or more of an insertion point coordinate, an enclosing sphere coordinate, a skeleton file vertex coordinate, a material file coordinate, a texture file coordinate, a pixel value of a texture and a text in the three-dimensional model to be transmitted as the encrypted data to be encrypted.

[0136] assigning an encryption algorithm to each kind of data to be encrypted.

[0137] In some embodiments, the determining module 402 is further configured to:

[0138] assigning the same encryption algorithm to each kind of data to be encrypted; or,

[0139] assigning different encryption algorithms to each kind of data to be encrypted and recording the correspondence between each kind of data to be encrypted and the encryption algorithm;

[0140] wherein the encryption algorithm includes addition operation, subtraction operation, mean operation and preset function operation.

[0141] In some embodiments, the encryption module 40 is further configured to:

[0142] calculating encrypted insertion point coordinates based on the insertion point coordinates in the key three-dimensional model, the insertion point coordinates in the three-dimensional model to be transmitted and the corresponding encryption algorithm, and replacing the insertion point coordinates in the three-dimensional model to be transmitted with the encrypted insertion point coordinates.

[0143] In some embodiments, the encryption module 40 is further configured to:

[0144] calculating encrypted bounding sphere coordinates based on the bounding sphere coordinates in the key three-dimensional model, the bounding sphere coordinates in the three-dimensional model to be transmitted and the corresponding encryption algorithm, and replacing the bounding sphere coordinates in the three-dimensional model to be transmitted with the encrypted bounding sphere coordinates.

[0145] In some embodiments, the encryption module 40 is further configured to:

[0146] calculating encrypted skeleton file vertex coordinates based on the skeleton file vertex coordinates in the key three-dimensional model, the skeleton file vertex coordinates in the three-dimensional model to be transmitted and the corresponding encryption algorithm, and replacing the skeleton file vertex coordinates in the three-dimensional model to be transmitted with the encrypted skeleton file vertex coordinates.

[0147] In some embodiments, the encryption module 40 is further configured to:

[0148] calculating encrypted material file coordinates based on the material file coordinates in the key three-dimensional model, the material file coordinates in the three-dimensional model to be transmitted and the corresponding encryption algorithm, and replacing the material file coordinates in the three-dimensional model to be transmitted with the encrypted material file coordinates.

[0149] In some embodiments, the encryption module 40 is further configured to:

[0150] encrypt the texture file coordinates based on the texture file coordinates in the key three-dimensional model, the texture file coordinates in the three-dimensional model to be transmitted, and a corresponding encryption algorithm, and replace the texture file coordinates in the three-dimensional model to be transmitted with the encrypted texture file coordinates.

[0151] In some embodiments, the encryption module 40 is further configured to:

[0152] In response to the number of coordinates of the corresponding type in the key three-dimensional model being less than the number of coordinates of the corresponding type in the three-dimensional model to be transmitted, the coordinates of the corresponding type in the key three-dimensional model are used in a loop.

[0153] In some embodiments, the encryption module 40 is further configured to:

[0154] encrypt the pixel values of the texture based on the pixel values of the texture in the key three-dimensional model, the pixel values of the texture in the three-dimensional model to be transmitted, and a corresponding encryption algorithm, and set the pixel values of the texture in the three-dimensional model to be transmitted to zero;

[0155] write the obtained encrypted pixel values of the texture into a newly created encrypted texture file.

[0156] In some embodiments, the encryption module 40 is further configured to:

[0157] In response to the pixel values of the texture in the key three-dimensional model all being 0 or 255, other pixel values that are not all 0 or 255 are sequentially used for encryption.

[0158] In some embodiments, the encryption module 40 is further configured to:

[0159] In response to the number of pixel values of the texture in the key three-dimensional model being less than the number of pixel values of the texture in the three-dimensional model to be transmitted, the pixel values of the texture in the key three-dimensional model are used in a loop.

[0160] In some embodiments, the encryption module 40 is further configured to:

[0161] encrypt the encoding of the text based on the encoding of the text in the key three-dimensional model, the encoding of the text in the three-dimensional model to be transmitted, and a corresponding encryption algorithm, and replace the text in the three-dimensional model to be transmitted with the encrypted encoding.

[0162] In some embodiments, the encryption module 40 is further configured to:

[0163] In response to the number of encodings of the text in the key three-dimensional model being less than the number of encodings of the text in the three-dimensional model to be transmitted, the encodings of the text in the key three-dimensional model are used in a loop.

[0164] In some embodiments, the method further comprises a decryption module configured to:

[0165] The received encrypted three-dimensional model is decrypted by the receiving end using the key three-dimensional model and the correspondence between each piece of data to be encrypted and the encryption algorithm.

[0166] Based on the same inventive concept, according to another aspect of the present application, as shown in Figure 3 The embodiments of the present application also provide a computer device 501, which comprises:

[0167] at least one processor 520; and

[0168] a memory 510, the memory 510 storing a computer program 511 executable on the processor, the processor 520 executing the program to perform the steps of any of the model transmission methods described above.

[0169] Based on the same inventive concept, according to another aspect of the present application, as shown in Figure 4 The embodiments of the present application also provide a computer readable storage medium 601, which stores computer program instructions 610, the computer program instructions 610 being executed by a processor to perform the steps of any of the model transmission methods described above.

[0170] Finally, it needs to be explained that all or part of the processes in the above-mentioned embodiments can be understood by those skilled in the art as being completed by a computer program instructing related hardware, and the program can be stored in a computer readable storage medium, and when the program is executed, the processes of the above-mentioned embodiments of the methods can be included.

[0171] In addition, it should be understood that the computer readable storage medium (for example, the memory) herein can be a volatile memory or a non-volatile memory, or can include both volatile memory and non-volatile memory.

[0172] Those skilled in the art will also appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the disclosure herein can be implemented as electronic hardware, computer software, or a combination of the two. To clearly illustrate the interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described generally in terms of their functionality. Whether such functionality is implemented as software or hardware depends on the particular application and design constraints imposed on the overall system. Those skilled in the art can implement the functionality in various ways for each particular application, but such implementation decisions do not affect the scope of the present embodiments.

[0173] The above are exemplary embodiments disclosed by the present application, but it should be noted that various changes and modifications can be made without departing from the scope of the embodiments disclosed by the present application defined by the claims. The functions, steps and / or actions of the method claims described herein need not be performed in any particular order. Furthermore, although elements of the embodiments disclosed by the present application can be described or claimed in individual forms, they can also be understood as plural unless explicitly limited to single.

[0174] It should be understood that, as used herein, the singular forms "a", "an" and "the" are intended to include plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" and / or "comprising", or "includes" and / or "including" when used herein, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.

[0175] The above-mentioned embodiment number of the embodiments of the present application is only for description, not representing the advantages or disadvantages of the embodiments.

[0176] Those skilled in the art can understand that all or part of the steps of the above-mentioned embodiments can be completed by hardware, or by program instructing relevant hardware to complete, and the program can be stored in a computer readable storage medium, which can be read-only memory, magnetic disk or optical disk, etc.

[0177] Those skilled in the art should understand that the above discussion of any embodiment is only exemplary, and is not intended to imply that the scope of the embodiments disclosed by the present application (including the claims) is limited to these examples; under the idea of the embodiments of the present application, the above embodiments or technical features in different embodiments can also be combined, and there are many other changes of the different aspects of the embodiments of the present application as above. In order to be brief, they are not provided in details. Therefore, any omission, modification, equivalent replacement, improvement, etc. made in the spirit and principle of the embodiments of the present application shall be included in the protection scope of the embodiments of the present application.

Claims

1. A model transmission method characterized by comprising: The method comprises the following steps: obtaining a to-be-transmitted three-dimensional model and a key three-dimensional model; determining a plurality of to-be-encrypted data in the to-be-transmitted three-dimensional model and an encryption algorithm corresponding to each to-be-encrypted data; encrypting the to-be-encrypted data by using data of the same type as the to-be-encrypted data in the key three-dimensional model and the encryption algorithm corresponding to the to-be-encrypted data, wherein different portions of the key three-dimensional model are used to encrypt different to-be-encrypted data respectively; sending the encrypted to-be-transmitted three-dimensional model to a receiving end; wherein determining the plurality of to-be-encrypted data in the to-be-transmitted three-dimensional model and the encryption algorithm corresponding to each to-be-encrypted data further comprises: taking one or more of the following as the to-be-encrypted data: an insertion point coordinate, an enclosing sphere coordinate, a skeleton file vertex coordinate, a material file coordinate, a texture file coordinate, a pixel value of a texture, and a text in the to-be-transmitted three-dimensional model; assigning an encryption algorithm to each to-be-encrypted data; wherein assigning an encryption algorithm to each to-be-encrypted data further comprises: assigning the same encryption algorithm to each to-be-encrypted data; or assigning different encryption algorithms to each to-be-encrypted data and recording the correspondence between each to-be-encrypted data and the encryption algorithm; wherein the encryption algorithm at least includes addition operation, subtraction operation, mean operation and preset function operation.

2. The method of claim 1, wherein, obtaining the key three-dimensional model further comprises: selecting a three-dimensional model of a preset size from the to-be-transmitted three-dimensional model as the key three-dimensional model; or obtaining another three-dimensional model that does not need to be encrypted as the key three-dimensional model.

3. The method of claim 1, wherein, encrypting the to-be-encrypted data by using data of the same type as the to-be-encrypted data in the key three-dimensional model and the encryption algorithm corresponding to the to-be-encrypted data further comprises: calculating an encrypted insertion point coordinate based on the insertion point coordinate in the key three-dimensional model, the insertion point coordinate in the to-be-transmitted three-dimensional model and the corresponding encryption algorithm, and replacing the insertion point coordinate in the to-be-transmitted three-dimensional model with the encrypted insertion point coordinate.

4. The method of claim 1, wherein, encrypting the to-be-encrypted data by using data of the same type as the to-be-encrypted data in the key three-dimensional model and the encryption algorithm corresponding to the to-be-encrypted data further comprises: calculating an encrypted enclosing sphere coordinate based on the enclosing sphere coordinate in the key three-dimensional model, the enclosing sphere coordinate in the to-be-transmitted three-dimensional model and the corresponding encryption algorithm, and replacing the enclosing sphere coordinate in the to-be-transmitted three-dimensional model with the encrypted enclosing sphere coordinate.

5. The method of claim 1, wherein, encrypting the to-be-encrypted data by using data of the same type as the to-be-encrypted data in the key three-dimensional model and the encryption algorithm corresponding to the to-be-encrypted data further comprises: calculating an encrypted skeleton file vertex coordinate based on the skeleton file vertex coordinate in the key three-dimensional model, the skeleton file vertex coordinate in the to-be-transmitted three-dimensional model and the corresponding encryption algorithm, and replacing the skeleton file vertex coordinate in the to-be-transmitted three-dimensional model with the encrypted skeleton file vertex coordinate.

6. The method of claim 1, wherein, The encryption of the to-be-encrypted data by using the same type of data in the key three-dimensional model as the to-be-encrypted data and the encryption algorithm corresponding to the to-be-encrypted data further comprises: Based on the material file coordinates in the key three-dimensional model, the material file coordinates in the to-be-transmitted three-dimensional model and the corresponding encryption algorithm, the encrypted material file coordinates are calculated, and the material file coordinates in the to-be-transmitted three-dimensional model are replaced by the encrypted material file coordinates.

7. The method of claim 1, wherein, The encryption of the to-be-encrypted data by using the same type of data in the key three-dimensional model as the to-be-encrypted data and the encryption algorithm corresponding to the to-be-encrypted data further comprises: Based on the texture file coordinates in the key three-dimensional model, the texture file coordinates in the to-be-transmitted three-dimensional model and the corresponding encryption algorithm, the encrypted texture file coordinates are calculated, and the texture file coordinates in the to-be-transmitted three-dimensional model are replaced by the encrypted texture file coordinates.

8. The method of any one of claims 3-7, wherein, Further comprising: In response to the number of coordinates of the corresponding type in the key three-dimensional model being less than the number of coordinates of the corresponding type in the to-be-transmitted three-dimensional model, the coordinates of the corresponding type in the key three-dimensional model are used in a loop.

9. The method of claim 1, wherein, The encryption of the to-be-encrypted data by using the same type of data in the key three-dimensional model as the to-be-encrypted data and the encryption algorithm corresponding to the to-be-encrypted data further comprises: Based on the pixel values of the texture in the key three-dimensional model, the pixel values of the texture in the to-be-transmitted three-dimensional model and the corresponding encryption algorithm, the encrypted pixel values of the texture are calculated, and the pixel values of the texture in the to-be-transmitted three-dimensional model are set to zero; The obtained encrypted pixel values of the texture are written into a newly created encrypted texture file.

10. The method of claim 9, wherein, Based on the pixel values of the texture in the key three-dimensional model, the pixel values of the texture in the to-be-transmitted three-dimensional model and the corresponding encryption algorithm, the encrypted pixel values of the texture are calculated, further comprising: In response to the pixel values of the texture in the key three-dimensional model being all 0 or 255, the pixel values other than 0 or 255 are sequentially used for encryption.

11. The method of claim 9, wherein, Further comprising: In response to the number of pixel values of the texture in the key three-dimensional model being less than the number of pixel values of the texture in the to-be-transmitted three-dimensional model, the pixel values of the texture in the key three-dimensional model are used in a loop.

12. The method of claim 1, wherein, The encryption of the to-be-encrypted data by using the same type of data in the key three-dimensional model as the to-be-encrypted data and the encryption algorithm corresponding to the to-be-encrypted data further comprises: Based on the encoding of the text in the key three-dimensional model, the encoding of the text in the to-be-transmitted three-dimensional model and the corresponding encryption algorithm, the encrypted encoding is calculated, and the text in the to-be-transmitted three-dimensional model is replaced by the encrypted encoding.

13. The method of claim 12, wherein, Further comprising: In response to the number of encoding of the text in the key three-dimensional model being less than the number of encoding of the text in the to-be-transmitted three-dimensional model, the encoding of the text in the key three-dimensional model is used in a loop.

14. The method of claim 1, wherein, The encrypted to-be-transmitted three-dimensional model is sent to the receiving end, further comprising: The received encrypted three-dimensional model is decrypted by using the key three-dimensional model and the correspondence between each to-be-encrypted data and the encryption algorithm.

15. A model transmission system characterized by, The method comprises the steps of: obtaining a to-be-transmitted three-dimensional model and a key three-dimensional model; determining a plurality of to-be-encrypted data in the to-be-transmitted three-dimensional model and an encryption algorithm corresponding to each to-be-encrypted data; encrypting the to-be-encrypted data by using data in the key three-dimensional model of the same type as the to-be-encrypted data and the encryption algorithm corresponding to the to-be-encrypted data, wherein different portions of the key three-dimensional model are used to encrypt different to-be-encrypted data respectively; sending the encrypted to-be-transmitted three-dimensional model to a receiving end; the determining module is further configured to: take one or more of an insertion point coordinate, an enclosing sphere coordinate, a skeleton file vertex coordinate, a material file coordinate, a texture file coordinate, a pixel value of a texture and text in the to-be-transmitted three-dimensional model as to-be-encrypted data; assign an encryption algorithm to each to-be-encrypted data; wherein assigning an encryption algorithm to each to-be-encrypted data further comprises: assigning the same encryption algorithm to each to-be-encrypted data; or assigning different encryption algorithms to each to-be-encrypted data and recording the correspondence between each to-be-encrypted data and the encryption algorithm; wherein the encryption algorithm at least comprises addition operation, subtraction operation, mean operation and preset function operation. 16.A computer device, comprising: at least one processor; and a memory storing a computer program executable on the processor, wherein the processor executes the program to perform the steps of the method according to any one of claims 1-14.

17. A computer-readable storage medium, the computer-readable storage medium storing a computer program, characterized in that, The computer program is executed by the processor to perform the steps of the method according to any one of claims 1-14.

Citation Information

Patent Citations

  • Database key management method and device

    CN111639348A

  • Encrypted storage method and system for three-dimensional model

    CN113420317A