CN115865426A - 隐私求交方法和装置 - Google Patents
隐私求交方法和装置 Download PDFInfo
- Publication number
- CN115865426A CN115865426A CN202211418923.XA CN202211418923A CN115865426A CN 115865426 A CN115865426 A CN 115865426A CN 202211418923 A CN202211418923 A CN 202211418923A CN 115865426 A CN115865426 A CN 115865426A
- Authority
- CN
- China
- Prior art keywords
- data set
- data
- party
- commitment
- intersection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 238000004364 calculation method Methods 0.000 claims abstract description 17
- 238000012545 processing Methods 0.000 claims abstract description 9
- 238000004422 calculation algorithm Methods 0.000 claims description 29
- 230000006870 function Effects 0.000 claims description 14
- 238000012795 verification Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 12
- 238000013480 data collection Methods 0.000 claims 1
- 230000008569 process Effects 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 7
- 230000003993 interaction Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000012549 training Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000002904 solvent Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本申请提供一种隐私求交方法和装置,涉及数据处理技术领域,包括:获取数据集A1对应的加密数据集UA1以及数据集A2对应的加密数据集UA2,并将UA1和UA2发送至第二方,获取UA1和UA2各自对应的数据承诺,并将数据承诺上传至区块链,接收第二方发送的加密数据集UB1和加密数据集UB2,根据UA2对UB2进行二次加密,获得加密数据集UAB2,并将UAB2对应的数据承诺上传至区块链,接收第二方发送的加密数据集UBA2,获取UA1和UB1的交集以及UAB2和UBA2的交集,得到数据集A与数据集B的交集UAB。通过数据承诺的方式将参与方每一次的计算结果存入区块链,可以使另一参与方根据数据承诺对接收到的计算结果的真实性进行验证,从而保障双方的对等权益。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种隐私求交方法和装置。
背景技术
隐私求交是指允许持有隐私数据集合的各方在不泄露各自所持有的隐私数据的前提下,得到各方隐私数据的交集的一种安全计算技术。
目前,在多方隐私求交技术中,包括基于不经意传输的隐私求交方法、基于同态加密算法的隐私求交方法来得到各方隐私数据的交集。
但是,现有隐私求交算法中,是基于一个半诚实模型的假设,即参与方都会提供正确的数据,并会严格按照约定的协议执行,提供真实的计算结果,在用户提供假的计算结果时,缺少对应的识别方法。
发明内容
本申请提供一种隐私求交方法和装置,通过区块链和数据承诺的方式,可以验证隐私求交过程中用户提供的计算结果,从而防止或发现恶意用户的恶意行为。
第一方面,本申请提供一种隐私求交方法,应用于联邦学习系统中的第一方,所述方法包括:
获取第一数据集A1对应的第一加密数据集UA1以及第二数据集A2对应的第二加密数据集UA2,并将所述UA1和所述UA2发送至第二方;其中,所述第一数据集A1和所述第二数据集A2构成第一方的数据集A;
获取所述UA1和所述UA2各自对应的第一数据承诺,并将所述第一数据承诺上传至区块链,所述第一数据承诺用于对所述UA1和所述UA2进行验证;
接收第二方发送的第三加密数据集UB1和第四加密数据集UB2,根据所述UA2对所述UB2进行二次加密,获得第五加密数据集UAB2,并将所述UAB2对应的第二数据承诺上传至区块链,所述UB1和所述UB2为所述第二方对数据集B1和数据集B2进行加密处理得到的,所述数据集B1和数据集B2构成第二方数据集B,所述UB2与UA2为同类型数据;
接收第二方发送的第六加密数据集UBA2,获取所述UA1和所述UB1的交集以及所述UAB2和所述UBA2的交集,得到所述第一方数据集A与第二方数据集B的交集UAB,并将所述交集UAB对应的第三数据承诺上传至区块链。
可选的,针对数据集U,所述数据集U的数据承诺的获取方式具体为:
获取所述U的哈希值,并选取随机数k作为第一加密因子;
根据所述U的哈希值和所述第一加密因子,采用椭圆曲线加密算法生成所述U对应的第一数据承诺,所述k归属于所述椭圆曲线加密算法对应的素数域;
其中,所述数据集U为UA1、UA2、UAB2或UAB。
可选的,所述获取第一数据集A1对应的第一加密数据集UA1以及第二数据集A2对应的第二加密数据集UA2,包括:
获取所述A1中的每一个元素的哈希值,得到对应的第一哈希值集合;
对所述哈希值集合中的每一个哈希值进行二次哈希计算,获得所述UA1;
获取所述A2中的每一个元素的哈希值,得到对应的第二哈希值集合;
根据第二加密因子,采用椭圆曲线加密算法对所述第二哈希值集合中的每一个元素进行加密,获得所述UA2,所述第二加密因子归属于所述椭圆曲线加密算法对应的素数域。
可选的,所述根据所述UA2对所述UB2进行二次加密,获得第五加密数据集UAB2,包括:
获取所述UA2对应的所述第二加密因子;
将所述第二加密因子与所述UB2中每一个元素进行点乘,获得所述UAB2。
可选的,所述获取所述UA1和所述UB1的交集以及所述UAB2和所述UBA2的交集,得到所述第一方数据集A与第二方数据集B的交集UAB包括:
将所述UA1和所述UB1的交集映射回所述A1中,得到A1与B1的交集;
将所述UAB2和所述UBA2的交集映射回所述A2中,得到A2与B2的交集;
将所述A1与B1的交集和所述A2与B2的交集进行合并,得到所述UAB。
可选的,所述方法还包括:
根据所述第二方发送的第三加密因子,获取所述第一方数据集A与所述第二方数据集B的交集对应的第四数据承诺;
将所述第四数据承诺与所述第二方上传至区块链的所述第一方数据集A与所述第二方数据集B的交集对应的第五数据承诺进行比较,若相同,则所述第二方发送的数据有效。
可选的,在所述获取第一数据集A1对应的第一加密数据集UA1以及第二数据集A2对应的第二加密数据集UA2之前,所述方法还包括:
按照安全级别规则对所述数据集A进行分类获得所述A1和所述A2,所述安全级别规则用于指示所述数据集A中各元素的重要性,所述A1的安全级别小于所述A2;
将所述A1的安全级别和所述A2的安全级别各自对应的存证信息上传至区块链,所述存证信息用于对所述A1的安全级别和所述A2的安全级别进行验证。
第二方面,本申请提供一种隐私求交装置,应用于联邦学习系统中的第一方,所述装置包括:
第一获取模块,用于获取第一数据集A1对应的第一加密数据集UA1以及第二数据集A2对应的第二加密数据集UA2,并将所述UA1和所述UA2发送至第二方;其中,所述第一数据集A1和所述第二数据集A2构成第一方的数据集A;
第二获取模块,用于获取所述UA1和所述UA2各自对应的第一数据承诺,并将所述第一数据承诺上传至区块链,所述第一数据承诺用于对所述UA1和所述UA2进行验证;
第一接收模块,用于接收第二方发送的第三加密数据集UB1和第四加密数据集UB2,根据所述UA2对所述UB2进行二次加密,获得第五加密数据集UAB2,并将所述UAB2对应的第二数据承诺上传至区块链,所述UB1和所述UB2为所述第二方对数据集B1和数据集B2进行加密处理得到的,所述数据集B1和数据集B2构成第二方数据集B,所述UB2与UA2为同类型数据;
第二接收模块,用于接收第二方发送的第六加密数据集UBA2,获取所述UA1和所述UB1的交集以及所述UAB2和所述UBA2的交集,得到所述第一方数据集A与第二方数据集B的交集UAB,并将所述交集UAB对应的第三数据承诺上传至区块链。
第三方面,本申请提供一种电子设备,包括:存储器和处理器;
存储器用于存储计算机指令;处理器用于运行存储器存储的计算机指令实现第一方面中任一项的方法。
第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行以实现第一方面中任一项的方法。
第五方面,本申请提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面中任一项的方法。
本申请提供一种隐私求交方法和装置,通过获取第一数据集A1对应的第一加密数据集UA1以及第二数据集A2对应的第二加密数据集UA2,并将UA1和UA2发送至第二方,获取UA1和UA2各自对应的第一数据承诺,并将第一数据承诺上传至区块链,接收第二方发送的第三加密数据集UB1和第四加密数据集UB2,根据UA2对UB2进行二次加密,获得第五加密数据集UAB2,并将UAB2对应的第二数据承诺上传至区块链,接收第二方发送的第六加密数据集UBA2,获取UA1和UB1的交集以及UAB2和UBA2的交集,得到第一方数据集A与第二方数据集B的交集UAB,并将交集UAB对应的第三数据承诺上传至区块链。通过数据承诺的方式将参与方每一次的计算结果存入区块链,可以使另一参与方根据数据承诺对接收到的计算结果的真实性进行验证,从而保障双方的对等权益。
附图说明
图1为本申请实施例提供的场景示意图;
图2为本申请实施例提供的隐私求交方法的流程示意图一;
图3为本申请实施例提供的隐私求交方法的流程示意图一;
图4为本申请实施例提供的隐私求交装置的结构示意图;
图5为本申请实施例提供的隐私求交电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。
在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
联邦学习是指利用分散在各参与方的数据集,融合多方数据信息,协同构建全局模型的一种分布式训练方式。在模型训练过程中,模型的相关信息,如模型参数、模型结构、参数梯度等信息,能够在各参与方之间交换,但本地训练数据不离开本地。协调节点负责各参与方之间信息交换,比如收集各参与方传递的模型参数信息并经过相应算法更新后返回各参与方。
联邦学习强调数据可用不可见,保证数据不出本地前提下,各参与方之间协同构建模型,保护用户隐私和数据安全的同时,能充分利用各参与方数据共建模型。训练好的联邦学习模型可以在各数据参与方之间共享和部署使用。
隐私求交是联邦学习的关键前置步骤,指允许持有隐私数据集合的各方在不泄露各自所持有的隐私数据的前提下,得到各方隐私数据的交集的一种安全计算技术。
目前,在多方隐私求交技术中,包括基于不经意传输的隐私求交方法、基于同态加密算法的隐私求交方法来得到各方隐私数据的交集。
但是,现有隐私求交算法中,是基于一个半诚实模型的假设,即参与方都会提供正确的数据,并会严格按照约定的协议执行,提供真实的计算结果,在用户提供假的计算结果时,缺少对应的识别方法,并且现有隐私求交协议执行过程中,求交结果往往是由一方先获得,然后在同步给另一方。这导致隐私求交参与方权利的不完全对等,且很难防止先获得求交结果的用户的恶意欺骗,同步给另一方时发送的是假数据。
有鉴于此,本申请实施例提供一种隐私求交方法,通过采用数据承诺的方式,将每一个参与方每次的计算结果上链存证,以便监管方或一个参与方或任意第三方来验证另一参与方提供数据的真实性,同时,通过数据承诺方法,可以使得诚实的参与方来验证另一方是否提供了假数据,从而保障双方的对等权益。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以独立实现,也可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图1为本申请实施例的应用场景示意图,如图1所示,包括第一参与方101、第二参与方102和区块链103。
第一参与方101和第二参与方102都需要获取对方所拥有的数据中与自己所拥有的数据的交集,为保证在获取交集的过程中,各参与方的数据不暴露,即不让对方获取除交集之外的其他数据,将各自拥有的数据进行加密处理后发送至对方。
为对各参与方发送的数据的真实性进行监管,每一个参与方都对发送的数据通过加密算法生成对应的数据承诺,并将该数据承诺上传至区块链103,以使数据的接收方在接收到数据后,可以通过相同的加密算法获取该数据的数据承诺,并从区块链103上获取对应的数据承诺,来对该数据的真实性进行验证,若数据承诺相同,则接收到的数据为真实数据。
上面对本申请实施例的应用场景进行了简单说明,下面以应用于图1中的第一参与方(后续简称第一方)为例,对本申请实施例提供的隐私求交方法进行说明。
图2为本申请实施例提供的隐私求交方法的流程示意图一,如图2所示,包括如下步骤:
S201、获取第一数据集A1对应的第一加密数据集UA1以及第二数据集A2对应的第二加密数据集UA2,并将UA1和UA2发送至第二方;其中,第一数据集A1和第二数据集A2构成第一方的数据集A。
本申请实施例中,第一数据集A1和第二数据集A2可以为对第一方的数据集A进行划分得到的,例如,根据数据集中每一个元素(数据)不同的保密等级,将数据集划分为高保密等级和低保密等级两种,即,将数据集A划分为保密等级不同的两个数据集,本申请实施例中,第一数据集A1的保密等级低于第二数据集A2。
本申请实施例中,可以根据不同的加密方式对数据集A1和A2进行加密得到第一加密数据集UA1和第二加密数据集UA2,例如,对第一数据集A1采用哈希函数进行加密,得到第一加密数据集UA1,对第二数据集A2采用隐私求交中通用的加密函数,如,椭圆曲线加密函数,进行加密得到第二加密数据集UA2。
本申请实施例中,第一方获得UA1和UA2后,将UA1和UA2发送至第二方,以使第二方根据UA1和UA2进行对应的隐私求交流程。
S202、获取UA1和UA2各自对应的第一数据承诺,并将第一数据承诺上传至区块链,第一数据承诺用于对UA1和UA2进行验证。
本申请实施例中,数据承诺是指对数据集进行运算后得到的可以对数据集进行验证的凭证。
本申请实施例中,获取UA1和UA2各自对应的第一数据承诺是指对UA1进行运算得到其对应的第一数据承诺,和对UA2进行运算得到其对应的第一数据承诺,其中,对数据集进行运算可以为对数据集进行加密运算,例如,对数据集进行多次哈希函数加密。
本申请实施例中,第一方获取UA1和UA2各自对应的第一数据承诺后,将该第一数据承诺上传至区块链,以使第二方或者监管方根据该第一数据承诺对第一方发送的数据集UA1和UA2进行验证。
S203、接收第二方发送的第三加密数据集UB1和第四加密数据集UB2,根据UA2对UB2进行二次加密,获得第五加密数据集UAB2,并将UAB2对应的第二数据承诺上传至区块链。
本申请实施例中,UB1和UB2为第二方对数据集B1和数据集B2进行加密处理得到的,UB1和UB2的获取方式和UA1和UA2获取方式类似。
其中,数据集B1和数据集B2构成第二方数据集B,UB1与UA1为同类型数据,UB2与UA2为同类型数据,即,数据集B1和数据集B2的划分方式和数据集A1和数据集A2的划分方式相同。
本申请实施例中,根据UA2对UB2进行二次加密,获得第五加密数据集UAB2可以为根据UA2加密方式中的加密因子对UB2进行加密得到的。
示例性的,对A1采用哈希函数加密后可以为/>对A2采用椭圆曲线加密函数加密后可以为其中,rA为椭圆曲线加密函数中的加密因子,为第一方在椭圆曲线加密函数的素数域中随机选取的数,P为预先确定的椭圆曲线上任意点。
第一方接收到第五加密数据集UAB2,并将UAB2对应的第二数据承诺上传至区块链,第二数据承诺的获取方式与第一数据承诺的获取方式类似。
S204、接收第二方发送的第六加密数据集UBA2,获取UA1和UB1的交集以及UAB2和UBA2的交集,得到第一方数据集A与第二方数据集B的交集UAB,并将交集UAB对应的第三数据承诺上传至区块链。
本申请实施例中,第六加密数据集UBA2的生成方式与第五加密数据集UAB2的生成方式类似,即,UBA2为第二方根据B2对第一方发送的A2进行加密处理的到的。
本申请实施例中,UA1和UB1采用同样的加密算法得到的,第一方将UA1和UB1进行比较,表现形式相同的则为UA1和UB1的交集,UAB2和UBA2的交集的获取方式相同,将UA1和UB1的交集以及UAB2和UBA2的交集进行合并,得到第一方数据集A与第二方数据集B的交集UAB,获取交集UAB对应的第三数据承诺并上传至区块链,第三数据承诺的获取方式与第一数据承诺的获取方式类似。
本申请实施例提供的隐私求交方法,通过获取第一数据集A1对应的第一加密数据集UA1以及第二数据集A2对应的第二加密数据集UA2,并将UA1和UA2发送至第二方,获取UA1和UA2各自对应的第一数据承诺,并将第一数据承诺上传至区块链,接收第二方发送的第三加密数据集UB1和第四加密数据集UB2,根据UA2对UB2进行二次加密,获得第五加密数据集UAB2,并将UAB2对应的第二数据承诺上传至区块链,接收第二方发送的第六加密数据集UBA2,获取UA1和UB1的交集以及UAB2和UBA2的交集,得到第一方数据集A与第二方数据集B的交集UAB,并将交集UAB对应的第三数据承诺上传至区块链。通过数据承诺的方式将参与方每一次的计算结果存入区块链,可以使另一参与方根据数据承诺对接收到的计算结果的真实性进行验证,从而保障双方的对等权益。
图3为本申请实施例提供的隐私求交方法的流程示意图二,在图2所示实施例的基础上,进一步对本申请实施例提供的隐私求交方法进行说明,如图3所示,包括如下步骤:
S301、确定隐私求交的初始参数。
本申请实施例中,隐私求交的初始参数是指在隐私求交过程中所需要采用的数据分类方法、加密算法、哈希函数等参数。
本申请实施例中,参与隐私求交的各方所拥有的数据集中每一个元素具有不同的物理意义,即,每一个元素的安全级别或者重要性不同,若对所有元素都采用同一种加密算法,则会降低隐私求交过程的效率,因此,在隐私求交前,各参与方可以根据行业标准或者企业标准,按照统一的规则确定各自数据的安全级别,即各自数据的分类方法。
本申请实施例中,各参与方可以通过协商确定加密算法和哈希函数等参数。
示例性的,加密算法可以为椭圆曲线加密算法,选择有限素数域Zp上的椭圆曲线:E:y2=x3+ax+b,其中,a,b∈Fp,4a3+27b2≠0(modp),p是一个大素数,P为椭圆曲线上的任意一点,P的阶为n(n是一个大素数),本申请实施例以区块链上使用较广的secp256k1椭圆曲线为例(,给出如下参数的具体取值:
p=ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffeffffc2f
=2^256-2^32-2^9-2^8-2^7-2^6-2^4-1
a=00000000 00000000 00000000 00000000 00000000 00000000 0000000000000000
b=00000000 00000000 00000000 00000000 00000000 00000000 0000000000000007
P=02 79be667e f9dcbbac 55a06295 ce870b07 029bfcdb 2dce28d9 59f2815b16f81798
n=ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8cd0364141
哈希函数h采用单向哈希函数:{0,1}*→Zp。
S302、第一方对数据集A进行分类,并将分类后的多个数据集对应的存证信息上传至区块链。
本申请实施例中,存证信息是指可以对分类的数据集的安全级别进行验证的信息,第一方根据确定的数据集中各元素的安全级别(分类方法),对数据集A进行分类,获得数据集A1和数据集A2。
示例性的,将数据集A分为非隐私数据集A1和隐私数据集A2,采用哈希函数计算A1和A2对应的存证信息,并将存证信息上传至区块链。
可选的,第一方还可以将隐私求交任务代码和阶段代码进行上链存证。
S303、第二方对数据集B进行分类,并将分类后的多个数据集对应的存证信息上传至区块链。
本申请实施例中S303的具体实现方式和S302中的实现方式类似,此处不再赘述。
S304、第一方获取数据集A1对应的第一加密数据集UA1以及数据集A2对应的第二加密数据集UA2,并将UA1和UA2发送至第二方。
第一方获取到UA1和UA2后,将UA1和UA2发送至第二方。
S305、第一方获取UA1和UA2各自对应的数据承诺,并将数据承诺上传至区块链。
本申请实施例中,第一方获取UA1和UA2后,采用椭圆曲线加密算法获取UA1和UA2各自对应的数据承诺。
以UA1为例,获取UA1的哈希值,并选取随机数k作为第一加密因子,根据UA1的哈希值和第一加密因子,采用椭圆曲线加密算法生成UA1对应的第一数据承诺,其中,k∈Zp,G1、G2为椭圆曲线上阶为p的点。
S306、第二方获取数据集B1对应的第一加密数据集UB1以及数据集B2对应的第二加密数据集UB2,并将UB1和UB2发送至第一方。
S307、第二方获取UB1和UB2各自对应的数据承诺,并将数据承诺上传至区块链。
本申请实施例中,S306所示的具体实现方式和S304所示的实现方式类似,S307所示的具体实现方式和S305所示的实现方式类似,此处不再赘述。
S308、第一方根据UA2对UB2进行二次加密,获得第五加密数据集UAB2,并将UAB2发送至第二方。
本申请实施例中,第一方获取UA2对应的第二加密因子;将第二加密因子与UB2中每一个元素进行点乘,获得UAB2。即,第一方选择加密因子rA对UB2进行加密,获得UAB2,将UAB2发送至第二方。
S309、第一方获取UAB2对应的数据承诺,并将数据承诺上传至区块链。
S310、第二方根据UB2对UA2进行二次加密,获得加密数据集UBA2,并将UBA2发送至第一方。
S311、第二方获取UBA2对应的数据承诺,并将数据承诺上传至区块链。
本申请实施例中,S310所示的具体实现方式和S308所示的实现方式类似,S311所示的具体实现方式和S309所示的实现方式类似,此处不再赘述。
S312、第一方获取UA1和UB1的交集以及UAB2和UBA2的交集,得到第一方数据集A与第二方数据集B的交集UAB,并将交集UAB对应的数据承诺上传至区块链。
本申请实施例中,将UA1和UB1的交集映射回A1中,得到A1与B1的交集;将UAB2和UBA2的交集映射回A2中,得到A2与B2的交集,将上述两个交集进行合并,得到数据集A与数据集B的交集UAB。
本申请实施例中,UAB对应的数据承诺的获取方式与UA1的数据承诺的获取方式类似,CAB(UAB)=h(h(UAB)G1+kG2)。获取到CAB(UAB)后,将该数据承诺上传至区块链。
S313、第二方获取UA1和UB1的交集以及UAB2和UBA2的交集,得到第一方数据集A与第二方数据集B的交集UAB,并将交集UAB对应的数据承诺上传至区块链。
本申请实施例中,S313的具体实现方式与S312的实现方式类似,此处不再赘述。
S314、对接收到的数据的有效性进行验证。
本申请实施例中,以第二方为例,对第一方发送的数据进行验证的过程进行说明。
第二方向第一方发出验证请求,第一方同意后,利用第二方的公钥将随机加密因子k加密,并将密文发送给第二方,第二方收到后,利用对应的私钥进行解密,并于自己得出的B∩A计算C′AB=h(h(B∩A)G1+kG2),并将C′AB与第一方上链的A∩B的承诺比较CAB,若相同,则说明第一方发送的数据有效。
可选的,若第三方需要验证第一方数据有效性,首先第三方向第一方发出验证请求,第一方同意请求后,利用第三方的公钥加密和k,并发送给第三方,第三方利用自己的私钥解密/>和k的密文,并计算/> 最后比较/>与链上公开的/>是否相同,若相同,则通过本次验证,否则验证失败。
本申请实施例提供的隐私求交方法,通过对各参与方中的数据按照安全级别进行分类,针对不同安全级别的数据采用不同的加密算法,可以提升隐私求交过程的效率,通过数据承诺并上链的方式,可以对各参与方发送的计算结果的真实性进行验证,保障各参与方权益的对等,从而防止或发现恶意参与方的恶意行为。
在上述实施例提供的隐私求交方法的基础上,本申请实施例还提供一种隐私求交装置。
图4为本申请实施例提供的隐私求交装置40的结构示意图。如图4所示,包括:
第一获取模块401,用于获取第一数据集A1对应的第一加密数据集UA1以及第二数据集A2对应的第二加密数据集UA2,并将UA1和UA2发送至第二方;其中,第一数据集A1和第二数据集A2构成第一方的数据集A。
第二获取模块402,用于获取UA1和UA2各自对应的第一数据承诺,并将第一数据承诺上传至区块链,第一数据承诺用于对UA1和UA2进行验证。
第一接收模块403,用于接收第二方发送的第三加密数据集UB1和第四加密数据集UB2,根据UA2对UB2进行二次加密,获得第五加密数据集UAB2,并将UAB2对应的第二数据承诺上传至区块链,UB1和UB2为第二方对数据集B1和数据集B2进行加密处理得到的,数据集B1和数据集B2构成第二方数据集B,UB2与UA2为同类型数据。
第二接收模块404,用于接收第二方发送的第六加密数据集UBA2,获取UA1和UB1的交集以及UAB2和UBA2的交集,得到第一方数据集A与第二方数据集B的交集UAB,并将交集UAB对应的第三数据承诺上传至区块链。
可选的,第二获取模块402,还用于获取数据集U的哈希值,并选取随机数k作为第一加密因子;根据U的哈希值和第一加密因子,采用椭圆曲线加密算法生成U对应的第一数据承诺,k归属于所述椭圆曲线加密算法对应的素数域;其中,数据集U为UA1、UA2、UAB2或UAB。
可选的,第一获取模块401,还用于获取A1中的每一个元素的哈希值,得到对应的第一哈希值集合;对哈希值集合中的每一个哈希值进行二次哈希计算,获得所述UA1;以及获取A2中的每一个元素的哈希值,得到对应的第二哈希值集合;根据第二加密因子,采用椭圆曲线加密算法对第二哈希值集合中的每一个元素进行加密,获得UA2,第二加密因子归属于椭圆曲线加密算法对应的素数域。
可选的,第一接收模块403,还用于获取UA2对应的所述第二加密因子;将所述第二加密因子与UB2中每一个元素进行点乘,获得所述UAB2。
可选的,第二接收模块404,还用于将UA1和UB1的交集映射回A1中,得到A1与B1的交集;将UAB2和UBA2的交集映射回A2中,得到A2与B2的交集。
可选的,隐私求交装置40还包括验证模块405。
验证模块405,用于根据第二方发送的第三加密因子,获取第一方数据集A与第二方数据集B的交集对应的第四数据承诺;将第四数据承诺与第二方上传至区块链的第一方数据集A与第二方数据集B的交集对应的第五数据承诺进行比较,若相同,则第二方发送的数据有效。
可选的,隐私求交装置40还包括分级模块406。
分级模块406,用于按照安全级别规则对数据集A进行分类获得A1和A2,安全级别规则用于指示数据集A中各元素的重要性,A1的安全级别小于A2;将A1的安全级别和A2的安全级别各自对应的存证信息上传至区块链,存证信息用于对A1的安全级别和A2的安全级别进行验证。
可以理解的是,本申请实施例提供的隐私求交装置,可以执行任意参与隐私求交的参与方对应的隐私求交方法,其过程与第一方类似,此处不再赘述。
本申请实施例提供的隐私求交装置,可以执行图2和图3所示的隐私求交方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图5为本申请实施例提供的隐私求交电子设备的结构示意图。如图5所示,本实施例提供的隐私求交电子设备50可以包括:
处理器501。
存储器502,用于存储终端设备的可执行指令。
其中,处理器配置为经由执行可执行指令来执行上述隐私求交方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本申请实施例中还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述隐私求交方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
一种可能的实现方式中,计算机可读介质可以包括随机存取存储器(RandomAccess Memory,RAM),只读存储器(Read-Only Memory,ROM),只读光盘(compact discread-only memory,CD-ROM)或其它光盘存储器,磁盘存储器或其它磁存储设备,或目标于承载的任何其它介质或以指令或数据结构的形式存储所需的程序代码,并且可由计算机访问。而且,任何连接被适当地称为计算机可读介质。例如,如果使用同轴电缆,光纤电缆,双绞线,数字用户线(Digital Subscriber Line,DSL)或无线技术(如红外,无线电和微波)从网站,服务器或其它远程源传输软件,则同轴电缆,光纤电缆,双绞线,DSL或诸如红外,无线电和微波之类的无线技术包括在介质的定义中。如本文所使用的磁盘和光盘包括光盘,激光盘,光盘,数字通用光盘(Digital Versatile Disc,DVD),软盘和蓝光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光光学地再现数据。上述的组合也应包括在计算机可读介质的范围内。
本申请实施例中还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述隐私求交方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
在上述终端设备或者服务器的具体实现中,应理解,处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:ApplicationSpecific Integrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
本领域技术人员可以理解,上述任一方法实施例的全部或部分步骤可以通过与程序指令相关的硬件来完成。前述的程序可以存储于计算机可读取存储介质中,该程序被执行时,执行上述方法实施例的全部或部分的步骤。
本申请技术方案如果以软件的形式实现并作为产品销售或使用时,可以存储在计算机可读取存储介质中。基于这样的理解,本申请的技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括计算机程序或者若干指令。该计算机软件产品使得计算机设备(可以是个人计算机、服务器、网络设备或者类似的电子设备)执行本申请实施例所述方法的全部或部分步骤。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (10)
1.一种隐私求交方法,其特征在于,应用于联邦学习系统中的第一方,所述方法包括:
获取第一数据集A1对应的第一加密数据集UA1以及第二数据集A2对应的第二加密数据集UA2,并将所述UA1和所述UA2发送至第二方;其中,所述第一数据集A1和所述第二数据集A2构成第一方的数据集A;
获取所述UA1和所述UA2各自对应的第一数据承诺,并将所述第一数据承诺上传至区块链,所述第一数据承诺用于对所述UA1和所述UA2进行验证;
接收第二方发送的第三加密数据集UB1和第四加密数据集UB2,根据所述UA2对所述UB2进行二次加密,获得第五加密数据集UAB2,并将所述UAB2对应的第二数据承诺上传至区块链,所述UB1和所述UB2为所述第二方对数据集B1和数据集B2进行加密处理得到的,所述数据集B1和数据集B2构成第二方数据集B,所述UB2与UA2为同类型数据;
接收第二方发送的第六加密数据集UBA2,获取所述UA1和所述UB1的交集以及所述UAB2和所述UBA2的交集,得到所述第一方数据集A与第二方数据集B的交集UAB,并将所述交集UAB对应的第三数据承诺上传至区块链。
2.根据权利要求1所述的方法,其特征在于,针对数据集U,所述数据集U的数据承诺的获取方式具体为:
获取所述数据集U的哈希值,并选取随机数k作为第一加密因子;
根据所述数据集U的哈希值和所述第一加密因子,采用椭圆曲线加密算法生成所述数据集U对应的第一数据承诺,所述k归属于所述椭圆曲线加密算法对应的素数域;
其中,所述数据集U为UA1、UA2、UAB2或UAB。
3.根据权利要求2所述的方法,其特征在于,所述获取第一数据集A1对应的第一加密数据集UA1以及第二数据集A2对应的第二加密数据集UA2,包括:
获取所述A1中的每一个元素的哈希值,得到对应的第一哈希值集合;
对所述第一哈希值集合中的每一个哈希值进行二次哈希计算,获得所述UA1;
获取所述A2中的每一个元素的哈希值,得到对应的第二哈希值集合;
根据第二加密因子,采用椭圆曲线加密算法对所述第二哈希值集合中的每一个元素进行加密,获得所述UA2,所述第二加密因子归属于所述椭圆曲线加密算法对应的素数域。
4.根据权利要求3所述的方法,其特征在于,所述根据所述UA2对所述UB2进行二次加密,获得第五加密数据集UAB2,包括:
获取所述UA2对应的所述第二加密因子;
将所述第二加密因子与所述UB2中每一个元素进行点乘,获得所述UAB2。
5.根据权利要求3所述的方法,其特征在于,所述获取所述UA1和所述UB1的交集以及所述UAB2和所述UBA2的交集,得到所述第一方数据集A与第二方数据集B的交集UAB,包括:
将所述UA1和所述UB1的交集映射回所述A1中,得到A1与B1的交集;
将所述UAB2和所述UBA2的交集映射回所述A2中,得到A2与B2的交集;
将所述A1与B1的交集和所述A2与B2的交集进行合并,得到所述UAB。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
根据所述第二方发送的第三加密因子,获取所述第一方数据集A与所述第二方数据集B的交集对应的第四数据承诺;
将所述第四数据承诺与所述第二方上传至区块链的所述第一方数据集A与所述第二方数据集B的交集对应的第五数据承诺进行比较,若相同,则所述第二方发送的数据有效。
7.根据权利要求5所述的方法,其特征在于,在所述获取第一数据集A1对应的第一加密数据集UA1以及第二数据集A2对应的第二加密数据集UA2之前,所述方法还包括:
按照安全级别规则对所述数据集A进行分类获得所述A1和所述A2,所述安全级别规则用于指示所述数据集A中各元素的重要性,所述A1的安全级别小于所述A2;
将所述A1的安全级别和所述A2的安全级别各自对应的存证信息上传至区块链,所述存证信息用于对所述A1的安全级别和所述A2的安全级别进行验证。
8.一种隐私求交装置,其特征在于,应用于联邦学习系统中的第一方,所述装置包括:
第一获取模块,用于获取第一数据集A1对应的第一加密数据集UA1以及第二数据集A2对应的第二加密数据集UA2,并将所述UA1和所述UA2发送至第二方;其中,所述第一数据集A1和所述第二数据集A2构成第一方的数据集A;
第二获取模块,用于获取所述UA1和所述UA2各自对应的第一数据承诺,并将所述第一数据承诺上传至区块链,所述第一数据承诺用于对所述UA1和所述UA2进行验证;
第一接收模块,用于接收第二方发送的第三加密数据集UB1和第四加密数据集UB2,根据所述UA2对所述UB2进行二次加密,获得第五加密数据集UAB2,并将所述UAB2对应的第二数据承诺上传至区块链,所述UB1和所述UB2为所述第二方对数据集B1和数据集B2进行加密处理得到的,所述数据集B1和数据集B2构成第二方数据集B,所述UB2与UA2为同类型数据;
第二接收模块,用于接收第二方发送的第六加密数据集UBA2,获取所述UA1和所述UB1的交集以及所述UAB2和所述UBA2的交集,得到所述第一方数据集A与第二方数据集B的交集UAB,并将所述交集UAB对应的第三数据承诺上传至区块链。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行以实现权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211418923.XA CN115865426B (zh) | 2022-11-14 | 2022-11-14 | 隐私求交方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211418923.XA CN115865426B (zh) | 2022-11-14 | 2022-11-14 | 隐私求交方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115865426A true CN115865426A (zh) | 2023-03-28 |
CN115865426B CN115865426B (zh) | 2024-03-26 |
Family
ID=85663323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211418923.XA Active CN115865426B (zh) | 2022-11-14 | 2022-11-14 | 隐私求交方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115865426B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116305300A (zh) * | 2023-05-25 | 2023-06-23 | 北京数牍科技有限公司 | 公平隐私集合求交方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110719159A (zh) * | 2019-09-24 | 2020-01-21 | 河南师范大学 | 抗恶意敌手的多方隐私集合交集方法 |
WO2021046668A1 (zh) * | 2019-09-09 | 2021-03-18 | 深圳市网心科技有限公司 | 区块链系统及信息传输方法、系统、装置、计算机介质 |
CN113553615A (zh) * | 2021-07-07 | 2021-10-26 | 深圳前海新心数字科技有限公司 | 一种隐私数据共享系统的匹配查询方法 |
CN114092242A (zh) * | 2021-11-03 | 2022-02-25 | 支付宝(杭州)信息技术有限公司 | 基于范围证明实现隐私交易的方法和系统 |
CN114978493A (zh) * | 2022-05-11 | 2022-08-30 | 浙江大学 | 基于区块链的去中心化隐私求交方法及装置、电子设备 |
-
2022
- 2022-11-14 CN CN202211418923.XA patent/CN115865426B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021046668A1 (zh) * | 2019-09-09 | 2021-03-18 | 深圳市网心科技有限公司 | 区块链系统及信息传输方法、系统、装置、计算机介质 |
CN110719159A (zh) * | 2019-09-24 | 2020-01-21 | 河南师范大学 | 抗恶意敌手的多方隐私集合交集方法 |
CN113553615A (zh) * | 2021-07-07 | 2021-10-26 | 深圳前海新心数字科技有限公司 | 一种隐私数据共享系统的匹配查询方法 |
CN114092242A (zh) * | 2021-11-03 | 2022-02-25 | 支付宝(杭州)信息技术有限公司 | 基于范围证明实现隐私交易的方法和系统 |
CN114978493A (zh) * | 2022-05-11 | 2022-08-30 | 浙江大学 | 基于区块链的去中心化隐私求交方法及装置、电子设备 |
Non-Patent Citations (3)
Title |
---|
YINBIN MIAO: "federated learning Privacy-Preserving Byzantine-Robust Federated Learning via Blockchain Systems", 《IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY》, 3 August 2022 (2022-08-03) * |
刘峰: "区块链密码学隐私保护综述", 《网络与信息安全学报》, 15 August 2022 (2022-08-15) * |
熊璐;杨阳;沙金锐;范磊;: "基于区块链的隐私保护交集算法", 通信技术, no. 07, 10 July 2020 (2020-07-10) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116305300A (zh) * | 2023-05-25 | 2023-06-23 | 北京数牍科技有限公司 | 公平隐私集合求交方法 |
CN116305300B (zh) * | 2023-05-25 | 2023-07-21 | 北京数牍科技有限公司 | 公平隐私集合求交方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115865426B (zh) | 2024-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11900368B2 (en) | Method and system for zero-knowledge and identity based key management for decentralized applications | |
CN107967557B (zh) | 基于区块链的可修改信誉评价系统及方法、电子支付系统 | |
CN109756485B (zh) | 电子合同签署方法、装置、计算机设备及存储介质 | |
TWI760149B (zh) | 決定用於資訊的安全交換的共同私密,及階層化的決定性加密金鑰 | |
CN110958110B (zh) | 一种基于零知识证明的区块链隐私数据管理方法和系统 | |
US10846372B1 (en) | Systems and methods for trustless proof of possession and transmission of secured data | |
CN110520881A (zh) | 使用区块链的安全数据记录分发的方法和系统 | |
CN109478280A (zh) | 区块链实现的方法和系统 | |
US10887104B1 (en) | Methods and systems for cryptographically secured decentralized testing | |
US20210241270A1 (en) | System and method of blockchain transaction verification | |
CN109104410B (zh) | 一种信息的匹配方法及装置 | |
CN115499379B (zh) | 一种基于区块链的信息交互方法、装置、设备及介质 | |
CN113360943A (zh) | 一种区块链隐私数据的保护方法及装置 | |
CN111010280A (zh) | 一种基于群签名的可监管区块链构造方法 | |
CN115396115B (zh) | 区块链数据隐私保护方法、装置、设备及可读存储介质 | |
US20230237437A1 (en) | Apparatuses and methods for determining and processing dormant user data in a job resume immutable sequential listing | |
He et al. | A novel cryptocurrency wallet management scheme based on decentralized multi-constrained derangement | |
CN110597836A (zh) | 基于区块链网络的信息查询请求响应方法及装置 | |
CN111091380B (zh) | 一种基于好友隐蔽验证的区块链资产管理方法 | |
CN115865426B (zh) | 隐私求交方法和装置 | |
CN115208628A (zh) | 基于区块链的数据完整性验证方法 | |
Li et al. | A new revocable reputation evaluation system based on blockchain | |
CN110912702B (zh) | 一种基于隐藏社交关系的区块链资产管理方法 | |
CN114514550A (zh) | 将请求分区成区块链的交易 | |
TW202402009A (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 |