Data transmission method, device, electronic device and storage medium

The multi-form encryption mechanism addresses the limitations of existing quasi-form encryption by enabling secure data transmission among multiple providers using shared encryption keys, enhancing data security and preventing leakage through distributed key management.

JP7627362B2Active Publication Date: 2025-02-05JINGDONG TECH HLDG CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2023560083
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-04-06
Filing Date
2022-04-02
Publication Date
2025-02-05
Estimated Expiration
2042-04-02

AI Technical Summary

Technical Problem

Existing quasi-form encryption technologies are limited in scope and cannot efficiently handle multiple data providers using different encryption keys, leading to potential data leakage and security vulnerabilities.

Method used

A multi-form encryption mechanism is introduced, allowing multiple data providers to share and utilize encryption public keys and secret key fragments to encrypt and decrypt data securely, using a hierarchical quasi-form encryption algorithm based on the Learning with Errors (LWE) problem, ensuring data safety through distributed key management.

Benefits of technology

This approach expands the applicability of quasi-form encryption, enhances data security by preventing information leakage, and improves data safety through secure multi-party computation and distributed decryption key administration.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007627362000058
    Figure 0007627362000058
  • Figure 0007627362000059
    Figure 0007627362000059
  • Figure 0007627362000060
    Figure 0007627362000060
Patent Text Reader

Abstract

The present application proposes a data transmission method and device, which includes the steps of: generating a private key fragment, an encryption public key, and an evaluation public key of a data providing side itself; encrypting local data using the encryption public key to generate ciphertext data and sending it to a data using side; receiving the ciphertext calculation result sent from the data using side, in which the ciphertext calculation result is determined by the data using side based on the evaluation public key and the received ciphertext data; and decrypting the ciphertext calculation result using the private key fragment to obtain plaintext data.
Need to check novelty before this filing date? Find Prior Art

Description

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application is filed based on and claims priority to a Chinese patent application bearing application number 202110368291.X and filing date April 6, 2021, the entire contents of which are incorporated herein by reference. [Technical field]

[0002] The present application relates to the field of data processing, and in particular to a data transmission method, device, electronic device and storage medium. [Background technology]

[0003] Homomorphic encryption allows the calculation of encrypted ciphertext data, and can protect the security of data while using the data. In the related art, homomorphic encryption only supports the calculation of ciphertext data encrypted with one encryption key, and cannot jointly calculate multiple ciphertext data encrypted with different encryption keys, which limits the usage scenarios of homomorphic encryption. Summary of the Invention

[0004] The present application aims to at least partially solve one of the technical problems in the related art. To this end, one objective of the present application is to establish a multi-party homomorphic encryption mechanism that can realize the objective of homomorphic encryption of encrypted data of multiple data providing parties and expand the use scenarios of homomorphic encryption.

[0005] A first object of the present application is to propose a data transmission method.

[0006] A second object of the present application is to propose an alternative method of data transmission.

[0007] A third object of the present application is to propose a data transmission device.

[0008] A fourth object of the present application is to propose an alternative data transmission device.

[0009] A fifth object of the present application is to propose an electronic device.

[0010] A sixth object of the present application is to propose a computer readable storage medium.

[0011] In order to achieve the above object, an embodiment of the first aspect of the present application proposes a data transmission method applied to a data providing side, the method including: generating an encryption public key and an evaluation public key through interaction with other data providing sides; encrypting local data using the encryption public key to generate ciphertext data and sending it to a data using side; receiving a ciphertext calculation result sent from the data using side, where the ciphertext calculation result is determined by the data using side based on the evaluation public key and the received ciphertext data; and decrypting the ciphertext calculation result using a private key fragment of the data providing side itself to obtain plaintext data.

[0012] In order to achieve the above object, an embodiment of the second aspect of the present application proposes a data transmission method applied to a data using side, the method including: receiving ciphertext data sent from each data providing side; encrypting and calculating each ciphertext data using an evaluation public key to obtain a ciphertext calculation result; and sending the ciphertext calculation result to each data providing side respectively for decryption.

[0013] In order to achieve the above-mentioned object, an embodiment of the third aspect of the present application proposes a data transmission device applied to a data providing side, which includes: an encryption key generation module for generating an encryption public key and an evaluation public key through interaction with other data providing sides; an encryption module for encrypting local data using the encryption public key to generate ciphertext data and sending it to a data using side; a receiving module for receiving a ciphertext calculation result sent from the data using side, where the ciphertext calculation result is determined by the data using side based on the evaluation public key and the received ciphertext data; and a decryption module for decrypting the ciphertext calculation result using a private key fragment of the data providing side itself to obtain plaintext data.

[0014] In order to achieve the above object, an embodiment of the fourth aspect of the present application proposes a data transmission device applied to a data using side, the device comprising: a receiving module for receiving ciphertext data sent from each data providing side; an encryption module for encrypting and calculating each ciphertext data using an evaluation public key to obtain a ciphertext calculation result; and a transmitting module for respectively transmitting the ciphertext calculation result to each data providing side for decryption.

[0015] In order to achieve the above object, an embodiment of a fifth aspect of the present application proposes an electronic device, comprising a processor and a memory, wherein the processor reads executable program code stored in the memory and executes a program corresponding to the executable program code so as to realize the data transmission method provided in the above aspect.

[0016] In order to achieve the above object, an embodiment of a sixth aspect of the present application proposes a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, realises the data transmission method provided in the above aspect. Effect of the Invention

[0017] The data transmission method and device provided by the present application establish a multi-party homomorphic encryption mechanism, realize the objective of homomorphic encryption calculation of encrypted data of multiple data providers, and can expand the use scenarios of homomorphic encryption. In addition, a secure multi-party calculation technology based on homomorphic encryption is proposed to improve data security. By transmitting data based on the homomorphic encryption algorithm, the security of data of the data provider can be protected and information leakage of the data provider can be prevented. In addition, the security of data can be improved by distributing and managing the decryption private keys of multiple data providers.

[0018] Additional aspects and advantages of the disclosure will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of the disclosure. [Brief description of the drawings]

[0019] [Figure 1] FIG. 2 is a schematic diagram of an application scenario of the data transmission method provided by the present application; [Diagram 2] 1 is a schematic flowchart of a data transmission method provided by an embodiment of the present application; [Diagram 3] 4 is a schematic flowchart of a cryptographic key generating method provided by another embodiment of the present application; [Figure 4] 4 is a schematic flowchart of a data transmission method provided by another embodiment of the present application; [Diagram 5] 4 is a schematic flowchart of a data transmission method provided by another embodiment of the present application; [Figure 6] 4 is a schematic flowchart of a data transmission method provided by another embodiment of the present application; [Figure 7] 4 is a schematic flowchart of a data transmission method provided by another embodiment of the present application; [Figure 8] FIG. 2 is a schematic diagram of an application of a data transmission method provided by an embodiment of the present application; [Figure 9]1 is a schematic configuration diagram of a data transmission device provided by an embodiment of the present application; [Figure 10] FIG. 2 is a schematic configuration diagram of a data transmission device provided by another embodiment of the present application. [Figure 11] FIG. 2 is a schematic configuration diagram of a data transmission device provided by another embodiment of the present application. [Figure 12] 1 is a schematic configuration diagram of an electronic device provided according to an embodiment of the present application. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0020] The embodiments of the present disclosure will be described in detail below, and examples of the embodiments are shown in the drawings. Here, the same or similar reference numerals throughout indicate the same or similar elements or elements having the same or similar functions. The embodiments described below with reference to the accompanying drawings are illustrative and are for explaining the present disclosure, and should not be understood as limiting the present disclosure.

[0021] Illustratively, Fig. 1 is a schematic diagram of an application scenario of the data transmission method provided by the present application. As shown in Fig. 1, the application scenario may include at least one data providing end (three data providing ends, namely data providing end 111, data providing end 112 and data providing end 113, are shown in Fig. 1), a network 12 and a data using end 13. Here, each data providing end and the data using end 13 can communicate with each other via the network 12. Each data providing end can communicate with each other via the network 12.

[0022] It should be noted that Fig. 1 is only a schematic diagram of an application scenario provided by an embodiment of the present application, and the embodiment of the present application does not limit the devices included in Fig. 1, nor does it limit the positional relationship between the devices in Fig. 1. For example, the application scenario shown in Fig. 1 may further include a data storage device, which may be an external memory to the data providing side and the data using side 13, or an internal memory integrated therein.

[0023] The technical solutions of the present application are described in detail below through specific examples, in which some of the specific examples can be combined with each other, and the same or similar concepts or processes may be omitted in some examples.

[0024] 2 is a schematic flowchart of a data transmission method provided by an embodiment of the present application. As shown in FIG. 2, the execution subject is a data provider, which may be an electronic device having multiple data of users, such as an e-commerce server, a social server, or a communication server.

[0025] As shown in FIG. 2, the data transmission method includes the following steps S201 to S204.

[0026] In step S201, the data provider generates a private key fragment of its own, an encryption public key, and an evaluation public key.

[0027] In the embodiment of the present disclosure, a data providing side generates its own private key fragment, and an encryption public key and an evaluation public key by a manner of interaction and cooperation between the data providing side and the other data providing side. In some implementations, the data providing side can obtain its own encryption key generation parameters, where the encryption key generation parameters include a common parameter and a common random number. Furthermore, the data providing side generates its own private key fragment, and a part of the content of the encryption public key fragment and the evaluation public key based on its own encryption key generation parameters, and interacts with the other data providing side to share a part of the content of its own encryption public key fragment and the evaluation public key with the other data providing side. In response, the other data providing side also shares a part of the content of its own encryption public key fragment and the evaluation public key. After obtaining the encryption public key fragment of the other data providing side, the data providing side can obtain the encryption public key, and similarly, after obtaining a part of the content of the evaluation public key, the data providing side can also obtain the evaluation public key. Here, the other data providing side may be the same type of server as the data providing side as the execution subject, or may be a different type of server. Each data provider all participates in the calculation of the encryption public key and the evaluation public key, and a multi-party homomorphic encryption mechanism is established to achieve the purpose of homomorphically encrypting data for multiple data providers.

[0028] In step S202, the local data is encrypted using the encryption public key to generate ciphertext data, which is then transmitted to the data user.

[0029] When multiple data providers need to provide data at the same time, in order to avoid data leakage or theft of the data providers, in the embodiment of the present disclosure, the data providers need to encrypt their own local data using an encryption public key to generate ciphertext data. After the ciphertext data is generated, the data providers send the ciphertext data to the data consumers. In response, the data consumers can receive the ciphertext data sent by the multiple data providers. With the purpose of encrypting their own local data with an encryption public key, only the data providers know their own data, and other data providers can obtain this data, so that the data of each data provider can have high security and data leakage can be avoided.

[0030] Continuing with the scenario of Fig. 1 as an example, the data providing side 111 encrypts local data u1 using the encryption public key to generate ciphertext data ct1, the data providing side 112 encrypts local data u2 using the encryption public key to generate ciphertext data ct2, and the data providing side 113 encrypts local data u3 using the encryption public key to generate ciphertext data ct3. The data using side 13 can receive each ciphertext data sent from each data providing side.

[0031] In step S203, a ciphertext calculation result sent from the data user is received, where the ciphertext calculation result is determined by the data user based on the evaluation public key and the received ciphertext data.

[0032] After receiving the ciphertext data transmitted from each data providing side, the data using side encrypts the ciphertext data based on the evaluation public key to generate a ciphertext calculation result, and then transmits the ciphertext calculation result to each data providing side.

[0033] In response, the data providing side can receive the ciphertext calculation result sent from the data using side.

[0034] In step S204, the ciphertext calculation result is decrypted using the private key fragment to obtain plaintext data.

[0035] In order to ensure the security of each data provider's own data, in the embodiment of the present disclosure, each data provider cannot directly obtain the complete private key, but has a part of the content of the private key, that is, a private key fragment. After the ciphertext calculation result is obtained, the data provider can use its own private key fragment to decrypt the ciphertext calculation result to obtain the plaintext data.

[0036] The data transmission method provided by the embodiment of the present disclosure establishes a multi-party homomorphic encryption mechanism, realizes the objective of homomorphic encryption calculation of encrypted data of multiple data providing parties, and can expand the use scenarios of homomorphic encryption. In addition, a secure multi-party calculation technology based on homomorphic encryption is proposed to improve data security. By transmitting data based on the homomorphic encryption algorithm, the security of data of the data providing party can be protected and information leakage of the data providing party can be prevented. In addition, the security of data can be improved by distributing and managing the decryption private keys of multiple data providing parties.

[0037] Based on the above embodiment, in order to realize data encryption and decryption, before using an encryption public key to encrypt local data and generate ciphertext data, it is necessary to generate an encryption key in cooperation between data providing parties, where the encryption key includes a public key and a private key. In the embodiment of the present disclosure, the public key for encryption includes an encryption public key and an evaluation public key. In the embodiment of the present application, a hierarchical homomorphic encryption (BGV) algorithm based on a learning problem with errors (Learning With Errors, LWE) is adopted. Note that the symbol E.PubKeygen(s;A) denotes an encryption public key generation algorithm performed using a fixed coefficient A. The symbol E.PubKeygen(s;A;e) denotes an encryption public key generation algorithm performed using a fixed coefficient A and noise e.

[0038] The encryption key generation process is described below.

[0039] 3 is a schematic flowchart of an encryption key generation method provided by another embodiment of the present application. As shown in FIG. 3, the execution subject is a data provider side, and this encryption key generation process includes the following steps S301 to S306.

[0040] In step S301, a private key fragment of the data provider is generated.

[0041] Each data provider has an encryption key generation parameter for generating an encryption key, and generates an encryption key based on the encryption key generation parameter. Here, the encryption key generation parameter includes a common parameter and a common random number. The common parameter is params=({paramsd=(1κ,qd,m,n,φ,χ)}0≦d≦D,Bφ,Bχ,Beval,Benc,Bdec), where paramsd is a parameter of the hierarchical BGV algorithm based on LWE, d represents the number of modes of the ciphertext is qd, and κ, m, n, φ, and χ are parameters of the above algorithm, where κ is a security parameter, m and n are dimensions, respectively, and φ and χ represent the encryption key probability distribution and the noise probability distribution, respectively.

number

[0042] In some embodiments, the common random number is

number

number

[0043] Furthermore, after acquiring the encryption key generation parameters, the data providing side can generate its own private key fragment based on the encryption key generation parameters and a private key generation algorithm, where the private key generation algorithm is E.SymKeygen(params), and the data providing side can output the private key fragment corresponding to the data providing side by inputting the common parameters in the encryption key generation parameters to the private key generation algorithm.

[0044] The data provider Pk uses the common parameters in the encryption key generation parameters to generate its own private key fragment.

number

number

[0045] In step S302, an encrypted public key fragment of the data provider itself is generated based on the private key fragment.

[0046] Furthermore, after obtaining the private key fragment, the data providing side can generate an encrypted public key fragment for the data providing side based on the private key fragment, the common random number, and the encryption public key generation algorithm. Here, the encryption public key generation algorithm is E.PubKeygen(s). By inputting the private key fragment and the common random number into the encryption public key generation algorithm, it is possible to output the encrypted public key fragment corresponding to the data providing side.

[0047] The data provider Pk uses the private key fragment and the common random number in the encryption key generation parameters to generate its own encrypted public key fragment.

number

number

number

[0048] In step S303, a target intermediate result corresponding to the evaluation public key is generated based on the private key fragment.

[0049] After obtaining the private key fragment, the data providing side can generate a first intermediate result of the evaluation public key corresponding to the data providing side based on the private key fragment, the common random number, and the evaluation public key generation algorithm. Here, the evaluation public key generation algorithm is E.symEnc(s). By inputting the private key fragment and the common random number into the evaluation public key generation algorithm, the first intermediate result of the evaluation public key corresponding to the data providing side can be output.

[0050] The data provider Pk uses the secret key fragment and the common random number in the encryption key generation parameters to generate a first intermediate result of the evaluation public key.

number

number

number

number

number

number

[0051] In addition, for each d, i, τ and each l∈[N]-{k}, the data provider Pk

number

number

[0052] After the first intermediate result of the evaluation public key is obtained, the data providing party can transmit its own first intermediate result to other data providing parties. For example, the data providing party can broadcast its own first intermediate result. Similarly, the other data providing parties also broadcast their respective first intermediate results. In response, the data providing party can receive the respective first intermediate results broadcasted by the other data providing parties. After the first intermediate result of the other data providing parties is obtained, the data providing party can further obtain a second intermediate result of the evaluation public key in combination with its own first intermediate result.

[0053] The data provider Pk is

number

number

number

number

number

number

number

[0054] In addition, after the second intermediate result is obtained, the data providing party calculates a target intermediate result of the evaluation public key according to the secret key fragment, the common random number in the encryption key generation parameter, and the second intermediate result.

number

[0055] The data provider Pk reports the second interim result.

number

number

number

number

number

[0056] In step S304, the encrypted public key fragment and the target intermediate result corresponding to the evaluation public key are broadcast.

[0057] In step S305, each encrypted public key fragment and target intermediate result sent from the other data providers are received.

[0058] In step S306, an encryption public key is generated based on each encryption public key fragment, and an evaluation public key is generated based on each target intermediate result.

[0059] The specific processes in steps S304 to S306 will be explained in detail below.

[0060] In the embodiment of the present disclosure, after a data providing party obtains its own encrypted public key fragment, it can transmit its own encrypted public key fragment to other data providing parties. For example, the data providing party can broadcast its own encrypted public key fragment. Similarly, the other data providing parties also broadcast their respective encrypted public key fragments. In response, the data providing party can receive the respective encrypted public key fragments broadcast by the other data providing parties. After the encrypted public key fragments of the other data providing parties are obtained, they can be combined with its own encrypted public key fragment to restore the encrypted public key.

[0061] Data provider Pk

number

number

number

number

[0062] In the homomorphic encryption process, if all data providers follow the protocol, that is, if each data provider is a trusted data provider, the encryption public key generation algorithm is

number

number

number

number

[0063] Furthermore, after the data providing side obtains the target intermediate result of the evaluation public key, the data providing side can transmit the target intermediate result to other data providing sides. For example, the data providing side can broadcast its own target intermediate result. Similarly, the other data providing sides also broadcast their respective target intermediate results. In response, the data providing side can receive the respective target intermediate results broadcasted by the other data providing sides. After the target intermediate results of the other data providing sides are obtained, they can be combined with its own target intermediate result to restore the evaluation public key.

[0064] Input by data provider Pk

number

number

number

[0065] In response, the data consumer can receive each encrypted public key fragment broadcast by each data provider, and obtain the complete encrypted public key in the same manner. The data consumer can calculate the evaluation public key according to the calculation formula of the evaluation public key.

[0066] After obtaining the encryption public key, the data provider calls an encryption algorithm, where the encryption algorithm is E.PubEncpk(μ), and uses this encryption algorithm to encrypt its own data to obtain ciphertext data. For example, the data provider Pk calls the encryption algorithm to calculate (v, w)←E.Encpk(μ), and finally obtains the ciphertext data ck=((v, w+2e),0), where 0 indicates that the multiplication level is 0, and e←$[-Benc, Benc].

[0067] After acquiring the evaluation public key, the data user uses the evaluation public key to encrypt the ciphertext data transmitted from each data provider, and acquires the ciphertext calculation result.

[0068] The data consumer can call the Evalevk encryption algorithm, encrypt each ciphertext data based on the evaluation public key, and calculate the ciphertext calculation result by Evalevk(f,c1,...,cl), where the evaluation algorithm is Evalevk(f,c1,...,cl) is the same as E.Evalevk(f,c1,...,cl).

[0069] In the encryption key generation process provided by the embodiment of the present disclosure, two protocols are performed between N data providers, the input is setup, and the output is an evaluation public key evk={φd,i,j,τ}d,i,j,τ, an encryption public key

number

number

[0070] According to the above embodiment, after the data provider obtains the ciphertext calculation result, the data provider obtains its own private key fragment

number

[0071] In step S400, the data provider generates its own private key fragment, an encryption public key, and an evaluation public key.

[0072] In step S401, local data is encrypted using the encryption public key to generate ciphertext data, which is then transmitted to the data user.

[0073] In step S402, the ciphertext calculation result sent from the data user is received, and the ciphertext calculation result is determined by the data user based on the evaluation public key and the received ciphertext data.

[0074] For an explanation of steps S400 to S402, please refer to the relevant contents in the above embodiment, and the explanation will be omitted here.

[0075] In step S403, the ciphertext calculation result is decrypted using the private key fragment to obtain the first intermediate decrypted data, which is then sent to another data provider.

[0076] In the embodiment of the present disclosure, the data providing party only has a part of the private key, so it cannot completely decrypt the ciphertext calculation result, and can obtain the first intermediate decrypted data after decrypting the ciphertext calculation result. In order to completely decrypt the data after obtaining the first intermediate decrypted data, the data providing party needs to send the first intermediate decrypted data to other data providing parties, so that the other data providing parties can also obtain its first intermediate decrypted data and can decrypt the plaintext data.

[0077] In some embodiments, the data providing side broadcasts the first intermediate decoded data to the outside, and other data providing sides can monitor the first intermediate decoded data. In some embodiments, the data providing side can also directly transmit to other data providing sides. This is merely an example, and in the embodiments of the present disclosure, the transmission manner of the first intermediate decoded data can be selected according to actual needs.

[0078] The data provider Pk is a fragment of its own private key

number

number

[0079] In step S404, the second intermediate decoded data transmitted from the other data provider is received.

[0080] In the embodiments of the present disclosure, the role of each data providing side is the same, and the other data providing side also uses its own private key fragment to decrypt the received ciphertext calculation result to obtain the decrypted intermediate decrypted data. For the purpose of distinction, the intermediate decrypted data decrypted by the other data providing side using its own private key fragment is called the second intermediate decrypted data. After obtaining the second intermediate decrypted data, the other data providing side similarly transmits the second intermediate decrypted data to the outside. In some embodiments, the other data providing side also broadcasts its own second intermediate decrypted data to the outside, and the data providing side can monitor the second intermediate decrypted data.

[0081] In step S405, the first intermediate decoded data and the second intermediate decoded data are merged to obtain plaintext data.

[0082] According to the secret sharing mechanism, a sufficient number of secret fragments need to be obtained to decrypt the secret. In the embodiment of the present disclosure, the data providing parties can share the decrypted intermediate decryption data to ensure that each data providing party obtains a sufficient number of intermediate decryption data to decrypt the plaintext data. In the embodiment of the present disclosure, the data providing party can receive the ciphertext calculation result sent from the data consuming party, which is the multiplication level here. The data providing party can combine the first intermediate decryption data and the second intermediate decryption data, for example, by homomorphic addition or multiplication of the first intermediate decryption data and the second intermediate decryption data to decrypt the plaintext data.

[0083] The data providing side can obtain the second intermediate decoded data sent from another data providing side, and merge the first intermediate decoded data and the second intermediate decoded data according to the following formula:

number

number

[0084] The data transmission method provided by the embodiment of the present disclosure establishes a multi-party homomorphic encryption mechanism, realizes the objective of homomorphic encryption calculation of encrypted data of multiple data providing parties, and can expand the use scenarios of homomorphic encryption. In addition, a secure multi-party calculation technology based on homomorphic encryption is proposed to improve data security. By transmitting data based on the homomorphic encryption algorithm, the security of data of the data providing party can be protected and information leakage of the data providing party can be prevented. In addition, the security of data can be improved by distributing and managing the decryption private keys of multiple data providing parties.

[0085] 5 is a schematic flow chart of a data transmission method provided by another embodiment of the present application. As shown in FIG. 5, the data transmission method is performed by a data user, and includes the following steps S501 to S503.

[0086] In step S501, the encrypted data transmitted from each data provider is received.

[0087] When multiple data providers need to provide data at the same time, in order to avoid data leakage or theft of the data providers, in the embodiment of the present disclosure, the data providers need to encrypt their own local data using an encryption public key to generate ciphertext data. After the ciphertext data is generated, the data providers send the ciphertext data to the data consumers. In response, the data consumers can receive the ciphertext data sent by each of the multiple data providers.

[0088] In step S502, each ciphertext data is encrypted using the evaluation public key to obtain a ciphertext calculation result.

[0089] After receiving the ciphertext data sent from each data provider, the data consumer calls the encryption algorithm for all the ciphertext data, encrypts and calculates each ciphertext data based on the evaluation public key to generate the ciphertext calculation result, and then sends the ciphertext calculation result to each data provider. For example, the data consumer can call the Evalevk encryption algorithm, encrypt each ciphertext data based on the evaluation public key, that is, calculate the ciphertext calculation result by Evalevk(f,c1,...,cl). Here, the evaluation algorithm, Evalevk(f,c1,...,cl) is the same as E.Evalevk(f,c1,...,cl).

[0090] In step S503, the ciphertext calculation result is sent to each data provider for decryption.

[0091] After the ciphertext calculation result is obtained, the ciphertext calculation result is sent to each data providing side, and the data providing side can decrypt the ciphertext calculation result to obtain plaintext data. In order to ensure the security of each data providing side's own data, in the embodiment of the present disclosure, each data providing side cannot directly obtain the complete private key, and each data providing side has a part of the content of the private key, that is, one private key fragment. After the ciphertext calculation result is received, the data providing side uses its own private key fragment to decrypt the ciphertext calculation result to obtain plaintext data.

[0092] The data transmission method provided by the embodiment of the present disclosure establishes a multi-party homomorphic encryption mechanism, realizes the objective of homomorphic encryption calculation of encrypted data of multiple data providing parties, and can expand the use scenarios of homomorphic encryption. In addition, a secure multi-party calculation technology based on homomorphic encryption is proposed to improve data security. By transmitting data based on the homomorphic encryption algorithm, the security of data of the data providing party can be protected and information leakage of the data providing party can be prevented. In addition, the security of data can be improved by distributing and managing the decryption private keys of multiple data providing parties.

[0093] In order to realize encryption and decryption of data based on the above embodiment, before receiving ciphertext data transmitted from the data providing side, it is necessary to generate an encryption public key and an evaluation public key in cooperation with the data providing side. Figure 6 is a schematic flowchart of a data transmission method provided by another embodiment of the present application. As shown in Figure 6, the execution subject is the data using side, and this data transmission method includes the following steps S601 to S602.

[0094] In step S601, encrypted public key fragments transmitted from each data provider are received.

[0095] In the embodiment of the present disclosure, each data providing party can first generate an encrypted public key fragment, and then broadcast the encrypted public key fragment to the data using party. In response, the data using party can receive the encrypted public key fragment sent by each data providing party. The calculation process of the data providing party generating the encrypted public key fragment can refer to the relevant content description in the above embodiment, and the description is omitted here.

[0096] In step S602, an encryption public key is obtained based on the encryption public key fragment of each data provider.

[0097] After the encryption public key fragments of each data provider are obtained, the encryption public key fragments are added to obtain an encryption public key. In some embodiments, the encryption public key generation algorithm is

number

number

number

number

[0098] 7 is a schematic flow chart of a data transmission method provided by another embodiment of the present application. As shown in FIG. 7, the data transmission method is performed by the data user, and includes the following steps S701 to S702.

[0099] In step S701, the target intermediate results of the evaluation public keys transmitted from each data provider are received.

[0100] In the embodiment of the present disclosure, each data providing side can first generate a target intermediate result of the evaluation public key, and then broadcast the target intermediate result to the data using side. In response, the data using side can receive the target intermediate result sent by each data providing side. The calculation process of the data providing side generating the target intermediate result can refer to the relevant content description in the above embodiment, and the description is omitted here.

[0101] In step S702, an evaluation public key is obtained based on the target intermediate result of each data provider.

[0102] After the target intermediate results of each data provider are obtained, a calculation is performed based on each target intermediate result to obtain an evaluation public key.

[0103] Input by data provider

number

number

number

[0104] After the evaluation public key is obtained, the data user can use the evaluation public key to encrypt the ciphertext data of each data provider and obtain the ciphertext calculation result.

[0105] In the following, the data transmission method provided by this application will be described in combination with two application scenarios of the data provider, and as shown in FIG. 8, the data transmission process can be divided into four stages.

[0106] The first step is the encryption key generation step. Two data providers interact and cooperate to generate an encryption public key, pk in Fig. 8. At the same time, each data provider has a part of a private key corresponding to the public key, and in Fig. 8, data provider No. 1 has sk1, and data provider No. 2 has sk2. Each data provider cannot obtain any information of the private key part of the other data owner, and cannot obtain any information of the private key.

[0107] The second step is the data encryption step. Each data provider encrypts its own data using the encryption public key to generate ciphertext data ct1 and ct2 in Fig. 8. Each data provider transmits its respective ciphertext data to the data user.

[0108] The third step is the ciphertext calculation step. The data user performs encryption calculations on each ciphertext data based on the evaluation encryption key, and obtains the ciphertext calculation result cr in Fig. 8. The data user transmits the ciphertext calculation results to all data providers.

[0109] The fourth step is the ciphertext calculation result decryption step. Each data provider interacts and cooperates with each other, using its own private key portion to cooperate in decrypting the ciphertext calculation result and obtain the plaintext calculation result.

[0110] The symbols of the homomorphic encryption algorithm in the above embodiment will now be explained and agreed upon. E represents the hierarchical BGV algorithm based on LWE, the maximum multiplication level of the support circuit is D, and the plaintext space is {0,1}. TFHE represents threshold homomorphic encryption. Assume that there are N data owners and one data user. Vectors are represented in bold lowercase letters, and scalars are represented in lowercase letters. If s is a vector, s[i] represents the i-th component of s, and it is promised that s[0] = 1. Assume that D represents a probability distribution on a finite set S, x←D represents x is a sampling of D, and x←$S represents x is a sampling uniformly distributed on S. The base of all logarithms is 2. If n is a positive integer, [n] represents the set of all integers from 1 to n inclusive.

[0111] E contains the following basic elements: 1) params = (1κ,q,m,n,φ,χ), where params is an implicit input for all algorithms, κ is a security parameter, q is the odd mode number, m and n are dimensions, and φ and χ are

number

number

number

[0112] We use the symbol E.PubKeygen(s;A) to denote running the public key generation algorithm with a fixed modulus A. We use the symbol E.PubKeygen(s;A;e) to denote running the public key generation algorithm with a fixed modulus A and noise e. We use the symbol E.SymEncs(μ;a) to denote encrypting μ with a fixed modulus a and private key s. We use the symbol E.SymEncs( ;a;e) to denote encrypting μ with a fixed modulus a, noise e, and private key s.

[0113] 9 is a schematic diagram of a data transmission device provided by an embodiment of the present application. As shown in FIG. 9, the data transmission device is applied to a data providing side and includes an encryption key generation module 90, an encryption module 91, a receiving module 92 and a decryption module 93.

[0114] Here, the encryption key generation module 90 generates a secret key fragment of the data provider itself, an encryption public key, and an evaluation public key.

[0115] The encryption module 91 encrypts the local data using the encryption public key to generate ciphertext data and transmits it to the data user.

[0116] The receiving module 92 receives the ciphertext calculation result sent from the data consumer, and the ciphertext calculation result is determined by the data consumer based on the evaluation public key and the received ciphertext data.

[0117] The decryption module 93 uses the private key fragment to decrypt the ciphertext calculation result to obtain the plaintext data.

[0118] In some embodiments, the decryption module 93 further uses the private key fragment to decrypt the ciphertext calculation result to obtain and send first intermediate decrypted data to another data providing party, receives second intermediate decrypted data sent from the other data providing party, and combines the first intermediate decrypted data and the second intermediate decrypted data to obtain plaintext data.

[0119] In some embodiments, the cryptographic key generation module 90 comprises a first generating unit 901 , a sending unit 902 , a receiving unit 903 and a second generating unit 904 .

[0120] The first generating unit 901 generates a private key fragment, and generates, according to the private key fragment, a data provider's own encryption public key fragment and a target intermediate result corresponding to an evaluation public key.

[0121] The sending unit 902 broadcasts the encrypted public key fragment and the target intermediate result.

[0122] The receiving unit 903 receives each encrypted public key fragment and target intermediate result sent from other data providers.

[0123] A second generating unit 904 generates an encryption public key based on each encryption public key fragment, and generates an evaluation public key based on each target intermediate result.

[0124] In some embodiments, the first generation unit 901 further obtains encryption key generation parameters, where the encryption key generation parameters include a common parameter and a common random number, obtains a private key fragment based on the common parameter and a private key generation algorithm, generates an encrypted public key fragment based on the private key fragment, the common random number and the encryption public key generation algorithm, and generates a target intermediate result based on the private key fragment and the evaluation public key generation algorithm.

[0125] In some embodiments, the first generation unit 901 further generates a first intermediate result of the evaluation public key based on the private key fragment, the common random number, and the evaluation public key generation algorithm, broadcasts the first intermediate result, receives each first intermediate result sent from other data providing parties, obtains a second intermediate result of the evaluation public key based on its own first intermediate result and the first intermediate result of the other data providing parties, generates a target intermediate result of the evaluation public key based on the private key fragment, the common random number, and the second intermediate result, and broadcasts the target intermediate result.

[0126] The data transmission device provided by the embodiment of the present disclosure can establish a multi-party homomorphic encryption mechanism, realize the objective of homomorphic encryption calculation of encrypted data of multiple data providing parties, and expand the use scenario of homomorphic encryption. Furthermore, a secure multi-party calculation technology based on homomorphic encryption is proposed to improve the security of data. By transmitting data based on the homomorphic encryption algorithm, the security of data of the data providing party can be protected and information leakage of the data providing party can be prevented. Furthermore, the security of data can be improved by distributing and managing the decryption private keys of multiple data providing parties.

[0127] The description of the data transmission method according to the embodiment can also be applied to the data transmission device according to this embodiment, and therefore the description will be omitted here.

[0128] 10 is a schematic block diagram of a data transmission device provided by another embodiment of the present application. As shown in FIG. 10, the data transmission device is applied to a data user side and includes a receiving module 210, an encryption module 220 and a sending module 230.

[0129] The receiving module 210 receives the encrypted data transmitted from each data provider.

[0130] The encryption module 220 encrypts each ciphertext data using the evaluation public key to obtain a ciphertext calculation result.

[0131] The sending module 230 sends the ciphertext calculation result to each data provider for decryption.

[0132] The data transmission device provided by the embodiment of the present disclosure can establish a multi-party homomorphic encryption mechanism, realize the objective of homomorphic encryption calculation of encrypted data of multiple data providing parties, and expand the use scenario of homomorphic encryption. Furthermore, a secure multi-party calculation technology based on homomorphic encryption is proposed to improve the security of data. By transmitting data based on the homomorphic encryption algorithm, the security of data of the data providing party can be protected and information leakage of the data providing party can be prevented. Furthermore, the security of data can be improved by distributing and managing the decryption private keys of multiple data providing parties.

[0133] 11 is a schematic block diagram of a data transmission device provided by another embodiment of the present application. As shown in FIG. 11, the data transmission device is applied to a data user side and includes a receiving module 310, an encryption module 320, a sending module 330, a first encryption key generating module 340 and a second encryption key generating module 350.

[0134] Here, the functions and structures realized by the receiving module 310, the encryption module 320, and the transmitting module 320 are the same as those of the receiving module 210, the encryption module 220, and the transmitting module 230 in FIG. 10, and therefore a description thereof will be omitted here.

[0135] The first encryption key generation module 340 receives the encrypted public key fragments sent from each data provider, and obtains an encrypted public key based on each encrypted public key fragment.

[0136] The second encryption key generation module 350 receives the target intermediate results of the evaluation public keys sent from each data provider, and obtains the evaluation public keys based on each target intermediate result.

[0137] The data transmission device provided by the embodiment of the present disclosure can establish a multi-party homomorphic encryption mechanism, realize the objective of homomorphic encryption calculation of encrypted data of multiple data providing parties, and expand the use scenario of homomorphic encryption. Furthermore, a secure multi-party calculation technology based on homomorphic encryption is proposed to improve the security of data. By transmitting data based on the homomorphic encryption algorithm, the security of data of the data providing party can be protected and information leakage of the data providing party can be prevented. Furthermore, the security of data can be improved by distributing and managing the decryption private keys of multiple data providing parties.

[0138] The description of the data transmission method according to the embodiment can also be applied to the data transmission device according to this embodiment, and therefore the description will be omitted here.

[0139] To realize the above embodiment, the present application further proposes an electronic device, comprising a memory 410 and a processor 420, wherein the processor 420 reads the executable program code stored in the memory 410 and executes a program corresponding to the executable program code, so as to realize the data transmission method proposed by the embodiment of the present application.

[0140] In order to realise the above embodiments, the present application further proposes a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, realises the data transmission method proposed by the embodiments of the present application.

[0141] To realize the above embodiments, the present disclosure further proposes a computer program product, and when instructions in the computer program product are executed by a processor, the data transmission method proposed by the embodiments of the present application is realized.

[0142] In the description of this specification, reference to terms such as "one embodiment," "some embodiments," "examples," "specific examples," or "some examples" means that the specific features, structures, materials, or characteristics described in connection with this embodiment or example are included in at least one embodiment or example of the present disclosure. In this specification, exemplary expressions of the above terms do not necessarily have to be directed to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples. Furthermore, those skilled in the art may combine and combine different embodiments or examples described herein and features of different embodiments or examples, as long as they are not mutually inconsistent.

[0143] Moreover, the terms "first" and "second" are used for descriptive purposes only and cannot be understood to indicate or imply a relative importance or to imply a number of the indicated technical features. Thus, a feature qualified as "first" or "second" can explicitly or implicitly include at least one of the feature. In the description of this disclosure, "plurality" means at least two, e.g., two, three, etc., unless otherwise specifically limited.

[0144] Any process or method description depicted in a flowchart or otherwise described herein may be understood as modules, segments, or portions that represent code comprising one or more executable instructions for implementing custom logical functions or process steps, and the scope of the embodiments of the present disclosure may include alternative implementations that differ from the order shown or described, including performing related functions substantially simultaneously or in reverse order, as should be understood by one of ordinary skill in the art to which the embodiments of the present disclosure pertain.

[0145] The logic and / or steps depicted in the flow charts or otherwise described herein may be thought of as, for example, a sequence table of executable instructions for implementing logical functions, and may be implemented on any computer readable medium for use by or in combination with an instruction execution system, apparatus, or device (e.g., a computer-based system, a system with a processor, or other system capable of obtaining and executing instructions from an instruction execution system, apparatus, or device). As used herein, a "computer readable medium" may be any device that can contain, store, communicate, propagate, or transmit a program for use with an instruction execution system, apparatus, or device, or in combination with such an instruction execution system, apparatus, or device. More specific examples (non-exhaustive list) of computer readable media include electrical connections having one or more wires (electronic devices), portable computer disk cartridges (magnetic devices), random access memory (RAM), read only memory (ROM), erasable editable read only memory (EPROM or flash memory), fiber optic devices, and portable disk read only memory (CDROM). The computer readable medium may also be paper or other suitable medium upon which the program may be printed so that the program may be obtained electronically and stored in computer memory, for example by optically scanning the paper or other medium and then editing, interpreting or processing in any other suitable manner as necessary.

[0146] Each part of the present disclosure may be implemented in hardware, software, firmware, or a combination thereof. In the above embodiment, a plurality of steps or methods may be implemented in software or firmware stored in a memory and executed by an appropriate instruction execution system. For example, when implemented in hardware, as in other embodiments, it may be implemented in any of the technologies known in the art, such as a discrete logic circuit having a logic gate circuit that realizes a logical function for a data signal, a dedicated integrated circuit combining appropriate logic gate circuits, a programmable gate array (PGA), a field programmable gate array (FPGA), or a combination thereof.

[0147] Those skilled in the art can understand that the realization of all or part of the steps included in the method of the above embodiments can be achieved by instructing the relevant hardware by a program stored in a computer-readable storage medium, and when the program is executed, it will include one or a combination of the steps of the method embodiments.

[0148] In addition, each functional unit in each embodiment of the present disclosure may be integrated into one processing module, each unit may exist physically separately, or two or more units may be integrated into one module. The above-mentioned integrated module may be realized in the form of hardware or in the form of a software functional module. The integrated module may be realized in the form of a software functional module, and may be stored in a computer-readable storage medium when sold or used as an independent product.

[0149] The above storage medium may be a read-only memory, a magnetic disk, an optical disk, etc. Although the embodiments of the present disclosure have been illustrated and described above, the above embodiments are illustrative and do not limit the present disclosure, and those skilled in the art can change, modify, substitute, and modify the above embodiments within the scope of the present disclosure.

Claims

1. 1. A data transmission method performed by a data providing device, comprising: generating a private key fragment of the data providing device, and generating an encrypted public key fragment of the data providing device itself and a target intermediate result corresponding to an evaluation public key according to the private key fragment; broadcasting the encrypted public key fragment and the target intermediate result; receiving each of the encrypted public key fragments transmitted from other data providing devices; generating an encrypted public key based on each of said encrypted public key fragments; encrypting local data using the encryption public key to generate ciphertext data and sending the ciphertext data to a data using device; receiving a ciphertext calculation result sent from the data using device, the ciphertext calculation result being obtained by the data using device encrypting the received ciphertext data using an evaluation public key, the evaluation public key being obtained by the data using device based on a target intermediate result of the evaluation public key broadcast by each of the data providing devices received; decrypting the ciphertext calculation result using the private key fragment to obtain plaintext data; A data transmission method comprising:

2. decrypting the ciphertext calculation result using the private key fragment to obtain plaintext data; decrypting the ciphertext calculation result using the private key fragment to obtain a first intermediate decrypted data, and sending the first intermediate decrypted data to another data providing device; receiving second intermediate decoded data transmitted from the other data providing device; fusing the first intermediate decoded data and the second intermediate decoded data to obtain the plaintext data; 2. The data transmission method according to claim 1, comprising:

3. generating a private key fragment of the data providing device itself, obtaining encryption key generation parameters, the encryption key generation parameters including a common parameter and a common random number; obtaining the private key fragment based on the common parameters and a private key generation algorithm; 2. The data transmission method according to claim 1, comprising:

4. generating an encryption public key fragment and an intermediate result corresponding to an evaluation public key based on the private key fragment, generating the encrypted public key fragment based on the private key fragment, the common random number, and an encrypted public key generation algorithm; generating the target intermediate result based on the private key fragment and an evaluation public key generation algorithm; 4. The data transmission method according to claim 3, comprising:

5. generating the target intermediate result based on the private key fragment and an evaluation public key generation algorithm, generating a first intermediate result of the evaluation public key based on the private key fragment, the common random number, and an evaluation public key generation algorithm, and broadcasting the first intermediate result; receiving the first intermediate results sent from other data providing devices; obtaining a second intermediate result of the evaluation public key based on the first intermediate result of the other data providing device and the first intermediate result of the other data providing device; obtaining a target intermediate result of the evaluation public key based on the private key fragment, the common random number, and the second intermediate result, and broadcasting the target intermediate result; 5. The data transmission method according to claim 4, comprising:

6. 1. A method of data transmission performed by a data using device, comprising: receiving a target intermediate result of the evaluation public keys sent from each data providing device; obtaining an evaluation public key based on each of the target intermediate results; receiving ciphertext data transmitted from each data providing device; using the evaluation public key to encrypt each of the ciphertext data to obtain a ciphertext calculation result; sending the ciphertext calculation result to each of the data providing devices for decryption; A data transmission method comprising:

7. A data transmission device applied to a data providing device, an encryption key generating module for generating a private key fragment of the data providing device, generating an encrypted public key fragment of the data providing device itself and a target intermediate result corresponding to an evaluation public key based on the private key fragment, broadcasting the encrypted public key fragment and the target intermediate result, receiving each of the encrypted public key fragments sent from other data providing devices, and generating an encrypted public key based on each of the encrypted public key fragments; an encryption module for encrypting local data using the encryption public key to generate ciphertext data for transmission to a data using device; a receiving module for receiving a ciphertext calculation result sent from the data using device, the ciphertext calculation result being obtained by the data using device by encrypting the received ciphertext data using an evaluation public key, the evaluation public key being obtained by the data using device based on the target intermediate result of the evaluation public key broadcast by each of the data providing devices received; a decryption module for decrypting the ciphertext calculation result using the private key fragment to obtain plaintext data; A data transmission device comprising:

8. A data transmission device applied to a data using device, a cryptographic key generating module for receiving a target intermediate result of the evaluation public key sent from each data providing device, and obtaining an evaluation public key based on each of the target intermediate results; a receiving module for receiving ciphertext data transmitted from each of the data providing devices; an encryption module for encrypting each of the ciphertext data using an evaluation public key to obtain a ciphertext calculation result; a transmitting module for transmitting the ciphertext calculation result to each of the data providing devices for decryption; A data transmission device comprising:

9. A processor and a memory, An electronic device in which the processor reads executable program code stored in the memory and executes a program corresponding to the executable program code so as to realize the data transmission method according to any one of claims 1 to 5.

10. A processor and a memory, 7. An electronic device, wherein the processor reads executable program code stored in the memory and executes a program corresponding to the executable program code so as to implement the data transmission method according to claim 6.

11. A computer-readable storage medium having a computer program stored thereon, A computer-readable storage medium, which, when the program is executed by a processor, implements the data transmission method according to any one of claims 1 to 5.

12. A computer-readable storage medium having a computer program stored thereon, A computer-readable storage medium which, when the program is executed by a processor, implements the data transmission method according to claim 6.

Citation Information

Patent Citations

  • Classification device, classification method, and classification program

    JP2018124513A

  • Apparatus and method for generating secret key, apparatus and method for generating evaluation key

    US20200366467A1

  • Encrypted statistical processing system, decrypting system, key generation device, proxy device, encrypted statistical data generation device, encrypted statistical processing method, and encrypted statistical processing program

    WO2014010202A1