CN111797411A - 3D model encryption method, decryption method and transmission method - Google Patents

3D model encryption method, decryption method and transmission method Download PDF

Info

Publication number
CN111797411A
CN111797411A CN202010483558.5A CN202010483558A CN111797411A CN 111797411 A CN111797411 A CN 111797411A CN 202010483558 A CN202010483558 A CN 202010483558A CN 111797411 A CN111797411 A CN 111797411A
Authority
CN
China
Prior art keywords
file
model
decryption
encrypted
code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010483558.5A
Other languages
Chinese (zh)
Other versions
CN111797411B (en
Inventor
李生
魏志强
周义龙
殷波
房子琪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qingdao Hairi Hi Tech Co ltd
Ocean University of China
Qingdao Haier Smart Technology R&D Co Ltd
Original Assignee
Qingdao Hairi High Tech Model Co ltd
Ocean University of China
Qingdao Haier Smart Technology R&D Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qingdao Hairi High Tech Model Co ltd, Ocean University of China, Qingdao Haier Smart Technology R&D Co Ltd filed Critical Qingdao Hairi High Tech Model Co ltd
Priority to CN202010483558.5A priority Critical patent/CN111797411B/en
Publication of CN111797411A publication Critical patent/CN111797411A/en
Application granted granted Critical
Publication of CN111797411B publication Critical patent/CN111797411B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)

Abstract

The application discloses a 3D model encryption method, a decryption method and a transmission method. The 3D model encryption method comprises the following steps: acquiring a 3D model; slicing the 3D model to obtain a G code file; and encrypting the G code file and generating a file for decryption. Compared with the prior art, the 3D model encryption method is safer and more convenient by encrypting the G code.

Description

3D model encryption method, decryption method and transmission method
Technical Field
The invention relates to the field of 3D model encryption, in particular to a 3D model encryption method, a 3D model decryption method, an encryption device, a decryption device and a 3D model transmission method.
Background
The 3D printing technology, as an incremental manufacturing technology, is widely used in the manufacturing industry and has a wide development prospect in the aerospace, medical equipment, and construction industries. With the rise of cloud service platforms, the trend of social and networked services of 'internet plus' 3D printing is increasingly obvious. Therefore, the protection of the data of the online 3D printing and manufacturing model is the key for realizing the intellectual property protection in the online 3D printing and manufacturing mode facing the open public creation.
In the prior art, the 3D model is usually directly encrypted during transmission, and the disadvantages of this method are: the extreme loss or modification of information such as coordinates and indexes in the 3D model is easily caused, so that the original shape of the whole 3D printing model is influenced, and errors can be caused when the information is converted into G codes if errors occur in the encryption process, and the effect of the final printing model is influenced.
Disclosure of Invention
It is an object of the present invention to provide a 3D model encryption method that overcomes or at least alleviates at least one of the above-mentioned disadvantages of the prior art.
In one aspect of the present invention, a 3D model encryption method is provided for a client, where the 3D model encryption method includes:
acquiring a 3D model;
slicing the 3D model to obtain a G code file;
and encrypting the G code file and generating a file for decryption.
Optionally, the encrypting the G code file and generating a file for decryption includes:
generating a G code copy file for the G code file, wherein the G code copy file comprises the same vertex coordinate information as the G code file;
geometrically transforming vertex coordinate information in the G code copy file to generate a first encrypted G code file and a geometrical transformation logic file, wherein the first encrypted G code file comprises first encrypted vertex coordinate information formed by geometrically transforming the vertex coordinate information; the file for decryption includes the geometric transformation logic file.
Optionally, the encrypting the G code file further includes:
performing vertex-to-matrix processing on first encryption vertex coordinate information in a first encryption G code file to form a first matrix, wherein the first matrix comprises the first encryption vertex coordinate information;
generating the random number used for encrypting the first matrix by taking the first key as an input parameter of a random number generation function;
generating an encryption matrix according to the first matrix and a random number generating function, wherein the encryption matrix comprises second encryption vertex coordinate information generated based on the first encryption vertex coordinate information;
replacing the first encrypted vertex coordinate information in the first encrypted G code file with the second encrypted vertex coordinate information to generate a second encrypted G code file; wherein the file for decryption includes a first key.
Optionally, the first key is generated by an MD5 algorithm typed by a user at a client or provided by a server side in response to a client request.
Optionally, the encrypting the G code file further includes:
splitting the second encrypted G code file to form a first subfile group, wherein the first subfile group comprises at least two subfiles, and the subfiles are sorted in a first sorting order;
randomly ordering and recombining each subfile in the first subfile group to generate a second subfile group and an arrangement recovery file, wherein each subfile in the second subfile group is in a second arrangement order; the file for decryption includes a permutation restoration file.
Optionally, the encrypting the G code file further includes:
acquiring a second key, and encrypting the second sub-file group through the second key so as to generate an encrypted second sub-file group; wherein the file for decryption includes a second key.
Optionally, the second key is provided by the client in response to a user request.
Optionally, the obtaining the second key comprises:
the client acquires a user name, a login password and request time registered by a user;
and the client generates the second key through sm3 hash algorithm according to the user name, the login password and the request time.
Optionally, the 3D model encryption method further includes:
and sending the encrypted second sub-file group and simultaneously sending the file for decryption.
Optionally, the 3D model encryption method further includes:
and sending the encrypted second sub-file group and the file for decryption by a time sharing method.
The application also provides a 3D model encryption device, the 3D model encryption device includes: an acquisition module for acquiring a 3D model; the slicing module is used for slicing the 3D model to acquire a G code file; the encryption module is used for encrypting the G code file; and the file generation module for decryption is used for generating a file for decryption.
The application also provides a 3D model decryption method, which is used for a server side, and the 3D model decryption method comprises the following steps:
obtaining a G code file which is sent by a client and encrypted by the 3D model encryption method and a file for decryption;
and decrypting the G code file according to the file for decryption.
Optionally, the encrypted G code file is a first encrypted G code file;
the file for decryption comprises a geometric transformation logic file;
the decrypting the G code file according to the file for decryption includes:
and processing the first encrypted G code file through the geometric transformation logic file to generate a G code copy file, wherein the G code copy file comprises the same vertex coordinate information as the G code file.
Optionally, the encrypted G code file is a second encrypted G code file;
the file for decryption comprises a first key and a geometric transformation logic file;
the decrypting the G code file according to the file for decryption includes:
processing the second encrypted G code file through a first key to generate a first encrypted G code file;
and processing the first encrypted G code file through the geometric transformation logic file to generate a G code copy file, wherein the G code copy file comprises the same vertex coordinate information as the G code file.
Optionally, the encrypted G code file is a second sub file group;
the file for decryption comprises a first key, a geometric transformation logic file and an arrangement recovery file;
the decrypting the G code file according to the file for decryption includes:
splitting and recombining the second sub-file group according to the arrangement recovery file to form the first sub-file group;
packaging the first subfile group to form a second encrypted G code file;
processing the second encrypted G code file through a first key to generate a first encrypted G code file;
and processing the first encrypted G code file through the geometric transformation logic file to generate a G code copy file, wherein the G code copy file comprises the same vertex coordinate information as the G code file.
Optionally, the encrypted G code file is an encrypted second sub-file group;
the file for decryption comprises a first key, a geometric transformation logic text, an arrangement recovery file and a second key;
the decrypting the G code file according to the file for decryption includes:
decrypting the encrypted second sub-file group according to the second key, thereby obtaining a second sub-file group;
splitting and recombining the second sub-file group according to the arrangement recovery file to form the first sub-file group;
packaging the first subfile group to form a second encrypted G code file;
processing the second encrypted G code file through a first key to generate a first encrypted G code file;
and processing the first encrypted G code file through the geometric transformation logic file to generate a G code copy file, wherein the G code copy file comprises the same vertex coordinate information as the G code file.
The application also provides a 3D model decryption device, the 3D model decryption device includes: the acquisition module is used for acquiring the G code file and the file for decryption, which are sent by the server and encrypted by the 3D model encryption method; and the decryption module is used for decrypting the G code file according to the file for decryption.
The application also provides a 3D model transmission method, and the 3D model transmission method comprises the following steps:
the client encrypts the 3D model by the 3D model encryption method to obtain an encrypted G code file and a file for decryption, and sends the encrypted G code file and the file for decryption to the server;
the server side receives the encrypted G code file and the file for decryption sent by the client side, and decrypts the encrypted G code file through the file for decryption;
advantageous effects
The 3D model encryption method is safer and more convenient compared with the prior art by encrypting the G code, and avoids the problem that coordinate and index information are wrong when the 3D model is directly encrypted in the prior art.
Drawings
Fig. 1 is a flowchart illustrating a 3D model encryption method according to a first embodiment of the present invention.
Detailed Description
In order to make the implementation objects, technical solutions and advantages of the present application clearer, the technical solutions in the embodiments of the present application will be described in more detail below with reference to the drawings in the embodiments of the present application. In the drawings, the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The described embodiments are a subset of the embodiments in the present application and not all embodiments in the present application. The embodiments described below with reference to the drawings are exemplary and intended to be used for explaining the present application and should not be construed as limiting the present application. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application. Embodiments of the present application will be described in detail below with reference to the accompanying drawings.
In the description of the present application, it is to be understood that the terms "central," "longitudinal," "lateral," "front," "rear," "left," "right," "vertical," "horizontal," "top," "bottom," "inner," "outer," and the like are used in the orientation or positional relationship indicated in the drawings for convenience in describing the present application and for simplicity in description, and are not intended to indicate or imply that the referenced devices or elements must have a particular orientation, be constructed in a particular orientation, and be operated in a particular manner and are not to be considered limiting of the scope of the present application.
Fig. 1 is a flowchart illustrating a 3D model encryption method according to a first embodiment of the present invention.
The 3D model encryption method shown in fig. 1 is applied to a client, and the 3D model encryption method includes:
step 1: acquiring a 3D model;
step 2: slicing the 3D model to obtain a G code file;
and step 3: the G code file is encrypted and a file for decryption is generated.
Compared with the prior art, the 3D model encryption method is safer and more convenient by encrypting the G code.
In this embodiment, step 3: the encrypting the G code file and generating the file for decryption includes:
step 31: generating a G code copy file for the G code file, wherein the G code copy file comprises vertex coordinate information which is the same as that of the G code file;
step 32: geometrically transforming vertex coordinate information in the G code copy file to generate a first encrypted G code file and a geometrical transformation logic file, wherein the first encrypted G code file comprises first encrypted vertex coordinate information formed by geometrically transforming the vertex coordinate information; the file for decryption includes a geometric transformation logic file.
The method and the device prevent the accuracy of the final 3D model printing from being influenced by destroying information such as coordinates, indexes and the like in the process of encrypting the original G code file, generate a copy G code file for transformation and encryption, are beneficial to protecting the accuracy and integrity of the information in the original G code file, and prevent information loss caused by errors in the encryption process. In this embodiment, step 3: encrypting the G-code file further comprises:
step 33: performing vertex-to-matrix processing on first encryption vertex coordinate information in the first encryption G code file to form a first matrix, wherein the first matrix comprises the first encryption vertex coordinate information;
step 34: generating a random number for encrypting the first matrix by using the first key as an input parameter of a random number generation function;
step 35: generating an encryption matrix according to the first matrix and a random number generation function, wherein the encryption matrix comprises second encryption vertex coordinate information generated based on the first encryption vertex coordinate information;
step 36: replacing the first encrypted vertex coordinate information in the first encrypted G code file with second encrypted vertex coordinate information to generate a second encrypted G code file; wherein the file for decryption includes the first key.
The first encrypted vertex coordinate information in the G code file is subjected to torque matrix processing, and then the matrix is randomly encrypted, so that the coordinates of all vertexes in the original 3D model are blurred to a certain extent, the original 3D printing model is blurred, the confidentiality of the 3D printing model is enhanced through multiple encryption, and the capability of resisting information stealing is improved.
In this embodiment, the first key is generated by the MD5 algorithm entered at the client by the user at the client or provided by the server in response to a client request. When the first key is generated by using the MD5 algorithm which is entered by the user at the client, the user can enter letters or numbers at the client according to the user himself and generate the first key by using the MD5 algorithm, and when the first key is provided by the server in response to a request from the client, the user can give the first key generation job to the server.
In this embodiment, step 3: encrypting the G-code file further comprises:
step 37: splitting the second encrypted G code file to form a first subfile group, wherein the first subfile group comprises at least two subfiles, and the subfiles are sorted in a first sorting order;
step 38: randomly sequencing and recombining the subfiles in the first subfile group to generate a second subfile group and a sequence recovery file, wherein the subfiles in the second subfile group are in a second sequence; the file for decryption includes an arrangement restoration file.
The split and recombined G code files are randomly sequenced and recombined, and are encrypted once again, so that a person who steals information in the transmission process can not decrypt to obtain a real file if the original sequencing information of the subfiles is not mastered even if the person intercepts part of the information.
In this embodiment, step 3: encrypting the G-code file further comprises:
step 39: acquiring a second key, and encrypting the second sub-file group through the second key so as to generate an encrypted second sub-file group; wherein the file for decryption includes the second key.
In the embodiment, the 3D model can be ensured to be safe to the greatest extent through a multiple encryption mode and cannot be stolen by others.
In this embodiment, the second key is provided by the client in response to a user request.
In this embodiment, obtaining the second key includes:
the client acquires a user name, a login password and request time registered by a user;
and the client generates a second key through sm3 hash algorithm according to the user name, the login password and the request time.
The method has the advantages that the sm3 digest is generated by combining the user name, the login password and the request time to serve as the second key, so that the independence and the uniqueness of the file are guaranteed, the one-to-one correspondence with the user is facilitated, the situation that a person stealing information pretends to be that the user steals related files is avoided, and if the person stealing information cannot simultaneously master the user name, the login password and the print request time registered by the user at the client, the second key cannot be obtained, and the stolen encrypted information cannot be decrypted.
In an alternative embodiment, the 3D model encryption method further comprises: and 4, step 4: and sending the encrypted second sub-file group and simultaneously sending the file for decryption.
In this embodiment, the 3D model encryption method further includes: and 4, step 4: and sending the encrypted second sub-file group and the file for decryption by a time sharing method.
The 3D model encryption method can encrypt and transmit the 3D printing model, prevents the model from being illegally intercepted and captured in the transmission process and then carrying out illegal printing, and guarantees the intellectual property of a user.
The application also provides a 3D model decryption method, which is used for the server side, and the 3D model decryption method comprises the following steps:
acquiring a G code file and a file for decryption, which are sent from a server and encrypted by the 3D model encryption method;
and decrypting the G code file according to the file for decryption.
In an alternative embodiment, the encrypted G-code file is a first encrypted G-code file;
the file for decryption comprises a geometric transformation logic file;
decrypting the G code file according to the file for decryption includes:
and processing the first encrypted G code file through a geometric transformation logic file to generate a G code copy file, wherein the G code copy file comprises the same vertex coordinate information as the G code file.
In an alternative embodiment, the encrypted G-code file is a second encrypted G-code file;
the file for decryption comprises a first key and a geometric transformation logic file;
decrypting the G code file according to the file for decryption includes:
processing the second encrypted G code file through the first key to generate a first encrypted G code file;
and processing the first encrypted G code file through the geometric transformation logic file to generate a G code copy file, wherein the G code copy file comprises the same vertex coordinate information as the G code file.
In an alternative embodiment, the encrypted G-code file is a second sub-file group;
the file for decryption comprises a first key, a geometric transformation logic file and an arrangement recovery file;
decrypting the G code file according to the file for decryption includes:
splitting and recombining the second sub-file group according to the arrangement recovery file to form a first sub-file group;
packaging the first subfile group to form a second encrypted G code file;
processing the second encrypted G code file through a first key to generate a first encrypted G code file;
and processing the first encrypted G code file through a geometric transformation logic file to generate a G code copy file, wherein the G code copy file comprises the same vertex coordinate information as the G code file.
In this embodiment, the encrypted G code file is an encrypted second sub-file group;
the file for decryption comprises a first key, a geometric transformation logic text, an arrangement recovery file and a second key;
decrypting the G code file according to the file for decryption includes:
decrypting the encrypted second sub-file group according to a second key, thereby obtaining a second sub-file group;
splitting and recombining the second sub-file group according to the arrangement recovery file to form a first sub-file group;
packaging the first subfile group to form a second encrypted G code file;
processing the second encrypted G code file through a first key to generate a first encrypted G code file;
and processing the first encrypted G code file through the geometric transformation logic file to generate a G code copy file, wherein the G code copy file comprises the same vertex coordinate information as the G code file.
The application also provides a 3D model transmission method, and the 3D model transmission method comprises the following steps:
the client encrypts the 3D model by the 3D model encryption method to obtain an encrypted G code file and a file for decryption, and sends the encrypted G code file and the file for decryption to the server;
the server side receives the encrypted G code file and the file for decryption sent by the client side, and decrypts the encrypted G code file through the file for decryption;
the present application is described in further detail below by way of examples, it being understood that the examples do not constitute any limitation to the present application.
Step 1: acquiring a 3D model, wherein in the embodiment, the 3D model is a 3D triangular mesh model;
step 2: slicing the 3D model to obtain a G code file, wherein the G code file comprises vertex coordinate information of the 3D triangular mesh model;
and step 3: encrypting the G code file and generating a file for decryption, specifically:
step 31: generating a G code copy file for the G code file, wherein the G code copy file comprises vertex coordinate information which is the same as that of the G code file;
step 32: in this embodiment, according to coordinate information xi, yi, zi and an index value i extracted from the G code file, a 3D triangular mesh plane is considered, a vertex of the 3D triangular mesh plane is moved to obtain a vector vi ═ xi, yi, zi }, and the index value i is used to perform geometric transformation on the vector vi ═ ixi, iyi, izi ═ xi ', yi', zi '}, that is, the first encrypted vertex coordinate information in the first encrypted G code file is vi ═ ixi, iyi, izi ═ xi', yi ', zi' }.
Step 33: performing vertex matrix conversion on first encryption vertex coordinate information in the first encryption G code file to form a first matrix, wherein the first matrix comprises the first encryption vertex coordinate information, specifically, constructing a 3 × 3 first matrix A (v 1 ', v 2', v3 ') by grouping three geometrically transformed vertex coordinate information vi', and the first matrix A comprises three vertices v1, v2 and v 3.
Step 34: the first key value is input as a parameter using a random number generation function, and specifically, in the present embodiment, the first key K is input as a seed of the random number generation function F, so as to obtain a random coefficient for encrypting the matrix, and in the present embodiment, the first key K is generated at the client by the MD5 algorithm that the user types at the client.
Step 35: and generating an encryption matrix according to the first matrix and a random number generation function, specifically, multiplying a random number generated by a random number generation function F by a coefficient of the first matrix A to obtain a random number matrix R, and performing geometric transformation according to the random number matrix R and the first matrix A to obtain an encryption matrix A ', wherein the encryption matrix A' comprises second encryption vertex coordinate information generated based on the first encryption vertex coordinate information, and the second encryption vertex coordinate information is si ═ xi, yi, zi }. The details are as follows:
Figure BDA0002518045970000121
Figure BDA0002518045970000122
Figure BDA0002518045970000123
step 36: and replacing the first encrypted vertex coordinate information in the first encrypted G code file with the second encrypted vertex coordinate information to generate a second encrypted G code file.
Step 37: splitting the second encrypted G code file to form a first subfile group, wherein the first subfile group comprises at least two subfiles, and the subfiles are sorted in a first sorting order; in the present embodiment, it is assumed that a first sub-file group C obtained by splitting the second encrypted G-code file into 3 sub-files is { X1, X2, X3} while marking respective sub-file sequence numbers as 123 (first arrangement order).
Step 38: the respective subfiles in the first subfile group are randomly ordered and reorganized to generate a second subfile group and an arrangement restoration file, and specifically, the respective subfiles in the first subfile group C are reordered and reorganized to generate a second subfile group C' { X2, X3, and X1}, where the sequence number of the second subfile group becomes 231 (a second arrangement order), and an arrangement restoration file, that is, a file X is generated, in which the second arrangement order is recorded.
Step 39: the second sub-set of files is encrypted by a second key, thereby generating an encrypted second sub-set of files. In the embodiment, the encryption is performed by adopting an sm4 algorithm, and the second key is generated by a server side in response to a client request through an sm3 hash algorithm according to the user name, the login password and the request time.
And 4, step 4: the encrypted second sub-file set processed in step 39 is transmitted, and the file for decryption is transmitted with a delay.
When decryption is performed, the 3D model decryption method adopted by the application is as follows:
obtaining the encrypted G code file and the file for decryption sent from the server, in this embodiment, the encrypted second sub-file group transmitted in step 4;
and decrypting the G code file according to the file for decryption. In particular, the amount of the solvent to be used,
the file for decryption comprises a first key, a geometric transformation logic text, an arrangement recovery file and a second key;
decrypting the G code file according to the file for decryption includes:
decrypting the encrypted second sub-file group according to the second key, thereby obtaining a second sub-file group; and simultaneously: splitting and recombining the second sub-file group according to the arrangement recovery file to form a first sub-file group;
specifically, after receiving the second sub-file group C ' { X2X 3X 1} and the file X, rearranging C ' in the positive order of the sub-file sequence number 123, combining and restoring the split sub-files in the order of the sequence number 123 to the G-code file set C before encryption { X1X 2X 3}, and extracting the index value i of the 3D printing model and the encrypted plane vertex coordinate information to form a 3 × 3 matrix a '.
Figure BDA0002518045970000131
Acquiring a first secret key K, and processing the second encrypted G code file through the first secret key to generate a first encrypted G code file; specifically, a random number R is generated by a random number generation function F keyed in by a first key K, the generated R is the same as R generated in encryption, and the matrix A is obtained by dividing an encryption transformation matrix A' by a randomization coefficient R and then opening a square root.
Figure BDA0002518045970000132
And processing the first encrypted G code file through the geometric transformation logic file to generate a G code copy file. Specifically, as with the vector transformation of vectors by the encryption process, the encryption process multiplies a matrix by an index value i, and the decryption process restores it by dividing the matrix coefficient by the index value i.
A={v1′,v2′/2,v3′/3};
And finally obtaining the original plane vertex coordinate information vi ═ { xi, yi, zi }, rearranging the decrypted planes to restore the original 3D triangular mesh, thereby obtaining the G code copy file.
The application also provides a 3D model encryption device, the 3D model encryption device comprises an acquisition module, a slicing module, a file generation module for decryption and an encryption module, and the acquisition module is used for acquiring the 3D model; the slicing module is used for slicing the 3D model to acquire a G code file; the encryption module is used for encrypting the G code file; the file generation module for decryption is used for generating a file for decryption.
The application also provides a 3D model decryption device, wherein the 3D model decryption device comprises an acquisition module and a decryption module, and the acquisition module is used for acquiring the G code file which is sent from the server and encrypted by the 3D model encryption method and a file for decryption; and the decryption module is used for decrypting the G code file according to the file for decryption.
The application also provides a 3D model transmission method, and the 3D model transmission method comprises the following steps:
the client encrypts the 3D model by the 3D model encryption method to obtain an encrypted G code file and a file for decryption, and sends the encrypted G code file and the file for decryption to the server;
and the server receives the encrypted G code file and the file for decryption sent by the client, and decrypts the encrypted G code file through the file for decryption.
Although the present application has been described with reference to the preferred embodiments, it is not intended to limit the present application, and those skilled in the art can make variations and modifications without departing from the spirit and scope of the present application.
In a typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include forms of volatile memory in a computer readable medium, Random Access Memory (RAM) and/or non-volatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
Computer-readable media include both non-transitory and non-transitory, removable and non-removable media that implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), Digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device.
As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
Furthermore, it will be obvious that the term "comprising" does not exclude other elements or steps. A plurality of units, modules or devices recited in the device claims may also be implemented by one unit or overall device by software or hardware. The terms first, second, etc. are used to identify names, but not any particular order.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present application. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks identified in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The Processor in this embodiment may be a Central Processing Unit (CPU), other general purpose Processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), an off-the-shelf Programmable Gate Array (FPGA) or other Programmable logic device, a discrete Gate or transistor logic device, a discrete hardware component, and so on. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
The memory may be used to store computer programs and/or modules, and the processor may implement various functions of the apparatus/terminal device by running or executing the computer programs and/or modules stored in the memory, as well as by invoking data stored in the memory. The memory may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application program required by at least one function (such as a sound playing function, an image playing function, etc.), and the like; the storage data area may store data (such as audio data, a phonebook, etc.) created according to the use of the cellular phone, and the like. In addition, the memory may include high speed random access memory, and may also include non-volatile memory, such as a hard disk, a memory, a plug-in hard disk, a Smart Media Card (SMC), a Secure Digital (SD) Card, a Flash memory Card (Flash Card), at least one magnetic disk storage device, a Flash memory device, or other volatile solid state storage device.
In this embodiment, the module/unit integrated with the apparatus/terminal device may be stored in a computer-readable storage medium if it is implemented in the form of a software functional unit and sold or used as a separate product. Based on such understanding, all or part of the flow in the method according to the embodiments of the present invention may also be implemented by a computer program to instruct related hardware, where the computer program may be stored in a computer readable storage medium, and when the computer program is executed by a processor, the computer program may implement the steps of the embodiments of the method. Wherein the computer program comprises computer program code, which may be in the form of source code, object code, an executable file or some intermediate form, etc. The computer readable medium may include: any entity or device capable of carrying computer program code, recording medium, U.S. disk, removable hard disk, magnetic disk, optical disk, computer Memory, Read-Only Memory (ROM), Random Access Memory (RAM), electrical carrier wave signals, telecommunications signals, software distribution media, and the like. It should be noted that the computer readable medium may contain content that is appropriately increased or decreased as required by legislation and patent practice in the jurisdiction.
Although the invention has been described in detail hereinabove with respect to a general description and specific embodiments thereof, it will be apparent to those skilled in the art that modifications or improvements may be made thereto based on the invention. Accordingly, such modifications and improvements are intended to be within the scope of the invention as claimed.

Claims (14)

1. A3D model encryption method is used for a client, and is characterized in that the 3D model encryption method comprises the following steps:
acquiring a 3D model;
slicing the 3D model to obtain a G code file;
and encrypting the G code file and generating a file for decryption.
2. The 3D model encryption method of claim 1, wherein the encrypting the G-code file and generating a file for decryption comprises:
generating a G code copy file for the G code file, wherein the G code copy file comprises the same vertex coordinate information as the G code file;
encrypting the G code copy file in a mode of geometrically transforming vertex coordinate information in the G code copy file to generate a first encrypted G code file and generate a geometrical transformation logic file, wherein the first encrypted G code file comprises first encrypted vertex coordinate information formed by geometrically transforming the vertex coordinate information;
the file for decryption includes the geometric transformation logic file.
3. The 3D model encryption method of claim 2, wherein said encrypting the G-code file further comprises:
performing vertex-to-matrix processing on first encryption vertex coordinate information in a first encryption G code file to form a first matrix, wherein the first matrix comprises the first encryption vertex coordinate information;
generating a random number for encrypting the first matrix by using the first key as an input parameter of a random number generation function;
generating an encryption matrix according to the first matrix and the random number, wherein the encryption matrix comprises second encryption vertex coordinate information generated based on the first encryption vertex coordinate information;
replacing the first encrypted vertex coordinate information in the first encrypted G code file with the second encrypted vertex coordinate information to generate a second encrypted G code file; wherein,
the file for decryption includes a first key.
4. The 3D model encryption method of claim 3, wherein the first key is generated by an MD5 algorithm or provided by a server side in response to a client request.
5. The 3D model encryption method of claim 3, wherein the encrypting the G-code file further comprises:
splitting the second encrypted G code file to form a first subfile group, wherein the first subfile group comprises at least two subfiles, and the subfiles are sorted in a first sorting order;
randomly ordering and recombining each subfile in the first subfile group to generate a second subfile group and an arrangement recovery file, wherein each subfile in the second subfile group is in a second arrangement order;
the file for decryption includes a permutation restoration file.
6. The 3D model encryption method of claim 5, wherein the encrypting the G-code file further comprises:
acquiring a second key, and encrypting the second sub-file group through the second key so as to generate an encrypted second sub-file group; wherein,
the file for decryption includes a second key.
7. The 3D model encryption method of claim 6, wherein the second key is provided by a client in response to a user request.
8. The 3D model encryption method of claim 7, wherein the obtaining a second key comprises:
the client acquires a user name, a login password and request time registered by a user;
and the client generates the second key through sm3 hash algorithm according to the user name, the login password and the request time.
9. The 3D model encryption method of claim 6, wherein the 3D model encryption method further comprises:
and sending the encrypted second sub-file group and simultaneously sending the file for decryption.
10. The 3D model encryption method of claim 6, wherein the 3D model encryption method further comprises:
and sending the encrypted second sub-file group and the decrypted file by a time sharing method.
11. A 3D model encryption apparatus, characterized in that the 3D model encryption apparatus comprises:
an acquisition module for acquiring a 3D model;
the slicing module is used for slicing the 3D model to acquire a G code file;
the encryption module is used for encrypting the G code file;
and the file generation module for decryption is used for generating a file for decryption.
12. A3D model decryption method is used for a client, and the 3D model decryption method comprises the following steps:
acquiring a G code file and a file for decryption, which are sent from a server and encrypted by the 3D model encryption method according to any one of claims 1 to 10;
and decrypting the G code file according to the file for decryption.
13. A 3D model decryption apparatus, characterized in that the 3D model decryption apparatus comprises:
an obtaining module, configured to obtain a G code file and a decryption file, which are sent from a server and encrypted by the 3D model encryption method according to any one of claims 1 to 10;
and the decryption module is used for decrypting the G code file according to the file for decryption.
14. A3D model transmission method, characterized in that the 3D model transmission method comprises:
the client encrypts the 3D model by the 3D model encryption method according to any one of claims 1 to 10 to obtain an encrypted G code file and a file for decryption, and sends the encrypted G code file and the file for decryption to the server;
and the server receives the encrypted G code file and the file for decryption sent by the client, and decrypts the encrypted G code file through the file for decryption.
CN202010483558.5A 2020-06-01 2020-06-01 3D model encryption method and device Active CN111797411B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010483558.5A CN111797411B (en) 2020-06-01 2020-06-01 3D model encryption method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010483558.5A CN111797411B (en) 2020-06-01 2020-06-01 3D model encryption method and device

Publications (2)

Publication Number Publication Date
CN111797411A true CN111797411A (en) 2020-10-20
CN111797411B CN111797411B (en) 2022-07-05

Family

ID=72806618

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010483558.5A Active CN111797411B (en) 2020-06-01 2020-06-01 3D model encryption method and device

Country Status (1)

Country Link
CN (1) CN111797411B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113420317A (en) * 2021-03-20 2021-09-21 贵州北斗空间信息技术有限公司 Encryption storage method and system for three-dimensional model
CN115189962A (en) * 2022-07-25 2022-10-14 中国测绘科学研究院 Geographic data point-to-point transmission method and system based on SM4 algorithm
CN117390684A (en) * 2023-12-06 2024-01-12 深圳市智能派科技有限公司 Data encryption processing method and system based on slice level association

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104780214A (en) * 2015-04-20 2015-07-15 河海大学常州校区 Cloud manufacturing system and method based on cloud computing and three-dimensional printing
CN105471577A (en) * 2015-12-29 2016-04-06 厦门纳网科技股份有限公司 Anti-leakage key encryption method based on 3D modeling
CN105869103A (en) * 2016-03-25 2016-08-17 南京信息职业技术学院 Encryption and decryption method of three-dimensional grid model based on content
CN106113494A (en) * 2016-06-07 2016-11-16 广州紫苑智能科技有限公司 3D Method of printing and 3D printing equipment
CN107368268A (en) * 2017-07-27 2017-11-21 北京矩阵空间科技有限公司 A kind of 3D printer control system for supporting user terminal
CN110321083A (en) * 2018-03-29 2019-10-11 汕头市夸克智能科技有限公司 A kind of intelligence 3D printing service system
CN110515900A (en) * 2019-08-28 2019-11-29 上海欣能信息科技发展有限公司 A kind of storage file structure of electric power three-dimensional data

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104780214A (en) * 2015-04-20 2015-07-15 河海大学常州校区 Cloud manufacturing system and method based on cloud computing and three-dimensional printing
CN105471577A (en) * 2015-12-29 2016-04-06 厦门纳网科技股份有限公司 Anti-leakage key encryption method based on 3D modeling
CN105869103A (en) * 2016-03-25 2016-08-17 南京信息职业技术学院 Encryption and decryption method of three-dimensional grid model based on content
CN106113494A (en) * 2016-06-07 2016-11-16 广州紫苑智能科技有限公司 3D Method of printing and 3D printing equipment
CN107368268A (en) * 2017-07-27 2017-11-21 北京矩阵空间科技有限公司 A kind of 3D printer control system for supporting user terminal
CN110321083A (en) * 2018-03-29 2019-10-11 汕头市夸克智能科技有限公司 A kind of intelligence 3D printing service system
CN110515900A (en) * 2019-08-28 2019-11-29 上海欣能信息科技发展有限公司 A kind of storage file structure of electric power three-dimensional data

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113420317A (en) * 2021-03-20 2021-09-21 贵州北斗空间信息技术有限公司 Encryption storage method and system for three-dimensional model
CN115189962A (en) * 2022-07-25 2022-10-14 中国测绘科学研究院 Geographic data point-to-point transmission method and system based on SM4 algorithm
CN115189962B (en) * 2022-07-25 2024-02-13 中国测绘科学研究院 Geographic data point-by-point transmission method and system based on SM4 algorithm
CN117390684A (en) * 2023-12-06 2024-01-12 深圳市智能派科技有限公司 Data encryption processing method and system based on slice level association
CN117390684B (en) * 2023-12-06 2024-04-09 深圳市智能派科技有限公司 Data encryption processing method and system based on slice level association

Also Published As

Publication number Publication date
CN111797411B (en) 2022-07-05

Similar Documents

Publication Publication Date Title
CN111797411B (en) 3D model encryption method and device
CN110391900B (en) Private key processing method based on SM2 algorithm, terminal and key center
CN110337649B (en) Method and system for dynamic symmetric searchable encryption with imperceptible search patterns
Shankar et al. An efficient image encryption technique based on optimized key generation in ECC using genetic algorithm
US20170163413A1 (en) System and Method for Content Encryption in a Key/Value Store
CN111800257A (en) 3D model encryption transmission method and decryption method
CN109767218B (en) Block chain certificate processing method and system
CN110378138A (en) Data encryption, decryption method and neural network training method and equipment
EP4020265A1 (en) Method and device for storing encrypted data
JP6305638B2 (en) Cryptographic system and key generation device
JP2004336794A (en) Method and apparatus for generation of public key based on user-defined id in cryptosystem
Mohan et al. Secure visual cryptography scheme with meaningful shares
US11658806B2 (en) Identity-based hash proof system configuration apparatus, identity-based encryption apparatus, identity-based hash proof system configuration method and program
CN111404892A (en) Data supervision method and device and server
WO2013136235A1 (en) Byzantine fault tolerance and threshold coin tossing
KR102096359B1 (en) Data transmission apparatus capable of secret key encryption based on involutory matrix and operating method thereof
CN112805704A (en) Method and system for protecting data
EP2286610B1 (en) Techniques for peforming symmetric cryptography
CN112737783B (en) Decryption method and device based on SM2 elliptic curve
WO2020188906A1 (en) Signature device, verification device, signature method, verification method, signature program, and verification program
CN114374518B (en) PSI (program specific information) intersection information acquisition method and device with intersection counting function and storage medium
CN111131270A (en) Data encryption and decryption method and device, electronic equipment and storage medium
JP4130272B2 (en) Transmitting apparatus and method, receiving apparatus and method, and communication system
CN113206739A (en) Key generation method and device for combined public key CPK and storage medium
GB2446200A (en) Encryption system for peer-to-peer networks which relies on hash based self-encryption and mapping

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: No.1, Haier Road, Laoshan District, Qingdao City, Shandong Province 266100

Patentee after: QINGDAO HAIER SMART TECHNOLOGY R&D Co.,Ltd.

Patentee after: Qingdao hairI Hi Tech Co.,Ltd.

Patentee after: OCEAN University OF CHINA

Address before: No.1, Haier Road, Laoshan District, Qingdao City, Shandong Province 266100

Patentee before: QINGDAO HAIER SMART TECHNOLOGY R&D Co.,Ltd.

Patentee before: QINGDAO HAIRI HIGH-TECH MODEL Co.,Ltd.

Patentee before: OCEAN University OF CHINA

CP01 Change in the name or title of a patent holder