CN113810170A - 数据传输方法、装置及电子设备、存储介质 - Google Patents

数据传输方法、装置及电子设备、存储介质 Download PDF

Info

Publication number
CN113810170A
CN113810170A CN202110368291.XA CN202110368291A CN113810170A CN 113810170 A CN113810170 A CN 113810170A CN 202110368291 A CN202110368291 A CN 202110368291A CN 113810170 A CN113810170 A CN 113810170A
Authority
CN
China
Prior art keywords
data
public key
ciphertext
evaluation
data transmission
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110368291.XA
Other languages
English (en)
Inventor
代子营
王铁成
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jingdong Technology Holding Co Ltd
Original Assignee
Jingdong Technology Holding Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jingdong Technology Holding Co Ltd filed Critical Jingdong Technology Holding Co Ltd
Priority to CN202110368291.XA priority Critical patent/CN113810170A/zh
Publication of CN113810170A publication Critical patent/CN113810170A/zh
Priority to JP2023560083A priority patent/JP2024512110A/ja
Priority to PCT/CN2022/085190 priority patent/WO2022213956A1/zh
Priority to US18/283,543 priority patent/US20240163084A1/en
Priority to KR1020237033782A priority patent/KR20230154929A/ko
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本申请提出一种数据传输方法及装置,该数据传输方法包括:生成所述数据提供端自身的私钥片段,以及加密公钥和求值公钥,使用加密公钥对本地数据进行加密,以生成密文数据,并发送给数据使用端,接收所述数据使用端发送的密文计算结果,其中,所述密文计算结果由所述数据使用端根据求值公钥和接收的所述密文数据确定,使用所述私钥片段,对所述密文计算结果进行解密,以获取明文数据。本实施例提供的数据传输方法及装置,构造多方同态加密机制,能够实现对多个数据提供端的加密数据进行同态加密计算的目的,扩展了同态加密的应用场景。进一步地,提供了一种基于同态加密的安全多方计算技术,进而提高数据的安全性。

Description

数据传输方法、装置及电子设备、存储介质
技术领域
本申请涉及数据处理领域,尤其涉及数据传输方法、装置及电子设备、存储介质。
背景技术
同态加密允许对加密的密文数据进行计算,能够在使用数据的同时保护数据的安全性。相关技术中,同态加密仅支持对一个密钥加密的密文数据进行计算,并不能实现对不同密钥加密的多个密文数据进行联合计算,限制了同态加密的使用场景。
发明内容
本申请旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本申请的一个目的在于提出一种构造多方同态加密机制,能够实现对多个数据提供端的加密数据的同态加密的目的,扩展了同态加密的应用场景。
本申请的第一个目的在于提出一种数据传输方法。
本申请的第二个目的在于提出另一种数据传输方法。
本申请的第三个目的在于提出一种数据传输装置。
本申请的第四个目的在于提出另一种数据传输装置。
本申请的第五个目的在于提出一种电子设备。
本申请的第六个目的在于提出一种计算机可读存储介质。
为达上述目的,本申请第一方面实施例提出了一种数据传输方法,适用于数据提供端,所述方法包括:与其他数据提供端进行交互,生成加密公钥和求值公钥;使用加密公钥对本地数据进行加密,以生成密文数据,并发送给数据使用端;接收数据使用端发送的密文计算结果,其中,密文计算结果由数据使用端根据求值公钥和接收的密文数据确定;使用数据提供端自身的私钥片段,对密文计算结果进行解密,以获取明文数据。
为达上述目的,本申请第二方面实施例提出了一种数据传输方法,适用于数据使用端,方法包括:接收各数据提供端发送的密文数据;使用求值公钥对各密文数据进行加密计算,得到密文计算结果;将密文计算结果分别发送给各数据提供端进行解密。
为达上述目的,本申请第三方面实施例提出了一种数据传输装置,适用于数据提供端,该装置包括:密钥生成模块,用于与其他数据提供端进行交互,生成加密公钥和求值公钥;加密模块,用于使用加密公钥对本地数据进行加密,以生成密文数据,并发送给数据使用端;接收模块,用于接收数据使用端发送的密文计算结果,其中,密文计算结果由数据使用端根据求值公钥和接收的密文数据确定;解密模块,用于使用数据提供端自身的私钥片段,对密文计算结果进行解密,以获取明文数据。
为达上述目的,本申请第四方面实施例提出了一种数据传输装置,适用于数据使用端,该装置包括:接收模块,用于接收各数据提供端发送的密文数据;加密模块,用于使用求值公钥对各密文数据进行加密计算,得到密文计算结果;发送模块,用于将密文计算结果分别发送给各数据提供端进行解密。
为达上述目的,本申请第五方面实施例提出了一种电子设备,其特征在于,包括处理器和存储器;
其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现如上述方面提供的数据传输方法。
为达上述目的,本申请第六方面实施例提出了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如上述方面提供的数据传输方法。
本申请提供的数据传输方法及装置,构造多方同态加密机制,能够实现对多个数据提供端的加密数据进行同态加密计算的目的,扩展了同态加密的应用场景。进一步地,提供了一种基于同态加密的安全多方计算技术,以提高数据的安全性。基于同态加密算法来传输数据,能够保护数据提供端的数据的安全性,进而防止数据提供端的信息泄露。进一步地,对多个数据提供端的解密用的私钥进行分散管理,提高数据的安全性。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
图1是本申请提供的数据传输方法的应用场景示意图;
图2为本申请一实施例提供的一种数据传输方法的流程示意图;
图3本申请另一实施例提供的一种密钥生成方法的流程示意图;
图4本申请另一实施例提供的一种数据传输方法的流程示意图;
图5本申请另一实施例提供的一种数据传输方法的流程示意图;
图6本申请另一实施例提供的一种数据传输方法的流程示意图;
图7本申请另一实施例提供的一种数据传输方法的流程示意图;
图8本申请一实施例提供的一种数据传输方法的应用示意图;
图9本申请一实施例提供的一种数据传输装置的结构示意图;
图10本申请另一实施例提供的一种数据传输装置的结构示意图;
图11本申请另一实施例提供的一种数据传输装置的结构示意图;
图12本申请一实施例提供的一种电子设备的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
示例性的,图1是本申请提供的数据传输方法的应用场景示意图。如图1所示,该应用场景可以包括:至少一个数据提供端(图1示出了三个数据提供端,分别为数据提供端111、数据提供端112、数据提供端113)、网络12和数据使用端13。其中,每个数据提供端与数据使用端13均可以通过网络12进行通信。每个数据提供端之间均可以通过网络12进行通信。
需要说明的是,图1仅是本申请实施例提供的一种应用场景的示意图,本申请实施例不对图1中包括的设备进行限定,也不对图1中设备之间的位置关系进行限定,例如,在图1所示的应用场景中,还可以包括数据存储设备,该数据存储设备相对数据提供端和数据使用端13可以是外部存储器,也可以是集成在内部的内部存储器。
下面,通过具体实施例对本申请的技术方案进行详细说明。需要说明的是,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图2为本申请一实施例提供的一种数据传输方法的流程示意图。如图2所示,执行主体为数据提供端,数据提供端可以为电商类服务器、社交类服务器、通信类服务器等拥有用户的多方数据的电子设备。
如图2所示,数据传输方法包括以下步骤:
S201,生成数据提供端自身的私钥片段,以及加密公钥和求值公钥。
本实施例中,通过数据提供端与其他数据提供端之间交互协作的方式,生成自身的私钥片段,以及加密公钥和求值公钥。在一些实现中,数据提供端可以获取到自身的密钥生成参数,其中,密钥生成参数包括公共参数和公共随机数。进一步地,数据提供端基于自身的密钥生成参数,生自身的私钥片段,以及加密公钥片段和求值公钥的部分内容,并与其他数据提供端进行交互,以将自身的加密公钥片段和求值公钥的部分内容,共享给其他数据提供端。相应地其他数据提供端同样会共享自身的加密公钥片段和求值公钥的部分内容。数据提供端获取到其他数据提供端的加密公钥片段后就可以获取到加密公钥,类似地基于获取到求值公钥的部分内容,也可以获取到求值公钥。其中,其他数据提供端可以与作为执行主体的数据提供端为同类的服务器,也可以其他类型的服务器。每个数据提供端都参与加密公钥和求值公钥的计算,构造多方同态加密机制,能够实现对多个数据提供端对数据进行同态加密的目的。
S202,使用加密公钥对本地数据进行加密,以生成密文数据,并发送给数据使用端。
在需要多个数据提供端同时提供数据,为了避免数据提供端的数据被泄露或窃取,本实施例中,数据提供端需要使用加密公钥对自身的本地数据进行加密,然后生成一个密文数据。在生成了密文数据后,数据提供端将密文数据发送给数据使用端。相应的,数据使用端就可以接收到多个数据提供端发送过来的各自的密文数据。通过加密公钥对自身的本地数据进行加密的目的,使得仅数据提供端知道自己的数据,其他数据提供端获得该数据的,使得各数据提供端的数据具有较高的安全性,避免数据的泄露。
继续以图1的场景为例,数据提供端111使用加密公钥对本地的数据u1进行加密,生成密文数据ct1,数据提供端112使用加密公钥对本地的数据u2进行加密,生成密文数据ct2,数据提供端113使用加密公钥对本地的数据u3进行加密,生成密文数据ct3。数据使用端13可以接收到每个数据提供端发送的各自的密文数据。
S203,接收数据使用端发送的密文计算结果,其中,密文计算结果由数据使用端根据求值公钥和接收的密文数据确定。
数据使用端接收到每个数据提供端发送的密文数据后,基于求值公钥对密文数据进行加密计算,生成密文计算结果,然后将密文计算结果分别发送给每个数据提供端。
相应地,数据提供端可以接收到数据使用端发送的密文计算结果。
S204,使用私钥片段,对密文计算结果进行解密,以获取明文数据。
为了保证各数据提供端自身数据的安全性,本实施例中,每个数据提供端无法直接获取完整的私钥,每个数据提供端拥有的是私钥的部分内容,即一个私钥片段。在接收到密文计算结果后,数据提供端可以使用自身的私钥片段,对密文计算结果进行解密,以便于获取到明文数据。
本实施例提供的数据传输方法,构造多方同态加密机制,能够实现对多个数据提供端的加密数据进行同态加密计算的目的,扩展了同态加密的应用场景。进一步地,提供了一种基于同态加密的安全多方计算技术,以提高数据的安全性。基于同态加密算法来传输数据,能够保护数据提供端的数据的安全性,进而防止数据提供端的信息泄露。进一步地,对多个数据提供端的解密用的私钥进行分散管理,提高数据的安全性。
在上述实施例的基础上,为了能实现对数据的加解密,在使用加密公钥对本地数据进行加密,以生成密文数据之前,还需要数据提供端之间进行协作,以生成密钥,其中,密钥包括公钥和私钥。本实施例中,加密用的公钥包括加密公钥和求值公钥。本申请实施例中,采用基于错误学习问题(Learning With Errors,LWE)的分级同态加密(BGV)算法。需要说明的是,使用符号E.PubKeygen(s;A)表示使用固定的系数A执行的加密公钥生成算法。使用符号E.PubKeygen(s;A;e)表示使用固定的系数A和噪音e执行的加密公钥生成算法。
下面对密钥的生成过程进行介绍。
图3本申请另一实施例提供的一种密钥生成方法的流程示意图。如图3所示,执行主体为数据提供端,该密钥生成过程包括以下步骤:
S301,生成数据提供端的私钥片段。
每个数据提供端拥有用于生成密钥的密钥生成参数,基于该密钥生成参数来生成密钥。其中,密钥生成参数包括公共参数和公共随机数。公共参数为
Figure BDA0003008213800000051
其中,paramsd为基于LWE的分级BGV算法的参数,d表示密文的模是qd,κ,m,n,
Figure BDA0003008213800000052
和χ是上述算法的参数,其中,κ是安全参数,m,n,分别为维度,
Figure BDA0003008213800000053
和χ分别表示密钥概率分布和噪声概率分布。
Figure BDA0003008213800000054
是概率分布
Figure BDA0003008213800000055
和χ的边界。每当进行抽样
Figure BDA0003008213800000056
(或者x←χ)时,检查
Figure BDA0003008213800000057
(或者|x|≤Bχ),如果不满足条件,就重新抽样。Beval是求值密钥计算的噪声边界,Benc是加密计算的噪声边界,Bdec是解密计算的噪声边界。
可选地,公共随机数包括:
Figure BDA0003008213800000058
其中,d∈{0,...,D};i∈[n],[n]表示包括1到n的所有整数的集合,
Figure BDA0003008213800000059
N为数据提供端的个数,D为基于LWE的分级BGV算法,支持电路的最大乘法级别。
进一步地,数据提供端在获取到密钥生成参数后,可以基于该密钥生成参数和私钥生成算法,生成自身的私钥片段。其中,私钥生成算法为E.SymKeygen(params),将密钥生成参数中的公共参数输入到该私钥生成算法中,既可以输出数据提供端对应的私钥片段。
数据提供端Pk使用密钥生成参数中的公共参数,生成自己的私钥片段
Figure BDA00030082138000000510
首先Pk调用基于LWE的分级BGV算法的私钥生成算法,对于每一个d∈{0,...,D},生成
Figure BDA00030082138000000511
S302,基于私钥片段生成数据提供端自身的加密公钥片段。
进一步地,数据提供端在获取到私钥片段后,可以基于该私钥片段、公共随机数和加密公钥生成算法,生成数据提供端的加密公钥片段。其中,加密公钥生成算法为E.PubKeygen(s)。将私钥片段和公共随机数输入到该加密公钥生成算法中,既可以输出数据提供端对应的加密公钥片段。
数据提供端Pk使用私钥片段和密钥生成参数中的公共随机数,生成自己的加密公钥片段
Figure BDA0003008213800000061
首先Pk调用基于LWE的分级BGV算法的加密公钥生成算法,对于每一个d∈{0,...,D},生成
Figure BDA0003008213800000062
其中,
Figure BDA0003008213800000063
S303,基于私钥片段生成求值公钥对应的目标中间结果。
数据提供端在获取到私钥片段后,可以基于该私钥片段、公共随机数和求值公钥生成算法,生成该数据提供端对应的求值公钥的第一中间结果。其中,求值公钥生成算法为E.symEnc(s)。将私钥片段和公共随机数输入到该求值公钥生成算法中,既可以输出数据提供端对应的求值公钥的第一中间结果。
数据提供端Pk使用私钥片段和密钥生成参数中的公共随机数,生成求值公钥的第一中间结果
Figure BDA0003008213800000064
首先Pk调用求值公钥生成算法,对于每一个d∈{0,...,D},i∈[n],[n]表示包括1到n的所有整数的集合,
Figure BDA0003008213800000065
有如下计算:
Figure BDA0003008213800000066
其中,
Figure BDA0003008213800000067
Figure BDA0003008213800000068
表示
Figure BDA0003008213800000069
表示的第i个分量。
另外对于如上每个d,i,τ和每一个l∈[N]-{k},数据提供端Pk计算
Figure BDA00030082138000000610
其中,
Figure BDA00030082138000000611
在获取到求值公钥的第一中间结果后,可以将自身的第一中间结果发送给其他数据提供端。例如,数据提供端可以对自身的第一中间结果进行广播。类似的,其他数据提供端也会广播各自的第一中间结果。相应地,数据提供端可以接收到其他数据提供端广播的各自的第一中间结果。在获取到其他数据提供端的第一中间结果后,结合自身的第一中间结果,就可以进一步地获取到求值公钥的第二中间结果。
数据提供端Pk在获取到
Figure BDA00030082138000000612
就可以计算出第二中间结果
Figure BDA00030082138000000613
Pk基于
Figure BDA00030082138000000614
可以计算出第二中间结果。如果所有数据所有者都遵守协议,那么
Figure BDA00030082138000000615
其中
Figure BDA00030082138000000616
实现中求值公钥为
Figure BDA0003008213800000071
计算出的第二中间结果
Figure BDA0003008213800000072
已经接近上述求值公钥。
进一步地,在获取到第二中间结果后,数据提供端基于私钥片段、密钥生参数中的公共随机数和第二中间结果,可以获取求值公钥的目标中间结果
Figure BDA0003008213800000073
数据提供端Pk在获取到第二中间结果
Figure BDA0003008213800000074
对于每一个l∈[N],d∈[D],i,j∈[n],
Figure BDA0003008213800000075
e←$[-Beval,Beval],
Figure BDA0003008213800000076
经过上述操作后,可以使得求值公钥对应的目标中间结果
Figure BDA0003008213800000077
更加近似于
Figure BDA0003008213800000078
距离求值公钥更进一步。
S304,对加密公钥片段和求值公钥对应的目标中间结果进行广播。
S305,接收其他数据提供端发送的各自的加密公钥片段和目标中间结果。
S306,基于各加密公钥片段,生成加密公钥,以及基于各目标中间结果,生成求值公钥。
下面对步骤S304~S306的具体处理进行详细介绍。
本实施例中,数据提供端在获取到自身的加密公钥片段后,可以将自身的加密公钥片段发送给其他数据提供端。例如,数据提供端可以对自身的加密公钥片段进行广播。类似的,其他数据提供端也会广播各自的加密公钥片段。相应地,数据提供端可以接收到其他数据提供端广播的各自的加密公钥片段。在获取到其他数据提供端的加密公钥片段后,结合自身的加密公钥片段,就可以恢复出加密公钥。
数据提供端Pk在获取到
Figure BDA0003008213800000079
其中,
Figure BDA00030082138000000710
用于表示所有数据提供端的加密公钥片段的集合。Pk在获取到该集合后,就可以计算出加密公钥
Figure BDA00030082138000000711
Pk基于
Figure BDA00030082138000000712
可以计算出加密公钥。
在同态加密过程中,若各个数据提供端都遵循协议,即各个数据提供端为可信的数据提供者,加密公钥生成算法为
Figure BDA00030082138000000713
其中,
Figure BDA00030082138000000714
其中,l∈[N],d∈[D]。
进一步地,数据提供端在获取到求值公钥的目标中间结果后,可以将目标中间结果发送给其他数据提供端。例如,数据提供端可以对自身的目标中间结果进行广播。类似的,其他数据提供端也会广播各自的目标中间结果。相应地,数据提供端可以接收到其他数据提供端广播的各自的目标中间结果。在获取到其他数据提供端的目标中间结果后,结合自身的目标中间结果,就可以恢复出求值公钥。
数据提供端Pk拥有输入setup,
Figure BDA0003008213800000081
Figure BDA0003008213800000082
计算输出求值密钥
Figure BDA0003008213800000083
Pk进行如下计算,对于每一个l∈[N],d∈[D],i∈[n],j∈[n]∪{0},
Figure BDA0003008213800000084
可以采用如下公式计算求值公钥:
Figure BDA0003008213800000085
相应地,数据使用端可以接收到各数据提供端广播的各自的加密公钥片段,采用类似的方式就可以获取到完整的加密公钥。数据使用端采用求值公钥的计算公式,就可以计算出求值公钥。
数据提供端在获取到加密公钥后,调用加密算法,其中,加密算法为E.PubEncpk(μ),利用该加密算法对自身的数据进行加密,得到密文数据。例如,数据提供端Pk,调用加密算法计算(v,w)←E.Encpk(μ),在最终得到密文数据ck=((v,w+2e),0),其中,0表示乘法级别为0,e←$[-Benc,Benc]。
数据使用端在获取到求值公钥后,利用求值公钥对每个数据提供端发送的密文数据进行加密,得到密文计算结果。
数据使用端调用Evalevk加密算法,基于求值公钥,对各密文数据进行加密,即Evalevk(f,c1,…,cl),就可以计算密文计算结果。其中,求值算法,Evalevk(f,c1,…,cl)与E.Evalevk(f,c1,…,cl)相同。
本实施例中提供的密钥生成过程,在N个数据提供端之间的进行了两轮协议,输入是setup,输出是求值公钥
Figure BDA0003008213800000086
加密公钥
Figure BDA0003008213800000087
每个数据所有者获得私钥部分
Figure BDA0003008213800000088
本实施例中基于求值公钥可以对加密数据进一步加密,更好地保证了数据传输的安全性。而且对多个数据提供端的解密用的私钥进行分散管理,提高数据的安全性。
在上述实施例的基础之上,数据提供端获取到密文计算结果后,会利用自身的私钥片段
Figure BDA0003008213800000089
解密接收的密文计算结果。图4本申请另一实施例提供的一种数据传输方法的流程示意图。如图4所示,执行主体为数据提供端,数据传输方法包括以下步骤:
S400,生成数据提供端自身的私钥片段,以及加密公钥和求值公钥。
S401,使用加密公钥对本地数据进行加密,以生成密文数据,并发送给数据使用端。
S402,接收数据使用端发送的密文计算结果,其中,密文计算结果由数据使用端根据求值公钥和接收的密文数据确定。
关于步骤S400~S402的介绍可参见上述实施例中相关内容的记载,此处不再赘述。
S403,使用私钥片段,对密文计算结果进行解密,得到第一中间解密数据,并发给其他数据提供端。
本实施例中,由于数据提供端仅有私钥的一部分,无法对密文计算结果进行全整解密,在对密文计算结果进行解密后,可以得到一个第一中间解密数据。在获取到第一中间解密数据后,为了能够完整的将数据解密出来,数据提供需要将第一中间解密数据发送给其他数据提供端,以便于其他数据梯端也可以获取到自己的第一中间解密数据,以便于其他数据提供端可以解密出明文数据。
可选地,数据提供端将第一中间解密数据向外广播,其他数据提供端就可以监听到第一中间解密数据。可选地,数据提供端也可以向其他数据提供端直接发送。此处仅为示例,本实施例中对第一中间解密数据的发送方式不做具体限制。
数据提供端Pk拥有自身的私钥片段
Figure BDA0003008213800000091
解密接收的密文计算结果,Pk计算第一中间解密数据
Figure BDA0003008213800000092
其中,ek$[-Bdec,Bdec]。然后,Pk向外广播该第一中间解密数据wk
S404,接收其他数据提供端发送的第二中间解密数据。
本实施例中,每个数据提供端的角色是相同的,其他数据提供端也会将利用自身的私钥片段,对接收到的密文计算结果进行解密,得到一个解密的中间解密数据。需要说明的是,为了区分将其他数据提供端利用自身的私钥片段解码出的中间解密数据,称为第二中间解密数据。其他数据提供端在获取到第二中间解密数据后,同样会将第二中间解密数据向外发送。可选地,其他数据提供端也向往广播自己的第二中间解密数据,数据提供端就可以监听到该第二中间解密数据。
S405,根据第一中间解密数据和第二中间解密数据融合,得到明文数据。
基于秘密共享机制,需要获取到足够多的秘密碎片,才能将秘密解密出来。本实施例中,数据提供端之间可以将解密出的中间解密数据共享,从而可以保证每个数据提供端均可以获取到足够多的中间解密数据,进而将明文数据解密出来。本实施例中,数据提供端可以接收到数据使用端发送的密文计算结果,,其中,是乘法级别。数据提供端将第一中间解密数据和第二中间解密数据进行融合,例如可以将第一中间解密数据和第二中间解密数据进行同态相加或者相乘,就可以解密出明文数据。
数据提供端可以获取到其他数据提供端发送的第二中间解密数据,将第一中间解密数据和第二中间解密数据采用如下公式进行融合:
Figure BDA0003008213800000101
进一步地,基于公式
Figure BDA0003008213800000102
就可以解密出明文数据。
本实施例提供的数据传输方法,构造多方同态加密机制,能够实现对多个数据提供端的加密数据进行同态加密计算的目的,扩展了同态加密的应用场景。进一步地,提供了一种基于同态加密的安全多方计算技术,以提高数据的安全性。基于同态加密算法来传输数据,能够保护数据提供端的数据的安全性,进而防止数据提供端的信息泄露。进一步地,对多个数据提供端的解密用的私钥进行分散管理,提高数据的安全性。
图5本申请另一实施例提供的一种数据传输方法的流程示意图。如图5所示,执行主体为数据使用端,该数据传输方法包括以下步骤:
S501,接收各数据提供端发送的密文数据。
在需要多个数据提供端同时提供数据,为了避免数据提供端的数据被泄露或窃取,本实施例中,数据提供端需要使用加密公钥对自身的本地数据进行加密,然后生成一个密文数据。在生成了密文数据后,数据提供端将密文数据发送给数据使用端。相应的,数据使用端就可以接收到多个数据提供端发送过来的各自的密文数据。
S502,使用求值公钥对各密文数据进行加密计算,得到密文计算结果。
数据使用端接收到每个数据提供端发送的密文数据后,对所有的密文数据,调用加密算法,基于求值公钥对各密文数据进行加密计算,生成密文计算结果,然后将密文计算结果分别发送给每个数据提供端。例如,数据使用端调用Evalevk加密算法,基于求值公钥,对各密文数据进行加密,即Evalevk(f,c1,…,cl),就可以计算密文计算结果。其中,求值算法,Evalevk(f,c1,…,cl)与E.Evalevk(f,c1,…,cl)相同。
S503,将密文计算结果分别发送给各数据提供端进行解密。
在获取到密文计算结果后,将该密文计算结果发送给个数据提供端,数据提供端可以对密文计算结果进行解密,得到明文数据。为了保证各数据提供端自身数据的安全性,本实施例中,每个数据提供端无法直接获取完整的私钥,每个数据提供端拥有的是私钥的部分内容,即一个私钥片段。在接收到密文计算结果后,数据提供端可以使用自身的私钥片段,对密文计算结果进行解密,以便于获取到明文数据。
本实施例提供的数据传输方法,构造多方同态加密机制,能够实现对多个数据提供端的加密数据进行同态加密计算的目的,扩展了同态加密的应用场景。进一步地,提供了一种基于同态加密的安全多方计算技术,以提高数据的安全性。基于同态加密算法来传输数据,能够保护数据提供端的数据的安全性,进而防止数据提供端的信息泄露。进一步地,对多个数据提供端的解密用的私钥进行分散管理,提高数据的安全性。
在上述实施例的基础上,为了能实现对数据的加解密在接收数据提供端发送的密文数据之前,还需要与数据提供端之间进行协作,以生成加密公钥和求值公钥。图6本申请另一实施例提供的一种数据传输方法的流程示意图。如图6所示,执行主体为数据使用端,该数据传输方法包括以下步骤:
S601,接收各数据提供端发送的加密公钥片段。
本实施例中,各数据提供端可以先生成加密公钥片段,在将该加密公钥片段广播给数据使用端。相应地,数据使用端可以接收到各数据提供端发送的加密公钥片段。关于数据提供端生成加密公钥片段的计算过程可参见上述实施例中相关内容的记载,此处不再赘述。
S602,基于各数据提供端的加密公钥片段,获取加密公钥。
在获取到各数据提供端的加密公钥片段后,对加密公钥片段进行相加,得到加密公钥。可选地,加密公钥生成算法为
Figure BDA0003008213800000111
其中,
Figure BDA0003008213800000112
其中,l∈[N],d∈[D]。
图7本申请另一实施例提供的一种数据传输方法的流程示意图。如图7所示,执行主体为数据使用端,该数据传输方法包括以下步骤:
S701,接收各数据提供端发送的求值公钥的目标中间结果。
本实施例中,各数据提供端可以先生成求值公钥的目标中间结果,在将该目标中间结果广播给数据使用端。相应地,数据使用端可以接收到各数据提供端发送的目标中间结果。关于数据提供端生成目标中间结果的计算过程可参见上述实施例中相关内容的记载,此处不再赘述。
S702,基于各数据提供端的目标中间结果,获取求值公钥。
在获取到各数据提供端的目标中间结果后,基于各目标中间结果进行计算,得到求值公钥。
数据使用端拥有输入setup,
Figure BDA0003008213800000113
计算输出求值密钥
Figure BDA0003008213800000114
对于每一个l∈[N],d∈[D],i∈[n],j∈[n]∪{0},
Figure BDA0003008213800000115
可以采用如下公式计算求值公钥:
Figure BDA0003008213800000116
在获取到求值公钥后,数据使用端可以利用该求值公钥对各数据提供端的密文数据进行加密计算,得到密文计算结果。
下面结合两个数据提供端的应用场景对本申请提供的数据传输方法进行解释说明,如图8所示,在数据传输的过程可以分为四个阶段。
第一阶段为密钥生成阶段:
两个数据提供端交互协作,生成一个加密公钥,图8中的pk。同时每个数据提供端拥有公钥对应的私钥的一部分,图8中,1号数据提供端拥有sk1,2号数据提供端拥有sk2。每个数据提供端无法获得其他数据所有者私钥部分的任何信息,也无法获得私钥的任何信息。
第二阶段为数据加密阶段:
每个数据提供端使用加密公钥对自己的数据进行加密,生成密文数据,如图8中的ct1和ct2。每个数据提供端把各自的密文数据发送给数据使用者。
第三阶段为密文计算阶段:
数据使用端使用基于求值密钥对各密文数据进行加密计算,得到密文计算结果,如图8中的cr。数据使用端把密文计算结果发送给所有的数据提供端。
第四阶段为密文计算结果解密阶段:
各个数据提供端交互协作,先使用自己的私钥部分联合对密文计算结果进行解密,得到明文计算结果。
下面对针对上述实施例中的同态加密算法中的符号进行说明和约定:
使用E表示基于LWE的分级BGV算法,支持电路的最大乘法级别为D,明文空间是{0,1}。使用TFHE表示门限同态加密。假设有N个数据所有者,一个数据使用者。使用粗体小写字母表示向量,小写字母表示标量。如果s是向量,那么,s[i]表示s的第i个分量,约定s[0]=1。假设
Figure BDA0003008213800000121
表示有限集合S上的概率分布,
Figure BDA0003008213800000122
表示x是
Figure BDA0003008213800000123
的抽样,x←$S表示x是S上均匀分布的抽样。所有对数的底都是2。如果n是正整数,则[n]表示包括1到n的所有整数的集合。
E包括如下基本构件:
1)
Figure BDA0003008213800000124
params是所有算法的隐含输入,κ是安全参数,q是奇数模,m和n是维度,
Figure BDA0003008213800000125
Figure BDA0003008213800000126
Figure BDA0003008213800000127
上的概率分布;
2)E.SymKeygen(params):生成私钥
Figure BDA0003008213800000128
3)E.PubKeygen(s):生成
Figure BDA0003008213800000129
e←χm,设置p:=A·s+2·e,输出私钥s对于公钥pk:=(A,p);
4)E.SymEncs(μ):要加密μ∈{0,1},选择
Figure BDA0003008213800000131
e←χ,设置b:=<a,s>+2·e+μ,输出密文c=(a,b);
5)E.PubEncpk(μ):要使用公钥pk=(A,p)加密μ∈{0,1},选择r←{0,1}m,设置a:=rT·A,b:=<r,p>+μ,输出密文c=(a,b);
6)要解密c=(a,b),输出明文[b-<a,s>]qmod2;
7)求值算法E.Evalevk(f,c1,…,cl),使用求值密钥evk计算函数f,f:{0,1}l→{0,1}表示为布尔电路,其输入是l个密文c1,…,cl,输出是密文结果cf
使用符号E.PubKeygen(s;A)表示使用固定的系数A执行公钥生成算法。使用符号E.PubKeygen(s;A;e)表示使用固定的系数A和噪音e执行公钥生成算法。使用符号E.SymEncs(μ;a)表示使用固定系数a和私钥s加密μ。使用符号E.SymEncs(μ;a;e)表示使用固定系数a,噪音e,私钥s加密μ。
图9本申请一实施例提供的一种数据传输装置的结构示意图。如图9所示,适用于数据提供端,该数据传输装置包括:密钥生成模块90、加密模块91、接收模块92和解密模块93。
其中,密钥生成模块90,用于生成所数据提供端自身的私钥片段,以及加密公钥和求值公钥。
加密模块91,用于使用加密公钥对本地数据进行加密,以生成密文数据,并发送给数据使用端。
接收模块92,用于接收数据使用端发送的密文计算结果,其中,密文计算结果由数据使用端根据求值公钥和接收的密文数据确定。
解密模块93,用于使用私钥片段,对密文计算结果进行解密,以获取明文数据。
可选地,解密模块93,进一步用于使用私钥片段,对密文计算结果进行解密,得到第一中间解密数据,并发给其他数据提供端,接收其他数据提供端发送的第二中间解密数据,根据第一中间解密数据和第二中间解密数据融合,得到明文数据。
在一些实施例中,密钥生成模块90,包括:第一生成单元901、发送单元902、接收单元903和第二生成单元903。
第一生成单元901,用于生成私钥片段,并基于私钥片段生成数据提供端自身的加密公钥片段和求值公钥对应的目标中间结果。
发送单元902,用于对加密公钥片段和目标中间结果进行广播。
接收单元903,用于接收其他数据提供端发送的各自的加密公钥片段和目标中间结果。
第二生成单904,用于基于各加密公钥片段,生成加密公钥,以及基于各目标中间结果,生成求值公钥。
可选地,第一生成单元901,还用于获取密钥生成参数,其中,密钥生成参数包括公共参数和公共随机数,基于公共参数和私钥生成算法,获取私钥片段,基于私钥片段、公共随机数和加密公钥生成算法,生成加密公钥片段,基于私钥片段和求值公钥生成算法,生成目标中间结果。
可选地,第一生成单元901,还用于基于私钥片段、公共随机数和求值公钥生成算法,生成求值公钥的第一中间结果,并广播第一中间结果,接收其他数据提供端发送的各自的第一中间结果,基于自身的第一中间结果和其他数据提供端的第一中间结果,获取求值公钥的第二中间结果,基于私钥片段、公共随机数和第二中间结果,获取求值公钥的目标中间结果,并广播目标中间结果。
本实施例提供的数据传输装置,构造多方同态加密机制,能够实现对多个数据提供端的加密数据进行同态加密计算的目的,扩展了同态加密的应用场景。进一步地,提供了一种基于同态加密的安全多方计算技术,以提高数据的安全性。基于同态加密算法来传输数据,能够保护数据提供端的数据的安全性,进而防止数据提供端的信息泄露。进一步地,对多个数据提供端的解密用的私钥进行分散管理,提高数据的安全性。
需要说明的是,前述对数据传输方法实施例的解释说明也适用于该实施例的数据传输装置,此处不再赘述。
图10本申请另一实施例提供的一种数据传输装置的结构示意图。如图10所示,适用于数据使用端,该数据传输装置包括:接收模块210、加密模块220和发送模块230。
接收模块210,用于接收各数据提供端发送的密文数据。
加密模块220,用于使用求值公钥对各密文数据进行加密计算,得到密文计算结果。
发送模块230,用于将密文计算结果分别发送给各数据提供端进行解密。
本实施例提供的数据传输装置,构造多方同态加密机制,能够实现对多个数据提供端的加密数据进行同态加密计算的目的,扩展了同态加密的应用场景。进一步地,提供了一种基于同态加密的安全多方计算技术,以提高数据的安全性。基于同态加密算法来传输数据,能够保护数据提供端的数据的安全性,进而防止数据提供端的信息泄露。进一步地,对多个数据提供端的解密用的私钥进行分散管理,提高数据的安全性。
图11本申请另一实施例提供的一种数据传输装置的结构示意图。如图11所示,适用于数据使用端,该数据传输装置包括:接收模块310、加密模块320和发送模块330,以及第一密钥生成模块340和第二密钥生成模块350。
其中,接收模块310、加密模块320和发送模块320的实现的功能和结构,与图10中的接收模块210、加密模块220和发送模块230,此处不再赘述。
第一密钥生成模块340,用于接收各数据提供端发送的加密公钥片段,以及基于各加密公钥片段,获取加密公钥。
第二密钥生成模块350,用于接收各数据提供端发送的求值公钥的目标中间结果,以及基于各目标中间结果,获取求值公钥。
本实施例提供的数据传输装置,构造多方同态加密机制,能够实现对多个数据提供端的加密数据进行同态加密计算的目的,扩展了同态加密的应用场景。进一步地,提供了一种基于同态加密的安全多方计算技术,以提高数据的安全性。基于同态加密算法来传输数据,能够保护数据提供端的数据的安全性,进而防止数据提供端的信息泄露。进一步地,对多个数据提供端的解密用的私钥进行分散管理,提高数据的安全性。
需要说明的是,前述对数据传输方法实施例的解释说明也适用于该实施例的数据传输装置,此处不再赘述。
为了实现上述实施例,本申请还提出一种电子设备,包括:存储器410和处理器420;其中,处理器420通过读取存储器410中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于实现如本申请前述实施例提出的数据传输方法。
为了实现上述实施例,本申请还提出一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如本申请前述实施例提出的数据传输方法。
为了实现上述实施例,本发明还提出一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时实现如本申请前述实施例提出的数据传输方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (20)

1.一种数据传输方法,其特征在于,适用于数据提供端,所述方法包括:
生成所述数据提供端自身的私钥片段,以及加密公钥和求值公钥;
使用所述加密公钥对本地数据进行加密,以生成密文数据,并发送给数据使用端;
接收所述数据使用端发送的密文计算结果,其中,所述密文计算结果由所述数据使用端根据所述求值公钥和接收的所述密文数据确定;
使用所述私钥片段,对所述密文计算结果进行解密,以获取明文数据。
2.根据权利要求1所述的数据传输方法,其特征在于,所述使用所述私钥片段,对所述密文计算结果进行解密,以获取明文数据,包括:
使用所述私钥片段,对所述密文计算结果进行解密,得到第一中间解密数据,并发给其他数据提供端;
接收所述其他数据提供端发送的第二中间解密数据;
根据所述第一中间解密数据和所述第二中间解密数据融合,得到所述明文数据。
3.根据权利要求1所述的数据传输方法,其特征在于,所述生成所述数据提供端自身的私钥片段,以及加密公钥和求值公钥,包括:
生成所述数据提供端的所述私钥片段,并基于所述私钥片段生成所述数据提供端自身的加密公钥片段和求值公钥对应的目标中间结果;
对所述加密公钥片段和所述目标中间结果进行广播;
接收所述其他数据提供端发送的各自的所述加密公钥片段和所述目标中间结果;
基于各所述加密公钥片段,生成所述加密公钥,以及基于各所述目标中间结果,生成所述求值公钥。
4.根据权利要求3所述的数据传输方法,其特征在于,所述生成所述数据提供端自身的私钥片段,包括:
获取密钥生成参数,其中,所述密钥生成参数包括公共参数和公共随机数;
基于所述公共参数和私钥生成算法,获取所述私钥片段。
5.根据权利要求4所述的数据传输方法,其特征在于,所述基于所述私钥片段生成加密公钥片段和求值公钥对应的中间结果,包括:
基于所述私钥片段、所述公共随机数和加密公钥生成算法,生成所述加密公钥片段;
基于所述私钥片段和求值公钥生成算法,生成所述目标中间结果。
6.根据权利要求5所述的数据传输方法,其特征在于,所述基于所述私钥片段和求值公钥生成算法,生成所述目标中间结果,包括:
基于所述私钥片段、所述公共随机数和求值公钥生成算法,生成所述求值公钥的第一中间结果,并广播所述第一中间结果;
接收其他数据提供端发送的各自的所述第一中间结果;
基于自身的所述第一中间结果和所述其他数据提供端的所述第一中间结果,获取所述求值公钥的第二中间结果;
基于所述私钥片段、所述公共随机数和所述第二中间结果,获取所述求值公钥的目标中间结果,并广播所述目标中间结果。
7.一种数据传输方法,其特征在于,适用于数据使用端,所述方法包括:
接收各数据提供端发送的密文数据;
使用求值公钥对各所述密文数据进行加密计算,得到密文计算结果;
将所述密文计算结果分别发送给各所述数据提供端进行解密。
8.根据权利要求7所述的数据传输方法,其特征在于,所述接收数据提供端发送的密文数据之前,还包括:
接收各所述数据提供端发送的加密公钥片段;
基于各所述加密公钥片段,获取所述加密公钥。
9.根据权利要求7所述的数据传输方法,其特征在于,所述接收数据提供端发送的密文数据之前,还包括:
接收各所述数据提供端发送的求值公钥的目标中间结果;
基于各所述目标中间结果,获取所述求值公钥。
10.一种数据传输装置,其特征在于,适用于数据提供端,所述数据传输装置包括:
密钥生成模块,用于生成所述数据提供端自身的私钥片段,以及加密公钥和求值公钥;
加密模块,用于使用所述加密公钥对本地数据进行加密,以生成密文数据,并发送给数据使用端;
接收模块,用于接收所述数据使用端发送的密文计算结果,其中,所述密文计算结果由所述数据使用端根据所述求值公钥和接收的所述密文数据确定;
解密模块,用于使用所述私钥片段,对所述密文计算结果进行解密,以获取明文数据。
11.根据权利要求10所述的数据传输装置,其特征在于,所述解密模块,进一步用于:
使用所述私钥片段,对所述密文计算结果进行解密,得到第一中间解密数据,并发给其他数据提供端;
接收所述其他数据提供端发送的第二中间解密数据;
根据所述第一中间解密数据和所述第二中间解密数据融合,得到所述明文数据。
12.根据权利要求10所述的数据传输装置,其特征在于,所述密钥生成模块,包括:
第一生成单元,用于生成所述私钥片段,并基于所述私钥片段生成所述数据提供端自身的加密公钥片段和求值公钥对应的目标中间结果;
发送单元,用于对所述加密公钥片段和所述目标中间结果进行广播;
接收单元,用于接收所述其他数据提供端发送的各自的所述加密公钥片段和所述目标中间结果;
第二生成单元,用于基于各所述加密公钥片段,生成所述加密公钥,以及基于各所述目标中间结果,生成所述求值公钥。
13.根据权利要求12所述的数据传输装置,其特征在于,所述第一生成单元,进一步用于:
获取密钥生成参数,其中,所述密钥生成参数包括公共参数和公共随机数;
基于所述公共参数和私钥生成算法,获取所述私钥片段。
14.根据权利要求13所述的数据传输装置,其特征在于,所述第一生成单元,进一步用于:
基于所述私钥片段、所述公共随机数和加密公钥生成算法,生成所述加密公钥片段;
基于所述私钥片段和求值公钥生成算法,生成所述目标中间结果。
15.根据权利要求14所述的数据传输装置,其特征在于,所述第一生成模块,进一步用于:
基于所述私钥片段、所述公共随机数和求值公钥生成算法,生成所述求值公钥的第一中间结果,并广播所述第一中间结果;
接收其他数据提供端发送的各自的所述第一中间结果;
基于自身的所述第一中间结果和所述其他数据提供端的所述第一中间结果,获取所述求值公钥的第二中间结果;
基于所述私钥片段、所述公共随机数和所述第二中间结果,获取所述求值公钥的目标中间结果,并广播所述目标中间结果。
16.一种数据传输装置,其特征在于,适用于数据使用端,所述数据传输装置包括:
接收模块,用于接收各数据提供端发送的密文数据;
加密模块,用于使用求值公钥对各所述密文数据进行加密计算,得到密文计算结果;
发送模块,用于将所述密文计算结果分别发送给各所述数据提供端进行解密。
17.根据权利要求16所述的数据传输装置,其特征在于,还包括:
第一密钥生成模块,用于接收各所述数据提供端发送的加密公钥片段,以及基于各所述加密公钥片段,获取所述加密公钥。
18.根据权利要求16所述的数据传输装置,其特征在于,还包括:
第二密钥生成模块,用于接收各所述数据提供端发送的求值公钥的目标中间结果,以及基于各所述目标中间结果,获取所述求值公钥。
19.一种电子设备,其特征在于,包括处理器和存储器;
其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现如权利要求1-6中任一所述的数据传输方法,或者用于实现如权利要求7-9中任一所述的数据传输方法。
20.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一所述的数据传输方法,或者用于实现如权利要求7-9中任一所述的数据传输方法。
CN202110368291.XA 2021-04-06 2021-04-06 数据传输方法、装置及电子设备、存储介质 Pending CN113810170A (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN202110368291.XA CN113810170A (zh) 2021-04-06 2021-04-06 数据传输方法、装置及电子设备、存储介质
JP2023560083A JP2024512110A (ja) 2021-04-06 2022-04-02 データ伝送方法、装置、電子機器及び記憶媒体
PCT/CN2022/085190 WO2022213956A1 (zh) 2021-04-06 2022-04-02 数据传输方法、装置及电子设备、存储介质
US18/283,543 US20240163084A1 (en) 2021-04-06 2022-04-02 Method of data transmission, and electronic devic
KR1020237033782A KR20230154929A (ko) 2021-04-06 2022-04-02 데이터 전송 방법, 장치 및 전자 기기, 저장 매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110368291.XA CN113810170A (zh) 2021-04-06 2021-04-06 数据传输方法、装置及电子设备、存储介质

Publications (1)

Publication Number Publication Date
CN113810170A true CN113810170A (zh) 2021-12-17

Family

ID=78892969

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110368291.XA Pending CN113810170A (zh) 2021-04-06 2021-04-06 数据传输方法、装置及电子设备、存储介质

Country Status (5)

Country Link
US (1) US20240163084A1 (zh)
JP (1) JP2024512110A (zh)
KR (1) KR20230154929A (zh)
CN (1) CN113810170A (zh)
WO (1) WO2022213956A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022213956A1 (zh) * 2021-04-06 2022-10-13 京东科技控股股份有限公司 数据传输方法、装置及电子设备、存储介质
CN115426134A (zh) * 2022-08-11 2022-12-02 北京海泰方圆科技股份有限公司 一种数据加密传输方法及装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115544552B (zh) * 2022-11-29 2023-03-14 蓝象智联(杭州)科技有限公司 一种不暴露明文数据的相似性检测方法、装置及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9876636B2 (en) * 2016-01-07 2018-01-23 Empire Technology Development Llc Homomorphic public-key encryption scheme
CN109359470B (zh) * 2018-08-14 2020-09-01 阿里巴巴集团控股有限公司 多方安全计算方法及装置、电子设备
KR20200131688A (ko) * 2019-05-14 2020-11-24 삼성에스디에스 주식회사 비밀키 생성 장치 및 방법, 연산키 생성 장치 및 방법
CN111354416B (zh) * 2019-12-16 2023-03-14 中国人民武装警察部队工程大学 一种基于多密钥全同态加密的致病基因定位方法
CN113810170A (zh) * 2021-04-06 2021-12-17 京东科技控股股份有限公司 数据传输方法、装置及电子设备、存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022213956A1 (zh) * 2021-04-06 2022-10-13 京东科技控股股份有限公司 数据传输方法、装置及电子设备、存储介质
CN115426134A (zh) * 2022-08-11 2022-12-02 北京海泰方圆科技股份有限公司 一种数据加密传输方法及装置

Also Published As

Publication number Publication date
JP2024512110A (ja) 2024-03-18
WO2022213956A1 (zh) 2022-10-13
US20240163084A1 (en) 2024-05-16
KR20230154929A (ko) 2023-11-09

Similar Documents

Publication Publication Date Title
US11341269B2 (en) Providing security against user collusion in data analytics using random group selection
JP5422053B2 (ja) 暗号システム、暗号通信方法、暗号化装置、鍵生成装置、復号装置、コンテンツサーバ装置、プログラム、記憶媒体
US9264406B2 (en) Public key cryptography with reduced computational load
JP5291795B2 (ja) 暗号化装置、復号装置、暗号化方法、復号方法、セキュリティ方法、プログラム及び記録媒体
CN113810170A (zh) 数据传输方法、装置及电子设备、存储介质
JP6363032B2 (ja) 鍵付替え方向制御システムおよび鍵付替え方向制御方法
CN112906030B (zh) 基于多方全同态加密的数据共享方法和系统
CN108183791B (zh) 应用于云环境下的智能终端数据安全处理方法及系统
CN108933650B (zh) 数据加解密的方法及装置
CN111586142B (zh) 一种安全多方计算方法及系统
KR20210139344A (ko) 데이터 기반 활동을 수행하는 방법 및 장치
Dolev et al. Efficient private multi-party computations of trust in the presence of curious and malicious users
JP4758110B2 (ja) 通信システム、暗号化装置、鍵生成装置、鍵生成方法、復元装置、通信方法、暗号化方法、暗号復元方法
CN113807537B (zh) 多源数据的数据处理方法、装置及电子设备、存储介质
WO2023048711A1 (en) Threshold secret share generation for distributed symmetric cryptography
Wang et al. Secure and Efficient Data Processing for Cloud Computing with Fine-Grained Access Control
JP5612494B2 (ja) 関数暗号を用いた時限暗号システム、時限暗号方法、装置、プログラム
Raj et al. Traitor Tracing in Broadcast Encryption using Vector Keys
EP1124349A2 (en) Public key distribution using an approximate linear function
WO2017203743A1 (ja) 暗号化装置、復号装置及び暗号システム
CN116015738B (zh) 隐私保护的匿名网络节点查询方法、装置、设备及介质
KR101932032B1 (ko) 선형 길이의 암호문을 가지는 다항식 함수 암호화 방법
US20220255720A1 (en) Enforcing access structures in fully homomorphic encryption
JP3464153B2 (ja) 暗号通信方法及び暗号通信システム
Yang et al. Elliptic code-based oblivious polynomial evaluation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination