CN113708930B - 隐私数据的数据比较方法、装置、设备及介质 - Google Patents
隐私数据的数据比较方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN113708930B CN113708930B CN202111220490.2A CN202111220490A CN113708930B CN 113708930 B CN113708930 B CN 113708930B CN 202111220490 A CN202111220490 A CN 202111220490A CN 113708930 B CN113708930 B CN 113708930B
- Authority
- CN
- China
- Prior art keywords
- data
- initiator
- triple
- multiplication
- participant
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种隐私数据的数据比较方法、装置、设备及介质,包括:发起方对发起方数据进行分割处理,得到第一数据和第二数据,将第二数据发送给参与方,参与方随机生成一个正整数,并对参与方数据进行分割处理,得到第三数据和第四数据,对正整数进行分割处理,得到第一参数和第二参数,参与方基于第二数据、第四数据和第二参数,分别采用加法秘密分享的方式与发起方进行秘密加法和乘法运算,得到第一运算结果,发起方基于第一数据、第三数据和第一参数,采用加法秘密分享的方式与参与方进行秘密加法和乘法运算,得到第二运算结果,发起方对第一运算结果和第二运算结果进行还原比较处理,得到比较结果,采用本发明可提高隐私数据比较的安全性。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种隐私数据的数据比较方法、装置、设备及介质。
背景技术
在数据重要性日益凸显的今天,在保护用户数据隐私的情况下发挥其作用是国家统筹数据资源的一个重要前提。机构和个人对于数据隐私的敏感度越来越高,数据如何在保证隐私的前提下进行价值共享成为了人们最关注的问题,例如安全拍卖、安全选举、隐私数据比较等,如果无法解决,那么数据便会成为个人的收藏品,沉淀在每个机构或个人的本地数据库内,无法发挥出其应有的价值,而多方安全计算技术正是解决这个难题的一个重要技术。
多方安全计算(MPC:Secure Muti-Party Computation)是采用可信的中心服务器,计算参与方将各自的隐私数据交给可信中心,由可信中心进行计算,再将计算结果返回给参与方。
隐私数据比较是多方安全计算的一个重要应用,它保护了个人的数据隐私(数据的值),但是最后又可以得到我们需要的结果(数据的大小关系)。具体定义是指在不暴露双方具体数值的前提下,获取双方数值的大小关系。
在实现本发明过程中,发明人发现现有的隐私计算中至少存在如下问题:基于多方安全计算实现隐私比较的方案主要分为基于同态加密和基于不经意传输两大类,对于使用同态加密的方案,由于同态加密技术本身的计算复杂度很高,整体的效率比较低;对于使用不经意传输的方案效率相较于同态加密的方案会有很大提升,但是在比较时的数据通信量很大,且有些方案只支持正整数的比较,对于小数和负数的比较需要都转换成正整数再比较。由此可见,现有的隐私比较方法,存在效率不高的问题。
发明内容
本发明实施例提供一种隐私数据的数据比较方法、装置、计算机设备和存储介质,以提高隐私数据的数据处理效率。
为了解决上述技术问题,本申请实施例提供一种隐私数据的数据比较方法,包括:
所述发起方向所述参与方发送数据比较请求,并对发起方数据进行分割处理,得到第一数据a1和第二数据a2,将所述第二数据a2发送给所述参与方;
所述参与方在接收到所述数据比较请求时,随机生成一个正整数u,并对参与方数据进行分割处理,得到第三数据b1和第四数据b2,对正整数u进行分割处理,得到第一参数u1和第二参数u2;
所述参与方将所述第三数据b1和第一参数u1所述发送给所述发起方;
所述参与方基于所述第二数据a2、所述第四数据b2和所述第二参数u2,分别采用加法秘密分享和乘法三元组的方式与所述发起方进行秘密加法和乘法运算,得到第一运算结果,所述发起方基于所述第一数据a1、所述第三数据b1和所述第一参数u1,采用加法秘密分享和乘法三元组的方式与所述参与方进行秘密加法和乘法运算,得到第二运算结果;
所述参与方将所述第一运算结果发送给发起方,所述发起方对所述第一运算结果和所述第二运算结果进行还原比较处理,得到比较结果。
可选地,所述参与方基于所述第二数据a2、所述第四数据b2和所述第二参数u2,分别采用加法秘密分享和乘法三元组的方式与所述发起方进行秘密加法和乘法运算,得到第一运算结果,所述发起方基于所述第一数据a1、所述第三数据b1和所述第一参数u1,采用加法秘密分享和乘法三元组的方式与所述参与方进行秘密加法和乘法运算,得到第二运算结果包括:
所述参与方在接收到所述第二数据a2时,获取一个随机三元组(x2,y2,z2),作为参与方三元组,并基于所述参与方三元组、所述第二数据a2、所述第四数据b2和所述第二参数u2,确定第一关联参数信息,并将所述第一关联参数信息发送给所述发起方;
所述发起方在接收到所述第三数据b1和第一参数u1时,获取一个随机三元组(x1,y1,z1),作为发起方三元组,基于所述发起方三元组、所述第一数据a1、所述第三数据b1和所述第一参数u1,确定第二关联参数信息,并将所述第二关联参数信息发送给所述参与方;
所述参与方基于所述参与方三元组和接收到的所述第二关联参数信息进行还原计算,得到第一运算结果,所述发起方基于所述发起方三元组和接收到的所述第一关联参数信息进行还原计算,得到第二运算结果。
可选地,在所述参与方在接收到所述第二数据a2时,获取一个随机三元组(x2,y2,z2),作为参与方三元组之前,所述方法还包括:
可信第三方随机生成至少两组乘法三元组(X,Y,Z),其中,每组所述乘法三元组满足X*Y=Z;
所述可信第三方对每组所述乘法三元组(X,Y,Z)进行分割处理得到三元组(x1,y1,z1)和三元组(x2,y2,z2),其中,X=x1+x2,Y=y1+y2,Z=z1+z2;
所述可信第三方将所述三元组(x1,y1,z1)和三元组(x2,y2,z2)分别发送给所述发起方和所述参与方进行缓存。
可选地,所述发起方在接收到所述第三数据b1和第一参数u1时,获取一个随机三元组(x1,y1,z1),作为发起方三元组,包括:
将所述可信第三方生成的乘法三元组(X,Y,Z)作为目标乘法组;
所述发起方基于不经意传输的方式,获取所述目标乘法组分割处理得到的三元组(x1,y1,z1),缓存至发起方三元组集合,并从所述发起方三元组集合中,随机选取一个三元组,作为发起方三元组。
可选地,所述从所述发起方三元组集合中,随机选取一个三元组,作为发起方三元组包括:所述发起方读取所述发起方三元组集合中缓存的乘法三元组的数量信息,作为当前数量;
所述发起方将所述当前数量与预设数量阈值进行比较,若所述当前数量未超过所述预设数量阈值,则停止从所述发起方三元组集合的缓存中选取乘法三元组,并向所述可信第三方发送乘法三元组的补充生成请求;
所述可信第三方接收所述发起方的乘法三元组的补充生成请求,并基于所述乘法三元组的补充生成请求进行乘法三元组的生成,并将生成的乘法三元组分割后处理后得到的三元组(x1,y1,z1),缓存至发起方三元组集合,直到所述发起方三元组集合中缓存的乘法三元组的数量超过所述预设数量阈值;
所述发起方从所述发起方三元组集合的缓存中,随机选取一个三元组,作为所述发起方三元组。
可选地,所述发起方在接收到所述第三数据b1和第一参数u1时,获取一个随机三元组(x1,y1,z1),作为发起方三元组还包括:
所述发起方和所述参与方基于乘法三元组的子协议和同态加密,生成乘法三元组(X,Y,Z),并对所述乘法三元组(X,Y,Z)进行分割处理得到三元组(x1,y1,z1)和三元组(x2,y2,z2),其中,X*Y=Z,X=x1+x2,Y=y1+y2,Z=z1+z2;
所述发起方获取三元组(x1,y1,z1)作为发起方三元组。
可选地,所述基于所述参与方三元组、所述第二数据a2、所述第四数据b2和所述第二参数u2,确定第一关联参数信息包括:
所述参与方采用如下公式计算第一关联参数信息:
w2=(a2-b2)-x2
v2=u2-y2
其中,w2和v2为第一关联参数信息包含的参数,x2为所述三元组(x2,y2,z2)中的第一个元素,y2为所述三元组(x2,y2,z2)中的第二个元素。
可选地,所述基于所述发起方三元组、所述第一数据a1、所述第三数据b1和所述第一参数u1,确定第二关联参数信息包括:
所述发起方采用如下公式计算第二关联参数信息:
w1=(a1-b1)-x1
v1=u1-y1
其中,w1和v1为第二关联参数信息包含的参数,x1为所述三元组(x1,y1,z1)中的第一个元素,y1为所述三元组(x1,y1,z1)中的第二个元素。
可选地,所述发起方基于所述发起方三元组和接收到的所述第一关联参数信息进行还原计算,得到第二运算结果包括:
所述发起方采用如下公式进行还原计算:
c1= u1*(w1+w2)+ w1*(v1+v2)+z1
其中,c1为所述第二运算结果。
可选地,所述发起方对所述第一运算结果和所述第二运算结果进行还原比较处理,得到比较结果,包括:
所述发起方对所述第一运算结果和所述第二运算结果进行求和处理,得到运算值;
若所述运算值小于0,则确认所述发起方数据小于所述参与方数据,若运算值等于0,则确认所述发起方数据等于所述参与方数据,若所述运算值大于0,则确认所述发起方数据大于所述参与方数据。
为了解决上述技术问题,本申请实施例还提供一种隐私数据的数据比较装置,包括:
第一数据分割模块,用于所述发起方向所述参与方发送数据比较请求,并对发起方数据进行分割处理,得到第一数据a1和第二数据a2,将所述第二数据a2发送给所述参与方;
第二数据分割模块,用于所述参与方在接收到所述数据比较请求时,随机生成一个正整数u,并对参与方数据进行分割处理,得到第三数据b1和第四数据b2,对正整数u进行分割处理,得到第一参数u1和第二参数u2;
第一数据发送模块,用于所述参与方将所述第三数据b1和第一参数u1所述发送给所述发起方;
隐私数据运算模块,用于所述参与方基于所述第二数据a2、所述第四数据b2和所述第二参数u2,分别采用加法秘密分享和乘法三元组的方式与所述发起方进行秘密加法和乘法运算,得到第一运算结果,所述发起方基于所述第一数据a1、所述第三数据b1和所述第一参数u1,采用加法秘密分享和乘法三元组的方式与所述参与方进行秘密加法和乘法运算,得到第二运算结果;
结果还原比较模块,用于所述参与方将所述第一运算结果发送给发起方,所述发起方对所述第一运算结果和所述第二运算结果进行还原比较处理,得到比较结果。
可选地,所述隐私数据运算模块包括:
第一关联参数确定子模块,用于所述参与方在接收到所述第二数据a2时,获取一个随机三元组(x2,y2,z2),作为参与方三元组,并基于所述参与方三元组、所述第二数据a2、所述第四数据b2和所述第二参数u2,确定第一关联参数信息,并将所述第一关联参数信息发送给所述发起方;
第二关联参数确定子模块,用于所述发起方在接收到所述第三数据b1和第一参数u1时,获取一个随机三元组(x1,y1,z1),作为发起方三元组,基于所述发起方三元组、所述第一数据a1、所述第三数据b1和所述第一参数u1,确定第二关联参数信息,并将所述第二关联参数信息发送给所述参与方;
还原计算子模块,用于所述参与方基于所述参与方三元组和接收到的所述第二关联参数信息进行还原计算,得到第一运算结果,所述发起方基于所述发起方三元组和接收到的所述第一关联参数信息进行还原计算,得到第二运算结果。
可选地,所述装置还包括:
乘法三元组生成模块,用于可信第三方随机生成至少两组乘法三元组(X,Y,Z),其中,每组所述乘法三元组满足X*Y=Z;
乘法三元组分割模块,用于所述可信第三方对每组所述乘法三元组(X,Y,Z)进行分割处理得到三元组(x1,y1,z1)和三元组(x2,y2,z2),其中,X=x1+x2,Y=y1+y2,Z=z1+z2;
缓存模块,用于所述可信第三方将所述三元组(x1,y1,z1)和三元组(x2,y2,z2)分别发送给所述发起方和所述参与方进行缓存。
可选地,第二关联参数确定子模块包括:
目标乘法组确定单元,用于将所述可信第三方生成的乘法三元组(X,Y,Z)作为目标乘法组;
私密传输单元,用于所述发起方基于不经意传输的方式,获取所述目标乘法组分割处理得到的三元组(x1,y1,z1),缓存至发起方三元组集合,并从所述发起方三元组集合中,随机选取一个三元组,作为发起方三元组。
可选地,所述私密传输单元包括:
当前数量确定子单元,用于所述发起方读取所述发起方三元组集合中缓存的乘法三元组的数量信息,作为当前数量;
补充生成请求子单元,用于所述发起方将所述当前数量与预设数量阈值进行比较,若所述当前数量未超过所述预设数量阈值,则停止从所述发起方三元组集合的缓存中选取乘法三元组,并向所述可信第三方发送乘法三元组的补充生成请求;
数量补充子单元,用于所述可信第三方接收所述发起方的乘法三元组的补充生成请求,并基于所述乘法三元组的补充生成请求进行乘法三元组的生成,并将生成的乘法三元组分割后处理后得到的三元组(x1,y1,z1),缓存至发起方三元组集合,直到所述发起方三元组集合中缓存的乘法三元组的数量超过所述预设数量阈值;
随机选取子单元,用于所述发起方从所述发起方三元组集合的缓存中,随机选取一个三元组,作为所述发起方三元组。
可选地,第二关联参数确定子模块还包括:
同态加密单元,用于所述发起方和所述参与方基于乘法三元组的子协议和同态加密,生成乘法三元组(X,Y,Z),并对所述乘法三元组(X,Y,Z)进行分割处理得到三元组(x1,y1,z1)和三元组(x2,y2,z2),其中,X*Y=Z,X=x1+x2,Y=y1+y2,Z=z1+z2;
发起方三元组确定单元,用于所述发起方获取三元组(x1,y1,z1)作为发起方三元组。
可选地,第一关联参数确定子模块包括:
所述参与方采用如下公式计算第一关联参数信息:
w2=(a2-b2)-x2
v2=u2-y2
其中,w2和v2为第一关联参数信息包含的参数,x2为所述三元组(x2,y2,z2)中的第一个元素,y2为所述三元组(x2,y2,z2)中的第二个元素。
可选地,第二关联参数确定子模块还包括:
第一计算单元,用于所述发起方采用如下公式计算第二关联参数信息:
w1=(a1-b1)-x1
v1=u1-y1
其中,w1和v1为第二关联参数信息包含的参数,x1为所述三元组(x1,y1,z1)中的第一个元素,y1为所述三元组(x1,y1,z1)中的第二个元素。
可选地,所述还原计算子模块包括:
第二计算单元,用于所述发起方采用如下公式进行还原计算:
c1= u1*(w1+w2)+ w1*(v1+v2)+z1
其中,c1为所述第二运算结果。
可选地,所述结果还原比较模块包括:
运算结果求和单元,用于所述发起方对所述第一运算结果和所述第二运算结果进行求和处理,得到运算值;
比较结果确定单元,用于若所述运算值小于0,则确认所述发起方数据小于所述参与方数据,若运算值等于0,则确认所述发起方数据等于所述参与方数据,若所述运算值大于0,则确认所述发起方数据大于所述参与方数据。
为了解决上述技术问题,本申请实施例还提供一种计算机设备,包括存储器、处理器以及存储在所述存储器中并在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述隐私数据的数据比较方法的步骤。
为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述隐私数据的数据比较方法的步骤。
本发明实施例提供的隐私数据的数据比较方法、装置、计算机设备及存储介质,通过发起方向参与方发送数据比较请求,并对发起方数据进行分割处理,得到第一数据a1和第二数据a2,将第二数据a2发送给参与方,参与方在接收到数据比较请求时,随机生成一个正整数u,并对参与方数据进行分割处理,得到第三数据b1和第四数据b2,对正整数u进行分割处理,得到第一参数u1和第二参数u2,参与方将第三数据b1和第一参数u1发送给发起方,参与方基于第二数据a2、第四数据b2和第二参数u2,分别采用加法秘密分享和乘法三元组的方式与发起方进行秘密加法和乘法运算,得到第一运算结果,发起方基于第一数据a1、第三数据b1和第一参数u1,采用加法秘密分享和乘法三元组的方式与参与方进行秘密加法和乘法运算,得到第二运算结果,参与方将第一运算结果发送给发起方,发起方对第一运算结果和第二运算结果进行还原比较处理,得到比较结果,实现了通过秘密加法和乘法运算对分割数据进行处理,进而在发起方进行还原比较结果,确保数据隐私性和参与方的数据安全。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请可以应用于其中的示例性系统架构图;
图2是本申请的隐私数据的数据比较方法的一个实施例的流程图;
图3是根据本申请的隐私数据的数据比较装置的一个实施例的结构示意图;
图4是根据本申请的计算机设备的一个实施例的结构示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,图1示出本发明实施例提供的隐私数据的数据比较方法的应用环境。该隐私数据的数据比较方法应用隐私数据进行比较的场景中。该隐私数据比较场景包括发起方和参与方,其中,发起方和参与方之间通过网络进行连接,发起方和参与方可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,或者,可以采用独立的服务器或者多个服务器组成的服务器集群实现。
请参阅图2,图2示出本发明实施例提供的一种隐私数据的数据比较方法,以该方法应用在图1中的场景为例进行说明,详述如下:
S201:发起方向参与方发送数据比较请求,并对发起方数据进行分割处理,得到第一数据a1和第二数据a2,将第二数据a2发送给参与方。
其中,发起方是指发起隐私数据比较的数据持有方,参与方是指参与隐私数据比较的数据持有方。
其中,发起方数据是指发起方用于参与隐私数据比较的数据。
需要说明的是,发起方对发起方数据进行分割处理,可以是采用随机分割的方式,对发起方数据的数据进行分割。
例如,在一具体实施方式中,发起方A持有数据a,进行分割后,得到第一数据a1和第二数据a2,进而将第二数据a2发送给参与方B。
S202:参与方在接收到数据比较请求时,随机生成一个正整数u,并对参与方数据进行分割处理,得到第三数据b1和第四数据b2,对正整数u进行分割处理,得到第一参数u1和第二参数u2。
具体地,参与方针对参与方数据分割与步骤S201中发起方采用方式相同,此处不再赘述。
其中,正整数u可以采用随机数生成的方式进行生成。
继续以步骤S201中的示例为例,参与方B在对持有数据b,进行分割后,得到第三数据b1和第四数据b2,同时,参与方B随机生成一个正整数u,并对正整数u进行分割处理,得到第一参数u1和第二参数u2。
S203:参与方将第三数据b1和第一参数u1发送给发起方。
S204:参与方基于第二数据a2、第四数据b2和第二参数u2,分别采用加法秘密分享和乘法三元组的方式与发起方进行秘密加法和乘法运算,得到第一运算结果,发起方基于第一数据a1、第三数据b1和第一参数u1,采用加法秘密分享和乘法三元组的方式与参与方进行秘密加法和乘法运算,得到第二运算结果。
在一具体实施方式中,参与方基于第二数据a2、第四数据b2和第二参数u2,分别采用加法秘密分享和乘法三元组的方式与发起方进行秘密加法和乘法运算,得到第一运算结果,发起方基于第一数据a1、第三数据b1和第一参数u1,采用加法秘密分享和乘法三元组的方式与参与方进行秘密加法和乘法运算,得到第二运算结果包括步骤S2041至步骤S2043:
S2041,参与方在接收到第二数据a2时,获取一个随机三元组(x2,y2,z2),作为参与方三元组,并基于参与方三元组、第二数据a2、第四数据b2和第二参数u2,确定第一关联参数信息,并将第一关联参数信息发送给发起方。
其中,三元组是指数据格式为(x,y,z)的集合。
可选地,在参与方在接收到第二数据a2时,获取一个随机三元组(x2,y2,z2),作为参与方三元组之前,该方法还包括:
可信第三方随机生成至少两组乘法三元组(X,Y,Z),其中,每组乘法三元组满足X*Y=Z;
可信第三方对每组乘法三元组(X,Y,Z)进行分割处理得到三元组(x1,y1,z1)和三元组(x2,y2,z2),其中,X=x1+x2,Y=y1+y2,Z=z1+z2;
可信第三方将三元组(x1,y1,z1)和三元组(x2,y2,z2)分别发送给发起方和参与方进行缓存。
其中,乘法三元组是指用于协助进行基于秘密分享的碎片上的乘法计算的三组数据碎片(分割数据),满足关系X=x1+x2,Y=y1+y2,Z=z1+z2,Z=X*Y。
进一步地,基于参与方三元组、第二数据a2、第四数据b2和第二参数u2,确定第一关联参数信息包括:
参与方采用如下公式计算第一关联参数信息:
w2=(a2-b2)-x2
v2=u2-y2
其中,w2和v2为第一关联参数信息包含的参数,x2为三元组(x2,y2,z2)中的第一个元素,y2为三元组(x2,y2,z2)中的第二个元素。
S2042,发起方在接收到第三数据b1和第一参数u1时,获取一个随机三元组(x1,y1,z1),作为发起方三元组,基于发起方三元组、第一数据a1、第三数据b1和第一参数u1,确定第二关联参数信息,并将第二关联参数信息发送给参与方。
可选地,发起方在接收到第三数据b1和第一参数u1时,获取一个随机三元组(x1,y1,z1),作为发起方三元组,包括:
将可信第三方生成的乘法三元组(X,Y,Z)作为目标乘法组;
发起方基于不经意传输的方式,获取目标乘法组分割处理得到的三元组(x1,y1,z1),缓存至发起方三元组集合,并从所述发起方三元组集合中,随机选取一个三元组,作为发起方三元组。
其中,不经意传输(oblivioustransfer)是一个密码学协议,在这个协议中,消息发送者从一些待发送的消息中发送一条给接收者,但事后对发送了哪一条消息仍然oblivious(不知道),这个协议也叫茫然传输协议。本实施例中,采用不经意传输有利于确保数据隐私性和安全性。
进一步地,所述发起方基于不经意传输的方式,从可信第三方的缓存中任意选取一个乘法三元组(X,Y,Z)作为目标乘法组包括:
发起方读取所述发起方三元组集合中缓存的乘法三元组的数量信息,作为当前数量;
发起方将当前数量与预设数量阈值进行比较,若当前数量未超过预设数量阈值,则停止从发起方三元组集合的缓存中选取乘法三元组,并向可信第三方发送乘法三元组的补充生成请求;
可信第三方接收发起方的乘法三元组的补充生成请求,并基于乘法三元组的补充生成请求进行乘法三元组的生成,并将生成的乘法三元组分割后处理后得到的三元组(x1,y1,z1),缓存至发起方三元组集合,直到发起方三元组集合中缓存的乘法三元组的数量超过预设数量阈值;
发起方从发起方三元组集合的缓存中,随机选取一个三元组,作为发起方三元组。
其中,预设数量阈值可根据实际需要进行设定,此处不作具体限制。
需要说明的是,为确保数据的安全性,在本实施例中,乘法三元组无法重复使用,发起方三元组集合中缓存的每个乘法三元组在使用后,即将对缓存中的该乘法三元组进行销毁处理,避免乘法三元组被重复使用,提高数据安全性,但是同时,由于缓存的乘法三元组在使用过程中会逐渐减少,在数量低于一定数值后,需要对其进行补充,以确保每次可进行随机选取。
本实施例中,发起方读取发起方三元组集合中缓存的每个乘法三元组的数量信息,作为当前数量,并将当前数量与预设数量阈值进行比较,若当前数量未超过预设数量阈值,则停止从发起方三元组集合的缓存选取乘法三元组,并向可信第三方发送乘法三元组的补充生成请求并同时停止从可信第三方的缓存中任意选取一个乘法三元组,可信第三方在接收到该补充生成请求后,进行乘法三元组的补充生成。
其中,停止从发起方三元组集合的缓存选取乘法三元组,具体可采用阻塞的方式,通过让一组线程互相等待。
可选地,发起方在接收到第三数据b1和第一参数u1时,获取一个随机三元组(x1,y1,z1),作为发起方三元组还包括:
发起方和参与方基于乘法三元组的子协议和同态加密,生成乘法三元组(X,Y,Z),并对乘法三元组(X,Y,Z)进行分割处理得到三元组(x1,y1,z1)和三元组(x2,y2,z2),其中,X*Y=Z,X=x1+x2,Y=y1+y2,Z=z1+z2;
发起方获取三元组(x1,y1,z1)作为发起方三元组。
其中,同态加密(HE,Homomorphic Encryption)是指对密文计算后的结果再解密和直接对明文计算的结果一致,同态加密按照其满足的运算类型可分为加法同态(Paillier同态加密),乘法同态(RSA同态加密),以及加法乘法都满足的全同态加密(Gentry同态加密),例如,对数据a和数据b使用加法同态加密进行加密后得到Enc(a)和Enc(b),直接对密文执行加法操作Enc(a)+Enc(b)=Enc(a+b),解密后的结果即是a+b。
需要说明的是,基于协议得到碎片为实时生成,也即,在发起方和参与方需要使三元组时,基于乘法三元组的子协议,双方同时分别生成符合要求的三元组(x1,y1,z1)和三元组(x2,y2,z2),使得X*Y=Z,X=x1+x2,Y=y1+y2,Z=z1+z2。
进一步地,基于发起方三元组、第一数据a1、第三数据b1和第一参数u1,确定第二关联参数信息包括:
发起方采用如下公式计算第二关联参数信息:
w1=(a1-b1)-x1
v1=u1-y1
其中,w1和v1为第二关联参数信息包含的参数,x1为三元组(x1,y1,z1)中的第一个元素,y1为三元组(x1,y1,z1)中的第二个元素。
S2043,参与方基于参与方三元组和接收到的第二关联参数信息进行还原计算,得到第一运算结果,发起方基于发起方三元组和接收到的第一关联参数信息进行还原计算,得到第二运算结果。
具体地,发起方基于发起方三元组和接收到的第一关联参数信息进行还原计算,得到第二运算结果包括:
发起方采用如下公式进行还原计算:
c1= u1*(w1+w2)+ w1*(v1+v2)+z1
其中,c1为第二运算结果。
具体地,参与方基于参与方三元组和接收到的第二关联参数信息进行还原计算,得到第一运算结果包括:
c2= u2*(w1+w2)+ w2*(v1+v2)+z2-(w1+w2)*(v1+v2)
其中,c2为第一运算结果。
S205:参与方将第一运算结果发送给发起方,发起方对第一运算结果和第二运算结果进行还原比较处理,得到比较结果。
进一步地,发起方对第一运算结果和第二运算结果进行还原比较处理,得到比较结果,包括:
发起方对第一运算结果和第二运算结果进行求和处理,得到运算值;
若运算值小于0,则确认发起方数据小于参与方数据,若运算值等于0,则确认发起方数据等于参与方数据,若运算值大于0,则确认发起方数据大于参与方数据。
其中,发起方对第一运算结果和第二运算结果进行求和处理,得到运算值为c=c1+c2=u(a-b),u为正整数,当c小于0时,也即a小于b,当c大于0时,也即a大于b,在c等于0时,a与b相等。
本实施例中,发起方向参与方发送数据比较请求,并对发起方数据进行分割处理,得到第一数据a1和第二数据a2,将第二数据a2发送给参与方,参与方在接收到数据比较请求时,随机生成一个正整数u,并对参与方数据进行分割处理,得到第三数据b1和第四数据b2,对正整数u进行分割处理,得到第一参数u1和第二参数u2,参与方将第三数据b1和第一参数u1发送给发起方,参与方基于第二数据a2、第四数据b2和第二参数u2,分别采用加法秘密分享和乘法三元组的方式与发起方进行秘密加法和乘法运算,得到第一运算结果,发起方基于第一数据a1、第三数据b1和第一参数u1,采用加法秘密分享和乘法三元组的方式与参与方进行秘密加法和乘法运算,得到第二运算结果,参与方将第一运算结果发送给发起方,发起方对第一运算结果和第二运算结果进行还原比较处理,得到比较结果,实现了通过秘密加法和乘法运算对分割数据进行处理,进而在发起方进行还原比较结果,确保数据隐私性和参与方的数据安全。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
图3示出与上述实施例隐私数据的数据比较方法一一对应的隐私数据的数据比较装置的原理框图。如图3所示,该隐私数据的数据比较装置包括第一数据分割模块31、第二数据分割模块32、第一数据发送模块33、隐私数据运算模块34和结果还原比较模块35。各功能模块详细说明如下:
第一数据分割模块31,用于发起方向参与方发送数据比较请求,并对发起方数据进行分割处理,得到第一数据a1和第二数据a2,将第二数据a2发送给参与方;
第二数据分割模块32,用于参与方在接收到数据比较请求时,随机生成一个正整数u,并对参与方数据进行分割处理,得到第三数据b1和第四数据b2,对正整数u进行分割处理,得到第一参数u1和第二参数u2;
第一数据发送模块33,用于参与方将第三数据b1和第一参数u1发送给发起方;
隐私数据运算模块34,用于参与方基于第二数据a2、第四数据b2和第二参数u2,分别采用加法秘密分享和乘法三元组的方式与发起方进行秘密加法和乘法运算,得到第一运算结果,发起方基于第一数据a1、第三数据b1和第一参数u1,采用加法秘密分享和乘法三元组的方式与参与方进行秘密加法和乘法运算,得到第二运算结果;
结果还原比较模块35,用于参与方将第一运算结果发送给发起方,发起方对第一运算结果和第二运算结果进行还原比较处理,得到比较结果。
可选地,隐私数据运算模块34包括:
第一关联参数确定子模块,用于参与方在接收到第二数据a2时,获取一个随机三元组(x2,y2,z2),作为参与方三元组,并基于参与方三元组、第二数据a2、第四数据b2和第二参数u2,确定第一关联参数信息,并将第一关联参数信息发送给发起方;
第二关联参数确定子模块,用于发起方在接收到第三数据b1和第一参数u1时,获取一个随机三元组(x1,y1,z1),作为发起方三元组,基于发起方三元组、第一数据a1、第三数据b1和第一参数u1,确定第二关联参数信息,并将第二关联参数信息发送给参与方;
还原计算子模块,用于参与方基于参与方三元组和接收到的第二关联参数信息进行还原计算,得到第一运算结果,发起方基于发起方三元组和接收到的第一关联参数信息进行还原计算,得到第二运算结果。
可选地,该装置还包括:
乘法三元组生成模块,用于可信第三方随机生成至少两组乘法三元组(X,Y,Z),其中,每组乘法三元组满足X*Y=Z;
乘法三元组分割模块,用于可信第三方对每组乘法三元组(X,Y,Z)进行分割处理得到三元组(x1,y1,z1)和三元组(x2,y2,z2),其中,X=x1+x2,Y=y1+y2,Z=z1+z2;
缓存模块,用于可信第三方将三元组(x1,y1,z1)和三元组(x2,y2,z2)分别发送给发起方和参与方进行缓存。
可选地,第二关联参数确定子模块包括:
目标乘法组确定单元,用于将可信第三方生成乘法三元组(X,Y,Z)作为目标乘法组;
私密传输单元,用于所述发起方基于不经意传输的方式获取目标乘法组分割处理得到的三元组(x1,y1,z1),缓存至发起方三元组集合,并从所述发起方三元组集合中,随机选取一个三元组,作为发起方三元组。
可选地,私密传输单元包括:
当前数量确定子单元,用于发起方读取所述发起方三元组集合中缓存的乘法三元组的数量信息,作为当前数量;
补充生成请求子单元,用于发起方将当前数量与预设数量阈值进行比较,若当前数量未超过预设数量阈值,则停止从发起方三元组集合的缓存中选取乘法三元组,并向可信第三方发送乘法三元组的补充生成请求;
数量补充子单元,用于可信第三方接收发起方的乘法三元组的补充生成请求,并基于乘法三元组的补充生成请求进行乘法三元组的生成,并将生成的乘法三元组分割后处理后得到的三元组(x1,y1,z1),缓存至发起方三元组集合,直到发起方三元组集合中缓存的乘法三元组的数量超过预设数量阈值;
随机选取子单元,用于发起方从发起方三元组集合的缓存中,随机选取一个三元组,作为发起方三元组。
可选地,第二关联参数确定子模块还包括:
同态加密单元,用于发起方和参与方基于乘法三元组的子协议和同态加密,生成乘法三元组(X,Y,Z),并对乘法三元组(X,Y,Z)进行分割处理得到三元组(x1,y1,z1)和三元组(x2,y2,z2),其中,X*Y=Z,X=x1+x2,Y=y1+y2,Z=z1+z2;
发起方三元组确定单元,用于发起方获取三元组(x1,y1,z1)作为发起方三元组。
可选地,第一关联参数确定子模块包括:
参与方采用如下公式计算第一关联参数信息:
w2=(a2-b2)-x2
v2=u2-y2
其中,w2和v2为第一关联参数信息包含的参数,x2为三元组(x2,y2,z2)中的第一个元素,y2为三元组(x2,y2,z2)中的第二个元素。
可选地,第二关联参数确定子模块还包括:
第一计算单元,用于发起方采用如下公式计算第二关联参数信息:
w1=(a1-b1)-x1
v1=u1-y1
其中,w1和v1为第二关联参数信息包含的参数,x1为三元组(x1,y1,z1)中的第一个元素,y1为三元组(x1,y1,z1)中的第二个元素。
可选地,还原计算子模块包括:
第二计算单元,用于发起方采用如下公式进行还原计算:
c1= u1*(w1+w2)+ w1*(v1+v2)+z1
其中,c1为第二运算结果。
可选地,结果还原比较模块35包括:
运算结果求和单元,用于发起方对第一运算结果和第二运算结果进行求和处理,得到运算值;
比较结果确定单元,用于若运算值小于0,则确认发起方数据小于参与方数据,若运算值等于0,则确认发起方数据等于参与方数据,若运算值大于0,则确认发起方数据大于参与方数据。
关于隐私数据的数据比较装置的具体限定可以参见上文中对于隐私数据的数据比较方法的限定,在此不再赘述。上述隐私数据的数据比较装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图4,图4为本实施例计算机设备基本结构框图。
所述计算机设备4包括通过系统总线相互通信连接存储器41、处理器42、网络接口43。需要指出的是,图中仅示出了具有组件连接存储器41、处理器42、网络接口43的计算机设备4,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器 (Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器41至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或D界面显示存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器41可以是所述计算机设备4的内部存储单元,例如该计算机设备4的硬盘或内存。在另一些实施例中,所述存储器41也可以是所述计算机设备4的外部存储设备,例如该计算机设备4上配备的插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)等。当然,所述存储器41还可以既包括所述计算机设备4的内部存储单元也包括其外部存储设备。本实施例中,所述存储器41通常用于存储安装于所述计算机设备4的操作系统和各类应用软件,例如电子文件的控制的程序代码等。此外,所述存储器41还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器42在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器42通常用于控制所述计算机设备4的总体操作。本实施例中,所述处理器42用于运行所述存储器41中存储的程序代码或者处理数据,例如运行电子文件的控制的程序代码。
所述网络接口43可包括无线网络接口或有线网络接口,该网络接口43通常用于在所述计算机设备4与其他电子设备之间建立通信连接。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有界面显示程序,所述界面显示程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的隐私数据的数据比较方法的步骤。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。
Claims (13)
1.一种隐私数据的数据比较方法,应用于发起方和参与方双方之间的隐私数据比较,其特征在于,包括:
所述发起方向所述参与方发送数据比较请求,并对发起方数据进行分割处理,得到第一数据a1和第二数据a2,将所述第二数据a2发送给所述参与方;
所述参与方在接收到所述数据比较请求时,随机生成一个正整数u,并对参与方数据进行分割处理,得到第三数据b1和第四数据b2,对正整数u进行分割处理,得到第一参数u1和第二参数u2;
所述参与方将所述第三数据b1和第一参数u1所述发送给所述发起方;
所述参与方基于所述第二数据a2、所述第四数据b2和所述第二参数u2,分别采用加法秘密分享和乘法三元组的方式,与所述发起方进行秘密加法和乘法运算,得到第一运算结果,所述发起方基于所述第一数据a1、所述第三数据b1和所述第一参数u1,采用加法秘密分享和乘法三元组的方式,与所述参与方进行秘密加法和乘法运算,得到第二运算结果;
所述参与方将所述第一运算结果发送给发起方,所述发起方对所述第一运算结果和所述第二运算结果进行还原比较处理,得到比较结果。
2.如权利要求1所述的隐私数据的数据比较方法,其特征在于,所述参与方基于所述第二数据a2、所述第四数据b2和所述第二参数u2,分别采用加法秘密分享和乘法三元组的方式与所述发起方进行秘密加法和乘法运算,得到第一运算结果,所述发起方基于所述第一数据a1、所述第三数据b1和所述第一参数u1,采用加法秘密分享和乘法三元组的方式与所述参与方进行秘密加法和乘法运算,得到第二运算结果包括:
所述参与方在接收到所述第二数据a2时,获取一个随机三元组(x2,y2,z2),作为参与方三元组,并基于所述参与方三元组、所述第二数据a2、所述第四数据b2和所述第二参数u2,确定第一关联参数信息,并将所述第一关联参数信息发送给所述发起方;
所述发起方在接收到所述第三数据b1和第一参数u1时,获取一个随机三元组(x1,y1,z1),作为发起方三元组,基于所述发起方三元组、所述第一数据a1、所述第三数据b1和所述第一参数u1,确定第二关联参数信息,并将所述第二关联参数信息发送给所述参与方;
所述参与方基于所述参与方三元组和接收到的所述第二关联参数信息进行还原计算,得到第一运算结果,所述发起方基于所述发起方三元组和接收到的所述第一关联参数信息进行还原计算,得到所述第二运算结果。
3.如权利要求2所述的隐私数据的数据比较方法,其特征在于,在所述参与方在接收到所述第二数据a2时,获取一个随机三元组(x2,y2,z2),作为参与方三元组之前,所述方法还包括:
可信第三方随机生成至少两组乘法三元组(X,Y,Z),其中,每组所述乘法三元组满足X*Y=Z;
所述可信第三方对每组所述乘法三元组(X,Y,Z)进行分割处理得到三元组(x1,y1,z1)和三元组(x2,y2,z2),其中,X=x1+x2,Y=y1+y2,Z=z1+z2;
所述可信第三方将所述三元组(x1,y1,z1)和三元组(x2,y2,z2)分别发送给所述发起方和所述参与方进行缓存。
4.如权利要求3所述的隐私数据的数据比较方法,其特征在于,所述发起方在接收到所述第三数据b1和第一参数u1时,获取一个随机三元组(x1,y1,z1),作为发起方三元组,包括:
将所述可信第三方生成的乘法三元组(X,Y,Z)作为目标乘法组;
所述发起方基于不经意传输的方式,获取所述目标乘法组分割处理得到的三元组(x1,y1,z1),并缓存至发起方三元组集合,从所述发起方三元组集合中,随机选取一个三元组,作为发起方三元组。
5.如权利要求4所述的隐私数据的数据比较方法,其特征在于,所述从所述发起方三元组集合中,随机选取一个三元组,作为发起方三元组包括:所述发起方读取所述发起方三元组集合中缓存的乘法三元组的数量信息,作为当前数量;
所述发起方将所述当前数量与预设数量阈值进行比较,若所述当前数量未超过所述预设数量阈值,则停止从所述发起方三元组集合的缓存中选取乘法三元组,并向所述可信第三方发送乘法三元组的补充生成请求;
所述可信第三方接收所述发起方的乘法三元组的补充生成请求,并基于所述乘法三元组的补充生成请求进行乘法三元组的生成,并将生成的乘法三元组分割后处理后得到的三元组(x1,y1,z1),缓存至发起方三元组集合,直到所述发起方三元组集合中缓存的乘法三元组的数量超过所述预设数量阈值;
所述发起方从所述发起方三元组集合的缓存中,随机选取一个三元组,作为所述发起方三元组。
6.如权利要求2所述的隐私数据的数据比较方法,其特征在于,所述发起方在接收到所述第三数据b1和第一参数u1时,获取一个随机三元组(x1,y1,z1),作为发起方三元组还包括:
所述发起方和所述参与方基于乘法三元组的子协议和同态加密,生成乘法三元组(X,Y,Z),并对所述乘法三元组(X,Y,Z)进行分割处理得到三元组(x1,y1,z1)和三元组(x2,y2,z2),其中,X*Y=Z,X=x1+x2,Y=y1+y2,Z=z1+z2;
所述发起方获取三元组(x1,y1,z1)作为发起方三元组。
7.如权利要求2至6任一项所述的隐私数据的数据比较方法,其特征在于,所述基于所述参与方三元组、所述第二数据a2、所述第四数据b2和所述第二参数u2,确定第一关联参数信息包括:
所述参与方采用如下公式计算第一关联参数信息:
w2=(a2-b2)-x2
v2=u2-y2
其中,w2和v2为第一关联参数信息包含的参数,x2为所述三元组(x2,y2,z2)中的第一个元素,y2为所述三元组(x2,y2,z2)中的第二个元素。
8.如权利要求7所述的隐私数据的数据比较方法,其特征在于,所述基于所述发起方三元组、所述第一数据a1、所述第三数据b1和所述第一参数u1,确定第二关联参数信息包括:
所述发起方采用如下公式计算第二关联参数信息:
w1=(a1-b1)-x1
v1=u1-y1
其中,w1和v1为第二关联参数信息包含的参数,x1为所述三元组(x1,y1,z1)中的第一个元素,y1为所述三元组(x1,y1,z1)中的第二个元素。
9.如权利要求8所述的隐私数据的数据比较方法,其特征在于,所述发起方基于所述发起方三元组和接收到的所述第一关联参数信息进行还原计算,得到第二运算结果包括:
所述发起方采用如下公式进行还原计算:
c1= u1*(w1+w2)+ w1*(v1+v2)+z1
其中,c1为所述第二运算结果。
10.如权利要求1或2所述的隐私数据的数据比较方法,其特征在于,所述发起方对所述第一运算结果和所述第二运算结果进行还原比较处理,得到比较结果,包括:
所述发起方对所述第一运算结果和所述第二运算结果进行求和处理,得到运算值;
若所述运算值小于0,则确认所述发起方数据小于所述参与方数据,若运算值等于0,则确认所述发起方数据等于所述参与方数据,若所述运算值大于0,则确认所述发起方数据大于所述参与方数据。
11.一种隐私数据的数据比较装置,其特征在于,所述隐私数据的数据比较装置包括:
第一数据分割模块,用于发起方向参与方发送数据比较请求,并对发起方数据进行分割处理,得到第一数据a1和第二数据a2,将所述第二数据a2发送给所述参与方;
第二数据分割模块,用于所述参与方在接收到所述数据比较请求时,随机生成一个正整数u,并对参与方数据进行分割处理,得到第三数据b1和第四数据b2,对正整数u进行分割处理,得到第一参数u1和第二参数u2;
第一数据发送模块,用于所述参与方将所述第三数据b1和第一参数u1所述发送给所述发起方;
隐私数据运算模块,用于所述参与方基于所述第二数据a2、所述第四数据b2和所述第二参数u2,分别采用加法秘密分享和乘法三元组的方式与所述发起方进行秘密加法和乘法运算,得到第一运算结果,所述发起方基于所述第一数据a1、所述第三数据b1和所述第一参数u1,采用加法秘密分享和乘法三元组的方式与所述参与方进行秘密加法和乘法运算,得到第二运算结果;
结果还原比较模块,用于所述参与方将所述第一运算结果发送给发起方,所述发起方对所述第一运算结果和所述第二运算结果进行还原比较处理,得到比较结果。
12.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至10任一项所述的隐私数据的数据比较方法。
13.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至10任一项所述的隐私数据的数据比较方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111220490.2A CN113708930B (zh) | 2021-10-20 | 2021-10-20 | 隐私数据的数据比较方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111220490.2A CN113708930B (zh) | 2021-10-20 | 2021-10-20 | 隐私数据的数据比较方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113708930A CN113708930A (zh) | 2021-11-26 |
CN113708930B true CN113708930B (zh) | 2022-01-21 |
Family
ID=78646869
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111220490.2A Active CN113708930B (zh) | 2021-10-20 | 2021-10-20 | 隐私数据的数据比较方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113708930B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114422116B (zh) * | 2021-12-14 | 2023-11-28 | 阿里巴巴(中国)有限公司 | 数据处理方法及装置 |
CN114726511B (zh) * | 2022-03-08 | 2024-03-22 | 支付宝(杭州)信息技术有限公司 | 数据处理方法和装置 |
CN114520721B (zh) * | 2022-03-22 | 2024-03-29 | 杭州博盾习言科技有限公司 | 多方安全计算隐私求交方法、装置、设备及存储介质 |
CN114584285B (zh) * | 2022-05-05 | 2022-07-29 | 深圳市洞见智慧科技有限公司 | 安全多方处理方法及相关设备 |
CN116248266B (zh) * | 2022-12-16 | 2023-11-14 | 北京海泰方圆科技股份有限公司 | 基于秘密分享的安全多方计算方法及系统 |
CN116132029B (zh) * | 2022-12-22 | 2023-09-26 | 泉城省实验室 | 基于三选一茫然传输协议的通配符模式匹配方法及系统 |
CN116743376B (zh) * | 2023-07-28 | 2024-08-02 | 浙江大学 | 基于高效密文混淆技术的多方秘密分享数据隐私比较方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111539026A (zh) * | 2020-06-19 | 2020-08-14 | 支付宝(杭州)信息技术有限公司 | 针对隐私数据进行安全运算的方法和装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8473741B2 (en) * | 2010-05-03 | 2013-06-25 | Sap Ag | System and method for comparing private data |
FR3086417A1 (fr) * | 2018-09-24 | 2020-03-27 | Orange | Procede cryptographique de comparaison securisee de deux donnees secretes x et y |
CN109474417B (zh) * | 2018-10-29 | 2020-05-22 | 成都信息工程大学 | 一种高效的量子隐私比较方法及系统 |
CN110457574A (zh) * | 2019-07-05 | 2019-11-15 | 深圳壹账通智能科技有限公司 | 基于数据比较的信息推荐方法、装置及存储介质 |
CN111222158B (zh) * | 2019-11-07 | 2022-07-12 | 杭州趣链科技有限公司 | 一种基于区块链的两方安全隐私比较方法 |
CN111523144B (zh) * | 2020-07-03 | 2020-10-16 | 支付宝(杭州)信息技术有限公司 | 针对多方的隐私数据进行安全运算的方法和装置 |
CN111737757B (zh) * | 2020-07-31 | 2020-11-17 | 支付宝(杭州)信息技术有限公司 | 针对隐私数据进行安全运算的方法和装置 |
CN112506469B (zh) * | 2021-02-05 | 2021-04-27 | 支付宝(杭州)信息技术有限公司 | 针对隐私数据进行处理的方法和装置 |
CN113407991B (zh) * | 2021-06-10 | 2024-05-28 | 交通银行股份有限公司 | 一种基于可信第三方的隐私数据两方安全比较方法 |
-
2021
- 2021-10-20 CN CN202111220490.2A patent/CN113708930B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111539026A (zh) * | 2020-06-19 | 2020-08-14 | 支付宝(杭州)信息技术有限公司 | 针对隐私数据进行安全运算的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113708930A (zh) | 2021-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113708930B (zh) | 隐私数据的数据比较方法、装置、设备及介质 | |
CN108989047B (zh) | 一种基于sm2算法的通信双方协同签名方法与系统 | |
WO2021012574A1 (zh) | 多重签名方法、签名中心、介质及电子设备 | |
US9641340B2 (en) | Certificateless multi-proxy signature method and apparatus | |
CN114168977A (zh) | 一种基于密文的数值安全排序方法及系统 | |
CN111552978A (zh) | 基于DH加密和Hash表的隐私保护集合求交集方法 | |
CN109981576B (zh) | 密钥迁移方法和装置 | |
CN111404943A (zh) | 数据的处理方法、装置、电子设备及计算机可读存储介质 | |
CN113468601B (zh) | 数据隐私融合方法和装置 | |
CN116743376B (zh) | 基于高效密文混淆技术的多方秘密分享数据隐私比较方法 | |
CN114726597A (zh) | 数据传输方法、装置、系统及存储介质 | |
CN117932685A (zh) | 基于纵向联邦学习的隐私数据处理方法及相关设备 | |
CN114417309A (zh) | 一种双向身份验证方法、装置、设备及存储介质 | |
CN113645294A (zh) | 消息获取方法、装置、计算机设备和消息传输系统 | |
CN112242978B (zh) | 一种处理数据的方法和装置 | |
CN109981591B (zh) | 单一客户端生成私钥的密钥管理方法、电子设备 | |
CN116095671B (zh) | 一种基于元宇宙的资源共享方法及其相关设备 | |
US20170279777A1 (en) | File signature system and method | |
CN111274613B (zh) | 迭代式sm2数字签名生成方法、系统、介质和设备 | |
CN114329542A (zh) | 文件的签名方法、装置、终端及存储介质 | |
CN118194332B (zh) | 一种隐私求交方法、装置、设备及介质 | |
CN118368072B (zh) | 一种支持国密sm2算法的微服务扩展方法、装置及介质 | |
CN112615712B (zh) | 数据的处理方法、相关装置及计算机程序产品 | |
EP4307607A1 (en) | System and method of secured interface to a blockchain based network | |
CN117978383A (zh) | 一种密钥交换方法、装置、系统、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |