Data encryption method and management method, device, system, equipment and medium thereof

Through a data encryption method based on elliptic cryptographic curves and the LT fountain code encoding algorithm, the problem that the Zcash encryption system cannot process large files and cross-server transmissions with high concurrency is solved, and efficient encryption and decryption between multiple servers is achieved.

CN115967574BActive Publication Date: 2025-09-19中移信息技术有限公司 +1
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202211720146.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-30
Publication Date
2025-09-19
Estimated Expiration
2042-12-30

AI Technical Summary

Technical Problem

The Zcash encryption system cannot process large files with high concurrency and cannot perform encrypted transmission between multiple servers.

Method used

The plaintext is encrypted based on the first and second elliptic encryption curves to generate intermediate ciphertext, which is then encoded into encrypted data packets using the LT fountain code encoding algorithm to achieve high-concurrency encryption and decryption between multiple servers.

Benefits of technology

It achieves the ability to encrypt and decrypt large files with high concurrency among multiple servers, improving the efficiency and security of encrypted transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115967574B_ABST
    Figure CN115967574B_ABST
Patent Text Reader

Abstract

The present invention provides a data encryption method and management method, apparatus, system, device, and medium thereof. The method includes: encrypting a first plaintext based on a first elliptic encryption curve to obtain a first intermediate ciphertext; encrypting a second plaintext based on a second elliptic encryption curve to obtain a second intermediate ciphertext; encoding the first intermediate ciphertext to obtain a first encrypted data packet, and encoding the second intermediate ciphertext to obtain a second encrypted data packet; and sending the first encrypted data packet and the second encrypted data packet to other servers. This allows ciphertext to be transmitted and shared between multiple servers in the form of encrypted data packets, enabling high-concurrency encryption and decryption of large files between multiple servers.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of data encryption, and in particular to a data encryption method and management method, apparatus, system, equipment and medium thereof. Background Art

[0002] Zcash's encryption system provides pairing-friendly encryption curve calculation based on the multi-field affine algorithm of elliptic encryption curves, and provides encryption pairing services in the form of an application programming interface to generate the encryption point G1_0 of the elliptic encryption curve G1 and the encryption point G2_0 of the elliptic encryption curve G2, where G1_0 and G2_0 are in a pairing relationship.

[0003] Zcash's encryption system is primarily used for private transactions, protecting them by converting a transaction validity function into a mathematical expression. While robust, it cannot support high concurrency for large files and cannot perform encrypted transmissions between multiple servers. Summary of the Invention

[0004] The embodiments of the present application provide a data encryption method and its management method, apparatus, system, equipment and medium, so that ciphertext can be transmitted and shared in the form of encrypted data packets between multiple servers, and large files can be encrypted and decrypted with high concurrency between multiple servers.

[0005] In a first aspect, an embodiment of the present application provides a data encryption method, applied to a server, the method comprising:

[0006] Encrypting the first plaintext based on the first elliptic encryption curve to obtain a first intermediate ciphertext;

[0007] Encrypting the second plaintext based on the second elliptic encryption curve to obtain a second intermediate ciphertext;

[0008] Encoding the first intermediate ciphertext to obtain a first encrypted data packet, and encoding the second intermediate ciphertext to obtain a second encrypted data packet;

[0009] The first encrypted data packet and the second encrypted data packet are sent to other servers.

[0010] In one possible embodiment, encrypting the first plaintext based on the first elliptic encryption curve to obtain the first intermediate ciphertext includes:

[0011] Based on the first elliptic encryption curve, generating a first encryption point;

[0012] Encrypting the first plaintext based on the first encryption point to obtain a first intermediate ciphertext;

[0013] The first encryption point includes (X A, Y A ), X A Indicates the horizontal coordinate of the first encryption point, Y A Indicates the vertical coordinate of the first encryption point, X A is a prime number;

[0014] The second plaintext is encrypted based on the second elliptic encryption curve to obtain a second intermediate ciphertext, including:

[0015] generating a second encryption point based on a second elliptic encryption curve; encrypting the second plaintext based on the second encryption point to obtain a second intermediate ciphertext;

[0016] The second encryption point includes (X B , Y B ), X B Indicates the horizontal coordinate of the second encryption point, Y B Indicates the ordinate of the second encryption point, X B is a complex number consisting of prime numbers.

[0017] In one possible embodiment, encoding the first intermediate ciphertext to obtain a first encrypted data packet, and encoding the second intermediate ciphertext to obtain a second encrypted data packet, includes:

[0018] Encoding the first intermediate ciphertext based on the LT fountain code encoding algorithm to obtain a first encrypted data packet;

[0019] The second intermediate ciphertext is encoded based on the LT fountain code encoding algorithm to obtain a second encrypted data packet.

[0020] In one possible embodiment, encoding the first intermediate ciphertext based on the LT fountain code encoding algorithm to obtain a first encrypted data packet includes:

[0021] The robust solitary wave distribution is used to randomly select the target degree value;

[0022] Splitting the first intermediate ciphertext into a plurality of first data packets based on the target degree value;

[0023] Calculating an exclusive OR sum of the plurality of first data packets to generate a plurality of first encrypted code packets;

[0024] When the number of the plurality of first encrypted code packets is less than a first preset threshold, adding a first characteristic value of a preset number of bits to generate a first supplementary encrypted code packet;

[0025] A first encrypted data packet is obtained based on the plurality of first encrypted code packets and the first supplementary encrypted code packets.

[0026] In one possible embodiment, encoding the second intermediate ciphertext based on the LT fountain code encoding algorithm to obtain a second encrypted data packet includes:

[0027] The robust solitary wave distribution is used to randomly select the target degree value;

[0028] splitting the second intermediate ciphertext into a plurality of second data packets based on the target degree value;

[0029] Calculating an exclusive OR sum of the plurality of second data packets to generate a plurality of second encrypted code packets;

[0030] When the number of the plurality of second encrypted code packets is less than a second preset threshold, adding the first characteristic value of a preset number of bits to generate a second supplementary encrypted code packet;

[0031] A second encrypted data packet is obtained based on the plurality of second encrypted code packets and the second supplementary encrypted code packet.

[0032] In one possible embodiment, the data encryption method further includes:

[0033] When receiving a first encrypted data packet sent by another server, decoding the first encrypted data packet to obtain a first intermediate ciphertext;

[0034] Obtain a first plaintext according to the first intermediate ciphertext;

[0035] and / or,

[0036] When receiving a second encrypted data packet sent by another server, decoding the second encrypted data packet to obtain a second intermediate ciphertext;

[0037] The second plaintext is obtained according to the second intermediate ciphertext.

[0038] In one possible embodiment, decoding the first encrypted data packet to obtain the first intermediate ciphertext includes:

[0039] Decoding the first encrypted data packet based on at least one of a Gaussian elimination algorithm and a backpropagation algorithm to obtain a first intermediate ciphertext;

[0040] Decode the second encrypted data packet to obtain a second intermediate ciphertext, including:

[0041] The second encrypted data packet is decoded based on at least one of a Gaussian elimination algorithm and a back-propagation algorithm to obtain a second intermediate ciphertext.

[0042] In a second aspect, an embodiment of the present application provides a data encryption management method, which is applied to a data encryption system. The data encryption system includes multiple nodes, each of which includes a server as described above. The server is used to execute any of the data encryption methods described above. The data encryption management method includes:

[0043] At every preset first time interval, selecting a node that generates the first encrypted data packet and / or the second encrypted data packet in the shortest time from the multiple nodes as a block generating node;

[0044] A new block is generated based on the block-producing node, and the new block is used to record at least part of the information of the first encrypted data packet and / or the second encrypted data packet generated by each node.

[0045] In one possible embodiment, the data encryption management method further includes:

[0046] At every preset second time interval, the first encrypted data packet and the second encrypted data packet stored in the node are certified to prove the data integrity of the first encrypted data packet and the second encrypted data packet.

[0047] In a third aspect, an embodiment of the present application provides a data encryption device, which is applied to a server. The data encryption device includes:

[0048] A first macro function module is configured to encrypt the first plaintext based on a first elliptic encryption curve to obtain a first intermediate ciphertext;

[0049] A second macro function module is used to encrypt the second plaintext based on the second elliptic encryption curve to obtain a second intermediate ciphertext;

[0050] an eigenvalue fountain code information encoding module, configured to encode the first intermediate ciphertext to obtain a first encrypted data packet, and to encode the second intermediate ciphertext to obtain a second encrypted data packet;

[0051] The encrypted network transmission module is used to send the first encrypted data packet and the second encrypted data packet to other servers.

[0052] In a fourth aspect, an embodiment of the present application provides a data encryption management device, which is applied to a data encryption system. The data encryption system includes multiple nodes, each of which includes a server as described above. The data encryption management device includes:

[0053] A selection module, configured to select, at a preset first time interval, from a plurality of nodes a node that generates the first encrypted data packet and / or the second encrypted data packet in the shortest time as a block generating node;

[0054] A generation module is used to generate a new block based on the block-producing node, and the new block is used to record at least part of the information of the first encrypted data packet and / or the second encrypted data packet generated by each node.

[0055] In a fifth aspect, an embodiment of the present application provides a data encryption system, which includes multiple nodes, each of which includes a server as described above, and the server is used to execute a data encryption method as described above.

[0056] In a sixth aspect, an embodiment of the present application provides an electronic device, the device comprising:

[0057] a processor and a memory storing computer program instructions;

[0058] When the processor executes the computer program instructions, any one of the above data encryption methods is implemented.

[0059] In a seventh aspect, an embodiment of the present application provides a computer storage medium, on which computer program instructions are stored. When the computer program instructions are executed by a processor, any one of the above-mentioned data encryption methods is implemented.

[0060] In an eighth aspect, an embodiment of the present application provides a computer program product. When the instructions in the computer program product are executed by a processor of an electronic device, the electronic device is able to execute any one of the above-mentioned data encryption methods.

[0061] The data encryption method and management method, apparatus, system, device, and medium of the embodiments of the present application include: encrypting a first plaintext based on a first elliptic encryption curve to obtain a first intermediate ciphertext; encrypting a second plaintext based on a second elliptic encryption curve to obtain a second intermediate ciphertext; encoding the first intermediate ciphertext to obtain a first encrypted data packet, and encoding the second intermediate ciphertext to obtain a second encrypted data packet; and sending the first encrypted data packet and the second encrypted data packet to other servers. Thus, the intermediate ciphertext is encoded in the eigenvalue fountain code information encoding module to obtain an encrypted data packet. Since the ciphertext exists in the form of a fountain code encrypted data packet, the ciphertext can be transmitted and shared between multiple servers in the form of an encrypted data packet, enabling high-concurrency encryption and decryption of large files between multiple servers. BRIEF DESCRIPTION OF THE DRAWINGS

[0062] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0063] Figure 1 This is a flowchart of a data encryption method provided by an embodiment of the present application;

[0064] Figure 2 is a flowchart of a data encryption management method provided by another embodiment of the present application;

[0065] Figure 3 is a structural diagram of a data encryption device provided by yet another embodiment of the present application;

[0066] Figure 4 This is a structural diagram of a data encryption management device provided in yet another embodiment of the present application.

[0067] Figure 5 This is a schematic diagram of the working principle of a data encryption system provided by yet another embodiment of the present application;

[0068] Figure 6 This is a structural diagram of a data encryption device provided in yet another embodiment of the present application. DETAILED DESCRIPTION

[0069] The features and exemplary embodiments of various aspects of the present application will be described in detail below. In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain the present application, rather than to limit the present application. For those skilled in the art, the present application can be implemented without the need for some of these specific details. The following description of the embodiments is merely to provide a better understanding of the present application by illustrating the examples of the present application.

[0070] It should be noted that, in this document, relational terms such as first and second, etc., are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the terms "comprises," "comprising," or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article, or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or device. In the absence of further limitations, the elements defined by the phrase "comprising..." do not exclude the presence of other identical elements in the process, method, article, or device comprising the elements.

[0071] It should be understood that the term "and / or" as used herein is merely a description of the relationship between associated objects, indicating that three possible relationships exist. For example, "A and / or B" can represent: A exists alone, A and B exist simultaneously, or B exists alone. Furthermore, the character " / " in this document generally indicates that the associated objects are in an "or" relationship.

[0072] It will be apparent to those skilled in the art that various modifications and variations can be made in this application without departing from the spirit or scope of this application. Therefore, this application is intended to cover modifications and variations of this application that fall within the scope of the corresponding claims (technical solutions claimed for protection) and their equivalents. It should be noted that the embodiments provided in the examples of this application can be combined with each other without contradiction.

[0073] Zcash's encryption system provides pairing-friendly encryption curve calculation based on the multi-field affine algorithm of elliptic encryption curves, and provides encryption pairing services in the form of an application programming interface to generate the encryption point G1_0 of the elliptic encryption curve G1 and the encryption point G2_0 of the elliptic encryption curve G2, where G1_0 and G2_0 are in a pairing relationship.

[0074] Zcash's encryption system is primarily used for private transactions, protecting them by converting a transaction validity function into a mathematical expression. While robust, it cannot support high-concurrency transactions involving large files of several gigabytes or even tens of gigabytes, nor can it perform encrypted transmissions between multiple servers.

[0075] In order to solve the problems of the prior art, the embodiments of the present application provide a data encryption method and management method, apparatus, system, device and medium thereof.

[0076] Figure 1 This is a flow chart of a data encryption method provided by an embodiment of the present application. Figure 1 As shown, the data encryption method may specifically include the following steps.

[0077] S110 : Encrypt the first plaintext based on a first elliptic encryption curve to obtain a first intermediate ciphertext.

[0078] The first elliptic encryption curve is an encryption curve used to encrypt the first plaintext, and the first intermediate ciphertext is a ciphertext obtained by encrypting the first plaintext.

[0079] In some embodiments, points on the first elliptic encryption curve, a transformation matrix, an exponent, a modulus vector, and an eigenvalue are bound together to output a first intermediate ciphertext.

[0080] S120. Encrypt the second plaintext based on the second elliptic encryption curve to obtain a second intermediate ciphertext.

[0081] The second elliptic encryption curve is an encryption curve used to encrypt the second plaintext, and the second intermediate ciphertext is a ciphertext obtained by encrypting the second plaintext.

[0082] In some embodiments, the points on the second elliptic encryption curve, the transformation matrix, the exponent, the modulus vector, and the eigenvalue are bound together to output a second intermediate ciphertext.

[0083] S130. Encode the first intermediate ciphertext to obtain a first encrypted data packet, and encode the second intermediate ciphertext to obtain a second encrypted data packet.

[0084] The first encrypted data packet is an encrypted data packet obtained by encoding the first intermediate ciphertext, and the second encrypted data packet is an encrypted data packet obtained by encoding the second intermediate ciphertext.

[0085] In some embodiments, an encoding algorithm may be used to encode the first intermediate ciphertext and the second intermediate ciphertext to obtain a first encrypted data packet and a second encrypted data packet.

[0086] S140: Send the first encrypted data packet and the second encrypted data packet to other servers.

[0087] In some embodiments, encrypted data is transmitted between servers in the form of a first encrypted data packet and a second encrypted data packet.

[0088] In this way, the intermediate ciphertext is encoded to obtain an encrypted data packet. Since the ciphertext exists in the form of a fountain code encrypted data packet, the ciphertext can be transmitted and shared between multiple servers in the form of encrypted data packets, and large files can be encrypted and decrypted with high concurrency between multiple servers.

[0089] Based on this, in some embodiments, the above S110 may specifically include:

[0090] Based on the first elliptic encryption curve, generating a first encryption point;

[0091] Encrypting the first plaintext based on the first encryption point to obtain a first intermediate ciphertext;

[0092] The first encryption point includes (X A , Y A ), X A Indicates the horizontal coordinate of the first encryption point, Y A Indicates the vertical coordinate of the first encryption point, X A is a prime number;

[0093] The above S120 may specifically include:

[0094] generating a second encryption point based on a second elliptic encryption curve; encrypting the second plaintext based on the second encryption point to obtain a second intermediate ciphertext;

[0095] The second encryption point includes (X B , Y B ), X BIndicates the horizontal coordinate of the second encryption point, Y B Indicates the ordinate of the second encryption point, X B is a complex number consisting of prime numbers.

[0096] In some embodiments, the first encryption point and the second encryption point satisfy a pairing operation. As an example, if P, Q, and R are elements in the first encryption point and the second encryption point, respectively, then e(P, Q) is an element in GT, and: e(P+R, Q)=e(P, Q)e(R, Q), e(P, Q+R)=e(P, Q)e(P, R), e(aP, bQ)=e(P, Q)ab.

[0097] As an example, in the first elliptic cryptographic curve y 2 =x 3 +4, and has the ability to generate private keys, public keys, and the first encryption point. The first encryption point can encrypt the first plaintext into the first intermediate ciphertext. 2 =x 3 +4(u+1), and has the ability to generate a private key, a public key, and a second encryption point. The second encryption point can encrypt the second plaintext into a second intermediate ciphertext.

[0098] In this way, all plaintexts can be encrypted into intermediate ciphertexts through the encryption point.

[0099] Based on this, in some embodiments, the above S130 may specifically include:

[0100] Encoding the first intermediate ciphertext based on the LT fountain code encoding algorithm to obtain a first encrypted data packet;

[0101] The second intermediate ciphertext is encoded based on the LT fountain code encoding algorithm to obtain a second encrypted data packet.

[0102] In some embodiments, plain text and encryption points are input, information encoding is output based on LT code encoding, and the intermediate ciphertext is encoded to obtain an encrypted data packet.

[0103] In this way, the intermediate ciphertext is encoded based on the LT fountain code encoding algorithm to obtain an encrypted data packet, and the data is encrypted.

[0104] Based on this, in some embodiments, encoding the first intermediate ciphertext based on the LT fountain code encoding algorithm to obtain the first encrypted data packet may include:

[0105] The robust solitary wave distribution is used to randomly select the target degree value;

[0106] Splitting the first intermediate ciphertext into a plurality of first data packets based on the target degree value;

[0107] Calculating an exclusive OR sum of the plurality of first data packets to generate a plurality of first encrypted code packets;

[0108] When the number of the plurality of first encrypted code packets is less than a first preset threshold, adding a first characteristic value of a preset number of bits to generate a first supplementary encrypted code packet;

[0109] A first encrypted data packet is obtained based on the plurality of first encrypted code packets and the first supplementary encrypted code packets.

[0110] In some embodiments, when the number of the plurality of first encrypted coded packets is less than a first preset threshold, a first eigenvalue mixing process is used to combine the plurality of first encrypted coded packets into ciphertext, thereby obtaining a first encrypted data packet.

[0111] In this way, the generated encrypted data packet has the characteristics of high security.

[0112] Based on this, in some embodiments, encoding the second intermediate ciphertext based on the LT fountain code encoding algorithm to obtain a second encrypted data packet may include:

[0113] The robust solitary wave distribution is used to randomly select the target degree value;

[0114] splitting the second intermediate ciphertext into a plurality of second data packets based on the target degree value;

[0115] Calculating an exclusive OR sum of the plurality of second data packets to generate a plurality of second encrypted code packets;

[0116] When the number of the plurality of second encrypted code packets is less than a second preset threshold, adding the first characteristic value of a preset number of bits to generate a second supplementary encrypted code packet;

[0117] A second encrypted data packet is obtained based on the plurality of second encrypted code packets and the second supplementary encrypted code packet.

[0118] In some embodiments, when the number of the plurality of second encrypted code packets is less than a second preset threshold, the first eigenvalue mixing process is used to combine the plurality of second encrypted code packets into ciphertext, thereby obtaining a second encrypted data packet.

[0119] In this way, the generated encrypted data packet has the characteristics of high security.

[0120] Based on this, in some embodiments, the data encryption method may further include:

[0121] When receiving a first encrypted data packet sent by another server, decoding the first encrypted data packet to obtain a first intermediate ciphertext;

[0122] Obtain a first plaintext according to the first intermediate ciphertext;

[0123] and / or,

[0124] When receiving a second encrypted data packet sent by another server, decoding the second encrypted data packet to obtain a second intermediate ciphertext;

[0125] The second plaintext is obtained according to the second intermediate ciphertext.

[0126] In some embodiments, decryption is performed according to the encryption method of the first intermediate ciphertext to obtain the first plaintext.

[0127] In some embodiments, decryption is performed according to the encryption method of the second intermediate ciphertext to obtain the second plaintext.

[0128] In this way, when decryption is needed, the fountain code decoding method is used to decrypt the encrypted data packet and then restore the plaintext.

[0129] Based on this, in some embodiments, decoding the first encrypted data packet to obtain the first intermediate ciphertext may include:

[0130] Decoding the first encrypted data packet based on at least one of a Gaussian elimination algorithm and a backpropagation algorithm to obtain a first intermediate ciphertext;

[0131] Decoding the second encrypted data packet to obtain a second intermediate ciphertext may include:

[0132] The second encrypted data packet is decoded based on at least one of a Gaussian elimination algorithm and a back-propagation algorithm to obtain a second intermediate ciphertext.

[0133] In some embodiments, upon receiving an encrypted data packet, the encrypted data packet is decoupled from the first eigenvalue based on at least one of a Gaussian elimination algorithm and a backpropagation algorithm to obtain an intermediate ciphertext.

[0134] In some embodiments, let S be the message matrix after the original data is fragmented. The encoding process is equivalent to multiplying it by a generator matrix G. Let M be the encoded matrix. The entire encoding process can be expressed as M = SG. The generator matrix G is a K*N matrix randomly generated according to a degree distribution, where K is the LT code length and N is the number of generated code packets.

[0135] In this way, when decryption is required, the encrypted data packet can be decrypted by using at least one of the Gaussian elimination algorithm and the back propagation algorithm to obtain the intermediate ciphertext.

[0136] In some embodiments, when encrypting plaintext, the plaintext, encryption point, and characteristic value are encoded and packaged into an encrypted data packet, and the ciphertext is composed of the encrypted data packet. When decrypting the ciphertext, the ciphertext, encryption point, and characteristic value are decompressed into the encrypted data packet according to a predetermined decoding pattern to obtain the plaintext. The predetermined decoding pattern can be obtained during the encryption process.

[0137] Figure 2 : is a flow chart of a data encryption management method provided by an embodiment of the present application, the data encryption management method is applied to a data encryption system, the data encryption system includes multiple nodes, the nodes include a server as in any of the above embodiments, the server is used to execute the data encryption method as in any of the above embodiments, such as Figure 2 As shown, the data encryption management method may specifically include the following steps.

[0138] S210: At every preset first time interval, select from multiple nodes a node that generates a first encrypted data packet and / or a second encrypted data packet in the shortest time as a block generating node.

[0139] S220: Generate a new block based on the block-producing node, where the new block is used to record at least part of the information of the first encrypted data packet and / or the second encrypted data packet generated by each node.

[0140] Here, the preset first time interval is set in advance and can be changed at any time.

[0141] As an example, the data encryption system uses sampling parameters obtained on-chain to find the sector to be sampled, as well as a random segment of data within the sector. After extracting the data, the node needs to perform a simple calculation, calculate the result, and broadcast it. Once the broadcast is recognized by the main network, the block reward is obtained. This process must be completed within 30 seconds.

[0142] This allows the encrypted data to be quickly verified and calculated.

[0143] Based on this, in some embodiments, the data encryption management method may further include:

[0144] At every preset second time interval, the first encrypted data packet and the second encrypted data packet stored in the node are certified to prove the data integrity of the first encrypted data packet and the second encrypted data packet.

[0145] Here, the preset second time interval is set in advance and can be changed at any time.

[0146] As an example, a proof calculation is performed on sealed data every 30 minutes. Once the calculation is complete, the sealed data is stored on the node and can be read. The proof cycle for all sealed data is one day. This cycle is further divided into 48 windows, each lasting half an hour. Each window requires proof.

[0147] In this way, the integrity of the encrypted data is ensured.

[0148] In some embodiments, when encrypting and decrypting files of several G or tens of G in size, the data encryption system uses encrypted data packet encoding communication and utilizes the data encryption management method provided in the embodiments of the present application to improve encryption performance and speed up file encryption and decryption.

[0149] Generally, encrypting or decrypting several or even dozens of gigabytes using a key takes a long time. In the embodiments provided herein, encrypted data packets are synchronized and cached between servers, allowing encryption and decryption to be performed using the encrypted data packets as a medium, thus achieving a speed boost. The data encryption management method provided in the embodiments of this application forms the main logic for data encryption calculations, improving the speed of encryption calculations and the performance of rapidly verifying encrypted data.

[0150] When encrypting and decrypting files of several gigabytes or tens of gigabytes in size, encrypted data packets are used for encoding communication, which speeds up file encryption and decryption. For plaintext encryption, the plaintext is encrypted using encryption points output by an elliptic cryptographic curve. The encrypted intermediate result is then encoded using a fountain code method and the encrypted data packets are transmitted between servers on the encryption network. The data encryption management method provided by the embodiments of this application achieves high performance, high concurrency, and high security. When decrypting ciphertext, the encrypted data packets in the ciphertext are decoded using a fountain code decoding method. The eigenvalue fountain code module then collaborates with the elliptic cryptographic curve system to decode and restore the plaintext.

[0151] Figure 3 A schematic structural diagram of a data encryption device provided in one embodiment of the present application is shown.

[0152] like Figure 3 As shown, the data encryption device 300 applied to the server provided in the embodiment of the present application includes:

[0153] A first macro function module 310 is configured to encrypt the first plaintext based on a first elliptic encryption curve to obtain a first intermediate ciphertext;

[0154] A second macro function module 320 is configured to encrypt the second plaintext based on a second elliptic encryption curve to obtain a second intermediate ciphertext;

[0155] The eigenvalue fountain code information encoding module 330 is used to encode the first intermediate ciphertext to obtain a first encrypted data packet, and to encode the second intermediate ciphertext to obtain a second encrypted data packet;

[0156] The encrypted network transmission module 340 is configured to send the first encrypted data packet and the second encrypted data packet to other servers.

[0157] Based on this, in some embodiments, the first macro function module 310 is specifically used to:

[0158] Based on the first elliptic encryption curve, generating a first encryption point;

[0159] Encrypting the first plaintext based on the first encryption point to obtain a first intermediate ciphertext;

[0160] The first encryption point includes (X A , Y A ), X A Indicates the horizontal coordinate of the first encryption point, Y A Indicates the vertical coordinate of the first encryption point, X A is a prime number;

[0161] The second macro function module 320 is specifically configured to generate a second encryption point based on a second elliptic encryption curve; encrypt the second plaintext based on the second encryption point to obtain a second intermediate ciphertext;

[0162] The second encryption point includes (X B , Y B ), X B Indicates the horizontal coordinate of the second encryption point, Y B Indicates the ordinate of the second encryption point, X B is a complex number consisting of prime numbers.

[0163] Based on this, in some embodiments, the eigenvalue fountain code information encoding module 330 is specifically used to: encode the first intermediate ciphertext based on the LT fountain code encoding algorithm to obtain a first encrypted data packet; encode the second intermediate ciphertext based on the LT fountain code encoding algorithm to obtain a second encrypted data packet.

[0164] Based on this, in some embodiments, the eigenvalue fountain code information encoding module 330 is specifically configured to perform the following steps:

[0165] The robust solitary wave distribution is used to randomly select the target degree value;

[0166] Splitting the first intermediate ciphertext into a plurality of first data packets based on the target degree value;

[0167] Calculating an exclusive OR sum of the plurality of first data packets to generate a plurality of first encrypted code packets;

[0168] When the number of the plurality of first encrypted code packets is less than a first preset threshold, adding a first characteristic value of a preset number of bits to generate a first supplementary encrypted code packet;

[0169] A first encrypted data packet is obtained based on the plurality of first encrypted code packets and the first supplementary encrypted code packets.

[0170] Based on this, in some embodiments, the eigenvalue fountain code information encoding module 330 is specifically configured to perform the following steps:

[0171] The robust solitary wave distribution is used to randomly select the target degree value;

[0172] splitting the second intermediate ciphertext into a plurality of second data packets based on the target degree value;

[0173] Calculating an exclusive OR sum of the plurality of second data packets to generate a plurality of second encrypted code packets;

[0174] When the number of the plurality of second encrypted code packets is less than a second preset threshold, adding the first characteristic value of a preset number of bits to generate a second supplementary encrypted code packet;

[0175] A second encrypted data packet is obtained based on the plurality of second encrypted code packets and the second supplementary encrypted code packet.

[0176] Based on this, in some embodiments, the apparatus 300 further includes:

[0177] The eigenvalue fountain code information encoding module 330 is further configured to decode the first encrypted data packet to obtain a first intermediate ciphertext when receiving the first encrypted data packet sent by another server;

[0178] The first macro function module 310 is further configured to obtain a first plaintext according to the first intermediate ciphertext;

[0179] The eigenvalue fountain code information encoding module 330 is further configured to decode the second encrypted data packet upon receiving the second encrypted data packet to obtain a second intermediate ciphertext;

[0180] The second macro function module 320 is further configured to obtain a second plaintext according to the second intermediate ciphertext.

[0181] Based on this, in some embodiments, the eigenvalue fountain code information encoding module 330 is specifically used to:

[0182] Decoding the first encrypted data packet based on at least one of a Gaussian elimination algorithm and a backpropagation algorithm to obtain a first intermediate ciphertext;

[0183] The second encrypted data packet is decoded based on at least one of a Gaussian elimination algorithm and a back-propagation algorithm to obtain a second intermediate ciphertext.

[0184] Figure 4 A structural diagram of a data encryption device 400 provided in one embodiment of the present application is shown.

[0185] like Figure 4 As shown, the data encryption device 400 provided in an embodiment of the present application is applied to a data encryption system. The data encryption system includes multiple nodes, and the nodes include the server in the above embodiment. The data encryption management device 400 includes:

[0186] A selection module 410 is configured to select, at a preset first time interval, a node that generates the first encrypted data packet and / or the second encrypted data packet in the shortest time from a plurality of nodes as a block generating node;

[0187] The generation module 420 is used to generate a new block based on the block-producing node, and the new block is used to record at least part of the information of the first encrypted data packet and / or the second encrypted data packet generated by each node.

[0188] In one possible embodiment, the apparatus 400 may further include:

[0189] The certification module is used to certify the first encrypted data packet and the second encrypted data packet stored in the node at every preset second time interval to certify the data integrity of the first encrypted data packet and the second encrypted data packet.

[0190] The data encryption system provided in an embodiment of the present application is introduced below. The data encryption system includes multiple nodes, and the nodes include a server as in any of the above embodiments. The server is used to execute the data encryption method as in any of the above embodiments.

[0191] In the examples provided in this application, Figure 5 As shown in the figure, the data encryption system works as follows: it consists of four modules: the curve_impl_cm_G1 macro function module, the curve_impl_cm_G2 macro function module, the eigenvalue fountain code information encoding module, and the encrypted network transmission module between servers. The macro functions in the encryption system based on the eigenvalue fountain code information encoding macro library are divided into two categories based on their working domains: the curve_impl_cm_G1 macro function and the curve_impl_cm_G2 macro function. Among them, the curve_impl_cm_G1 macro function module is the first macro function, and the curve_impl_cm_G2 macro function is the second macro function. The first macro function module is used to generate an encryption point A based on the first elliptic encryption curve cm_G1, encrypt plaintext 1 based on the encryption point A, and obtain a first intermediate ciphertext. The first intermediate ciphertext is encoded in the eigenvalue fountain code information encoding module based on the LT fountain code encoding algorithm to obtain ciphertext 1. The second macro function module is used to generate an encryption point B based on the second elliptic encryption curve cm_G2, encrypt plaintext 2 based on the encryption point B, and obtain a second intermediate ciphertext. The second intermediate ciphertext is encoded in the eigenvalue fountain code information encoding module based on the LT fountain code encoding algorithm to obtain ciphertext 2. Plaintext 1 is the first plaintext, plaintext 2 is the second plaintext, ciphertext 1 is the first encrypted data packet, ciphertext 2 is the second encrypted data packet, encryption point A is the first encryption point, and encryption point B is the second encryption point.

[0192] It should be noted that the data encryption method provided in the embodiment of the present application can be executed by a data encryption system, or a control module in the data encryption system for executing the data encryption method.

[0193] Based on the same inventive concept, an embodiment of the present application also provides an electronic device.

[0194] Figure 6 A schematic diagram of the hardware structure of the data encryption device provided in an embodiment of the present application is shown.

[0195] The data encryption device may include a processor 601 and a memory 602 storing computer program instructions.

[0196] Specifically, the processor 601 may include a central processing unit (CPU) or an application specific integrated circuit (ASIC), or may be configured to implement one or more integrated circuits of the embodiments of the present application.

[0197] The memory 602 may include a large capacity memory for data or instructions. By way of example and not limitation, the memory 602 may include a hard disk drive (HDD), a floppy disk drive, a flash memory, an optical disk, a magneto-optical disk, a magnetic tape, or a universal serial bus (USB) drive, or a combination of two or more of these. Where appropriate, the memory 602 may include removable or non-removable (or fixed) media. Where appropriate, the memory 602 may be inside or outside the integrated gateway disaster recovery device. In a specific embodiment, the memory 602 is a non-volatile solid-state memory.

[0198] The memory may include a read-only memory (ROM), a random access memory (RAM), a magnetic disk storage medium device, an optical storage medium device, a flash memory device, an electrical, optical or other physical / tangible memory storage device. Thus, generally, the memory includes one or more tangible (non-transitory) computer-readable storage media (e.g., a memory device) encoded with software including computer-executable instructions, and when the software is executed (e.g., by one or more processors), it is operable to perform the operations described with reference to the method according to an aspect of the present disclosure.

[0199] The processor 601 implements any one of the data encryption methods in the above embodiments by reading and executing computer program instructions stored in the memory 602 .

[0200] In one example, the data encryption device may further include a communication interface 603 and a bus 610. Figure 6 As shown, the processor 601, the memory 602, and the communication interface 603 are connected via a bus 610 and communicate with each other.

[0201] The communication interface 603 is mainly used to implement communication between various modules, devices, units and / or equipment in the embodiments of the present application.

[0202] The bus 610 includes hardware, software, or both that couples the components of the data encryption device to each other. By way of example and not limitation, the bus may include an Accelerated Graphics Port (AGP) or other graphics bus, an Extended Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), a Hyper Transport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an InfiniBand interconnect, a Linear Predictive Coding (LPC) bus, a memory bus, a MicroChannel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (Peripheral Component Interconnect-X, PCI-X) bus, a Serial Advanced Technology Attachment (SATA) bus, a Video Electronics Standards Association Local Bus (VESA Local Bus, VLB) bus, or other suitable buses, or a combination of two or more of these. Where appropriate, the bus 610 may include one or more buses. Although the embodiments of the present application describe and illustrate a specific bus, the present application contemplates any suitable bus or interconnect. The electronic device can execute the data encryption method of the embodiment of the present invention, thereby achieving Figure 1 and Figure 2 Described data encryption method and data encryption management method.

[0203] In addition, in conjunction with the data encryption method and data encryption management method in the above embodiments, embodiments of the present application may provide a computer storage medium for implementation. The computer storage medium stores computer program instructions; when the computer program instructions are executed by a processor, any one of the data encryption method or data encryption management method in the above embodiments is implemented.

[0204] The present application also provides a computer program product. When the instructions in the computer program product are executed by a processor of an electronic device, the electronic device executes the various processes of implementing any one of the above-mentioned data encryption methods or data encryption management method embodiments.

[0205] It should be understood that the present application is not limited to the specific configurations and processes described above and illustrated in the figures. For the sake of brevity, a detailed description of known methods is omitted here. In the above embodiments, several specific steps are described and illustrated as examples. However, the method process of the present application is not limited to the specific steps described and illustrated. Those skilled in the art can make various changes, modifications, and additions, or change the order of the steps after understanding the spirit of the present application.

[0206] The functional blocks shown in the above-described block diagram can be implemented as hardware, software, firmware or a combination thereof. When implemented in hardware, they can be, for example, electronic circuits, application specific integrated circuits (ASICs), appropriate firmware, plug-ins, function cards, etc. When implemented in software, the elements of the present application are programs or code segments used to perform the required tasks. The programs or code segments can be stored in a machine-readable medium, or transmitted on a transmission medium or communication link via a data signal carried in a carrier wave. "Machine-readable medium" can include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, read-only memories (ROMs), flash memories, erasable read-only memories (EROMs), floppy disks, compact disc read-only memories (CD-ROMs), optical discs, hard disks, optical fiber media, radio frequency (RF) links, etc. The code segments can be downloaded via computer networks such as the Internet and intranets.

[0207] It should also be noted that the exemplary embodiments mentioned in this application describe some methods or systems based on a series of steps or devices. However, this application is not limited to the order of the above steps. In other words, the steps can be performed in the order mentioned in the embodiments, or in a different order, or several steps can be performed simultaneously.

[0208] Aspects of the present disclosure have been described above with reference to the flowcharts and / or block diagrams of the methods, devices (systems) and computer program products according to the embodiments of the present disclosure. It should be understood that each box in the flowchart and / or block diagram and the combination of each box in the flowchart and / or block diagram can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer or other programmable data processing device to produce a machine so that these instructions executed by the processor of the computer or other programmable data processing device enable the implementation of the function / action specified in one or more boxes of the flowchart and / or block diagram. Such a processor can be, but is not limited to, a general-purpose processor, a special-purpose processor, a special application processor or a field programmable logic circuit. It is also understood that each box in the block diagram and / or flowchart and the combination of the boxes in the block diagram and / or flowchart can also be implemented by dedicated hardware that performs the specified function or action, or can be implemented by a combination of dedicated hardware and computer instructions.

[0209] The above is only a specific implementation method of the present application. Those skilled in the art can clearly understand that for the convenience and brevity of description, the specific working processes of the systems, modules and units described above can refer to the corresponding processes in the aforementioned method embodiments, and will not be repeated here. It should be understood that the scope of protection of the present application is not limited to this. Any technician familiar with this technical field can easily think of various equivalent modifications or replacements within the technical scope disclosed in this application, and these modifications or replacements should be included in the scope of protection of this application.

Claims

1. A data encryption method, characterized in that: The data encryption method is applied to a server, and the data encryption method includes: Encrypting the first plaintext based on the first elliptic encryption curve to obtain a first intermediate ciphertext; Encrypting the second plaintext based on the second elliptic encryption curve to obtain a second intermediate ciphertext; Encoding the first intermediate ciphertext to obtain a first encrypted data packet, and encoding the second intermediate ciphertext to obtain a second encrypted data packet; Sending the first encrypted data packet and the second encrypted data packet to other servers; The encoding of the first intermediate ciphertext to obtain a first encrypted data packet includes: encoding the first intermediate ciphertext based on an LT fountain code encoding algorithm to obtain a first encrypted data packet; The encoding of the first intermediate ciphertext based on the LT fountain code encoding algorithm to obtain a first encrypted data packet includes: using a robust solitary wave distribution to randomly select a target degree value; splitting the first intermediate ciphertext into multiple first data packets based on the target degree value; calculating the exclusive OR sum of the multiple first data packets to generate multiple first encrypted code packets; when the number of the multiple first encrypted code packets is less than a first preset threshold, adding a first eigenvalue with a preset number of bits to generate a first supplementary encrypted code packet; and obtaining a first encrypted data packet based on the multiple first encrypted code packets and the first supplementary encrypted code packet.

2. The data encryption method according to claim 1, wherein: Encrypting the first plaintext based on the first elliptic encryption curve to obtain a first intermediate ciphertext includes: generating a first encryption point based on the first elliptic encryption curve; Encrypting the first plaintext based on the first encryption point to obtain a first intermediate ciphertext; The first encryption point includes (X A , Y A ), X A Indicates the horizontal coordinate of the first encryption point, Y A Indicates the vertical coordinate of the first encryption point, X A is a prime number; Encrypting the second plaintext based on the second elliptic encryption curve to obtain a second intermediate ciphertext includes: generating a second encryption point based on the second elliptic encryption curve; encrypting the second plaintext based on the second encryption point to obtain a second intermediate ciphertext; The second encryption point includes (X B , Y B ), X B Indicates the horizontal coordinate of the second encryption point, Y B Indicates the ordinate of the second encryption point, X B is a complex number consisting of prime numbers.

3. The data encryption method according to claim 1, wherein: The encoding of the second intermediate ciphertext to obtain a second encrypted data packet includes: The second intermediate ciphertext is encoded based on the LT fountain code encoding algorithm to obtain a second encrypted data packet.

4. The data encryption method according to claim 3, wherein: The encoding of the second intermediate ciphertext based on the LT fountain code encoding algorithm to obtain a second encrypted data packet includes: The robust solitary wave distribution is used to randomly select the target degree value; splitting the second intermediate ciphertext into a plurality of second data packets based on the target degree value; Calculating an exclusive OR sum of the plurality of second data packets to generate a plurality of second encrypted coded packets; When the number of the plurality of second encrypted code packets is less than a second preset threshold, adding the first characteristic value of a preset number of bits to generate a second supplementary encrypted code packet; A second encrypted data packet is obtained based on the plurality of second encrypted encoded packets and the second supplementary encrypted encoded packet.

5. The data encryption method according to claim 1, wherein: The data encryption method further includes: When receiving the first encrypted data packet sent by another server, decoding the first encrypted data packet to obtain the first intermediate ciphertext; Obtaining the first plaintext according to the first intermediate ciphertext; and / or, When receiving the second encrypted data packet sent by the other server, decoding the second encrypted data packet to obtain the second intermediate ciphertext; The second plaintext is obtained according to the second intermediate ciphertext.

6. The data encryption method according to claim 5, characterized in that: The decoding the first encrypted data packet to obtain the first intermediate ciphertext includes: Decoding the first encrypted data packet based on at least one of a Gaussian elimination algorithm and a backpropagation algorithm to obtain the first intermediate ciphertext; The decoding the second encrypted data packet to obtain the second intermediate ciphertext includes: The second encrypted data packet is decoded based on at least one of the Gaussian elimination algorithm and the back-propagation algorithm to obtain the second intermediate ciphertext.

7. A data encryption management method, characterized in that: The data encryption management method is applied to a data encryption system, the data encryption system including a plurality of nodes, the nodes including a server according to any one of claims 1 to 6, the server being configured to execute the data encryption method according to any one of claims 1 to 6, the data encryption management method including: At every preset first time interval, selecting a node that generates the first encrypted data packet and / or the second encrypted data packet in the shortest time from the multiple nodes as a block generating node; A new block is generated based on the block-producing node, and the new block is used to record at least part of the information of the first encrypted data packet and / or the second encrypted data packet generated by each node.

8. The data encryption management method according to claim 7, characterized in that: The data encryption management method further includes: At every preset second time interval, the first encrypted data packet and the second encrypted data packet stored in the node are certified to prove the data integrity of the first encrypted data packet and the second encrypted data packet.

9. A data encryption device, characterized in that: The data encryption device is applied to a server, and the data encryption device includes: A first macro function module is configured to encrypt the first plaintext based on a first elliptic encryption curve to obtain a first intermediate ciphertext; A second macro function module is used to encrypt the second plaintext based on the second elliptic encryption curve to obtain a second intermediate ciphertext; an eigenvalue fountain code information encoding module, configured to encode the first intermediate ciphertext to obtain a first encrypted data packet, and to encode the second intermediate ciphertext to obtain a second encrypted data packet; An encrypted network transmission module, configured to send the first encrypted data packet and the second encrypted data packet to other servers; The eigenvalue fountain code information encoding module is further configured to encode the first intermediate ciphertext based on the LT fountain code encoding algorithm to obtain a first encrypted data packet; The eigenvalue fountain code information encoding module is further configured to employ a robust solitary wave distribution to randomly select a target degree value; based on the target degree value, split the first intermediate ciphertext into a plurality of first data packets; calculate an exclusive OR sum of the plurality of first data packets to generate a plurality of first encrypted coded packets; when the number of the plurality of first encrypted coded packets is less than a first preset threshold, add a first eigenvalue having a preset number of bits to generate a first supplementary encrypted coded packet; and obtain a first encrypted data packet based on the plurality of first encrypted coded packets and the first supplementary encrypted coded packet.

10. A data encryption management device, characterized in that: The data encryption management device is applied to a data encryption system, the data encryption system including a plurality of nodes, the nodes including a server according to any one of claims 1 to 6, and the data encryption management device including: a selection module, configured to select, at a preset first time interval, from the plurality of nodes a node that generates the first encrypted data packet and / or the second encrypted data packet in the shortest time as a block generating node; A generation module is used to generate a new block based on the block-producing node, and the new block is used to record at least part of the information of the first encrypted data packet and / or the second encrypted data packet generated by each node.

11. A data encryption system, characterized in that: The data encryption system includes a plurality of nodes, wherein the nodes include a server according to any one of claims 1 to 6, and the server is configured to execute the data encryption method according to any one of claims 1 to 6.

12. An electronic device, characterized in that: The electronic device includes: a processor, a memory, and a computer program stored in the memory and executable on the processor. When the computer program is executed by the processor, the steps of the data encryption method according to any one of claims 1 to 6 or the data encryption management method according to claim 7 or 8 are implemented.

13. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, which, when executed by a processor, implements the steps of the data encryption method according to any one of claims 1 to 6 or the data encryption management method according to claim 7 or 8.

Citation Information

Patent Citations

  • Method and system for combining re-encryption and block chain

    CN111222155A