两方安全选择确定选择结果分片的方法、装置和系统制造方法及图纸

技术编号:31087115 阅读:20 留言:0更新日期:2021-12-01 12:42
本说明书实施例提供一种两方安全选择确定选择结果分片的方法、装置和系统,采用多方安全计算实现,如混淆电路。方法包括:第一方本地计算第一数据的本方分片与第二数据的本方分片的第一差值,并根据第一差值确定第一输入数据;与第二方基于选择比特在第一输入数据和第二输入数据中执行选择,将选择的结果作为中间结果,计算中间结果与第一随机数的第三差值;第二输入数据基于第二差值确定,第二差值为第二方基于第二数据的本方分片与第一数据的本方分片相减得到;本地计算第二数据的本方分片与第一随机数之和,得到求和结果,并根据求和结果确定选择结果的第一分片;选择结果的第二分片由第二方根据第三差值确定。能够有效减小通信代价。减小通信代价。减小通信代价。

【技术实现步骤摘要】
两方安全选择确定选择结果分片的方法、装置和系统


[0001]本说明书一个或多个实施例涉及计算机领域,尤其涉及两方安全选择确定选择结果分片的方法、装置和系统。

技术介绍

[0002]安全多方计算又称为多方安全计算,即多方共同计算出一个函数的结果,而不泄露这个函数各方的输入数据,计算的结果公开给其中的一方或多方。其中,各方的输入数据常常为隐私数据。
[0003]两方安全选择是安全多方计算的基本计算单元,用于根据一个选择比特对两个数做选择,可用于构造I f

E l se逻辑,MAX/MIN等功能,安全多方计算中的通用计算和隐私保护机器学习等。

技术实现思路

[0004]本说明书一个或多个实施例描述了一种两方安全选择确定选择结果分片的方法、装置和系统,能够有效减小通信代价。
[0005]第一方面,提供了一种两方安全选择确定选择结果分片的方法,所述两方安全选择用于根据选择比特,在第一数据和第二数据中进行选择,所述第一数据、第二数据和选择比特均以分片形式,分布在第一方和第二方,该方法由第一方执行,包括:
[0006]本地计算所述第一数据的本方分片与第二数据的本方分片的第一差值,并根据所述第一差值确定第一输入数据;
[0007]生成第一随机数;
[0008]与所述第二方基于所述选择比特在所述第一输入数据和第二输入数据中执行选择,将选择的结果作为中间结果,并且计算中间结果与所述第一随机数的第三差值;所述第二输入数据基于第二差值确定,所述第二差值为第二方基于第二数据的第二方分片与第一数据的第二方分片相减得到的值;本地计算所述第二数据的本方分片与所述第一随机数之和,得到求和结果,并根据所述求和结果确定选择结果的第一分片;所述选择结果的第二分片由第二方根据所述第三差值确定。
[0009]在一种可能的实施方式中,所述根据所述第一差值确定第一输入数据,包括:
[0010]将所述第一差值作为所述第一输入数据;或者,
[0011]将所述第一差值进行第一方式的本地计算后,得到所述第一输入数据。
[0012]在一种可能的实施方式中,所述根据所述求和结果确定选择结果的第一分片,包括:
[0013]将所述求和结果作为所述选择结果的第一分片;或者,
[0014]将所述求和结果进行第二方式的本地计算后,得到所述选择结果的第一分片。
[0015]在一种可能的实施方式中,所述与所述第二方基于所述选择比特在所述第一输入数据和第二输入数据中执行选择,包括:
[0016]将所述第一输入数据、所述选择比特的第一方分片和所述第一随机数输入布尔电路,所述布尔电路还接收第二方输入的第二输入数据和所述选择比特的第二方分片,并根据所述选择比特,选择所述第一输入数据或所述第二输入数据作为中间结果,向第二方输出所述第三差值。
[0017]进一步地,所述布尔电路用于执行如下计算过程:
[0018]计算所述选择比特的第一方分片和所述选择比特的第二方分片的异或,得到所述选择比特;
[0019]根据所述选择比特,选择所述第一输入数据或所述第二输入数据作为中间结果;
[0020]计算所述中间结果和所述第一随机数的差值,得到所述第三差值。
[0021]在一种可能的实施方式中,所述与所述第二方基于所述选择比特在所述第一输入数据和第二输入数据中执行选择,将选择的结果作为中间结果,包括:
[0022]当所述选择比特为1时,选择所述第一输入数据作为所述中间结果;
[0023]当所述选择比特为0时,选择所述第二输入数据作为所述中间结果。
[0024]在一种可能的实施方式中,所述第一数据的第一方分片与所述第一数据的第二方分片之和为所述第一数据;所述第二数据的第一方分片与所述第二数据的第二方分片之和为所述第二数据。
[0025]进一步地,所述布尔电路采用混淆电路或GMW的执行方式。
[0026]第二方面,提供了一种两方安全选择确定选择结果分片的方法,所述两方安全选择用于根据选择比特,在第一数据和第二数据中进行选择,所述第一数据、第二数据和选择比特均以分片形式,分布在第一方和第二方,方法包括:
[0027]所述第一方本地计算所述第一数据的第一方分片与第二数据的第一方分片的第一差值,并根据所述第一差值确定第一输入数据;
[0028]所述第一方生成第一随机数;
[0029]所述第二方本地计算所述第二数据的第二方分片与所述第一数据的第二方分片的第二差值,并根据所述第二差值确定第二输入数据;
[0030]所述第一方与所述第二方基于所述选择比特在所述第一输入数据和所述第二输入数据中执行选择,将选择的结果作为中间结果,并且计算中间结果与所述第一随机数的第三差值;
[0031]所述第一方本地计算所述第二数据的第一方分片与所述第一随机数之和,得到第一求和结果,并根据所述第一求和结果确定选择结果的第一分片;
[0032]所述第二方本地计算所述第三差值与所述第一数据的第二方分片之和,得到第二求和结果,并根据所述第二求和结果确定所述选择结果的第二分片。
[0033]在一种可能的实施方式中,所述第一方根据所述第一差值确定第一输入数据,包括:
[0034]所述第一方将所述第一差值作为所述第一输入数据;
[0035]所述第二方根据所述第二差值确定第二输入数据,包括:
[0036]所述第二方将所述第二差值作为所述第二输入数据。
[0037]进一步地,所述第一方根据所述第一求和结果确定选择结果的第一分片,包括:
[0038]所述第一方将所述第一求和结果作为所述选择结果的第一分片;所述第二方根据
所述第二求和结果确定所述选择结果的第二分片,包括:
[0039]所述第二方将所述第二求和结果作为所述选择结果的第二分片。
[0040]第三方面,提供了一种两方安全选择确定选择结果分片的装置,所述两方安全选择用于根据选择比特,在第一数据和第二数据中进行选择,所述第一数据、第二数据和选择比特均以分片形式,分布在第一方和第二方,该装置设置于第一方,包括:
[0041]第一本地计算单元,用于本地计算所述第一数据的本方分片与第二数据的本方分片的第一差值,并根据所述第一差值确定第一输入数据;
[0042]生成单元,用于生成第一随机数;
[0043]联合计算单元,用于与所述第二方基于所述选择比特在所述第一输入数据和第二输入数据中执行选择,将选择的结果作为中间结果,并且计算中间结果与所述第一随机数的第三差值;所述第二输入数据基于第二差值确定,所述第二差值为第二方基于第二数据的第二方分片与第一数据的第二方分片相减得到的值;第二本地计算单元,用于本地计算所述第二数据的本方分片与所述第一随机数之和,得到求和结果,并根据所述求和结果确定选择结果的第一分片;所述选择结果的第二分片由第二方根据所述电路执行单元输出的第三差值确定。
[0044]第四本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种两方安全选择确定选择结果分片的方法,所述两方安全选择用于根据选择比特,在第一数据和第二数据中进行选择,所述第一数据、第二数据和选择比特均以分片形式,分布在第一方和第二方,所述方法由第一方执行,包括:本地计算所述第一数据的本方分片与第二数据的本方分片的第一差值,并根据所述第一差值确定第一输入数据;生成第一随机数;与所述第二方基于所述选择比特在所述第一输入数据和第二输入数据中执行选择,将选择的结果作为中间结果,并且计算中间结果与所述第一随机数的第三差值;所述第二输入数据基于第二差值确定,所述第二差值为第二方基于第二数据的第二方分片与第一数据的第二方分片相减得到的值;本地计算所述第二数据的本方分片与所述第一随机数之和,得到求和结果,并根据所述求和结果确定选择结果的第一分片;所述选择结果的第二分片由第二方根据所述第三差值确定。2.如权利要求1所述的方法,其中,所述根据所述第一差值确定第一输入数据,包括:将所述第一差值作为所述第一输入数据;或者,将所述第一差值进行第一方式的本地计算后,得到所述第一输入数据。3.如权利要求1所述的方法,其中,所述根据所述求和结果确定选择结果的第一分片,包括:将所述求和结果作为所述选择结果的第一分片;或者,将所述求和结果进行第二方式的本地计算后,得到所述选择结果的第一分片。4.如权利要求1所述的方法,其中,所述与所述第二方基于所述选择比特在所述第一输入数据和第二输入数据中执行选择,包括:将所述第一输入数据、所述选择比特的第一方分片和所述第一随机数输入布尔电路,所述布尔电路还接收第二方输入的第二输入数据和所述选择比特的第二方分片,并根据所述选择比特,选择所述第一输入数据或所述第二输入数据作为中间结果,向第二方输出所述第三差值。5.如权利要求4所述的方法,其中,所述布尔电路用于执行如下计算过程:计算所述选择比特的第一方分片和所述选择比特的第二方分片的异或,得到所述选择比特;根据所述选择比特,选择所述第一输入数据或所述第二输入数据作为中间结果;计算所述中间结果和所述第一随机数的差值,得到所述第三差值。6.如权利要求1所述的方法,其中,所述与所述第二方基于所述选择比特在所述第一输入数据和第二输入数据中执行选择,将选择的结果作为中间结果,包括:当所述选择比特为1时,选择所述第一输入数据作为所述中间结果;当所述选择比特为0时,选择所述第二输入数据作为所述中间结果。7.如权利要求1所述的方法,其中,所述第一数据的第一方分片与所述第一数据的第二方分片之和为所述第一数据;所述第二数据的第一方分片与所述第二数据的第二方分片之和为所述第二数据。8.如权利要求4所述的方法,其中,所述布尔电路采用混淆电路或GMW的执行方式。
9.一种两方安全选择确定选择结果分片的方法,所述两方安全选择用于根据选择比特,在第一数据和第二数据中进行选择,所述第一数据、第二数据和选择比特均以分片形式,分布在第一方和第二方,所述方法包括:所述第一方本地计算所述第一数据的第一方分片与第二数据的第一方分片的第一差值,并根据所述第一差值确定第一输入数据;所述第一方生成第一随机数;所述第二方本地计算所述第二数据的第二方分片与所述第一数据的第二方分片的第二差值,并根据所述第二差值确定第二输入数据;所述第一方与所述第二方基于所述选择比特在所述第一输入数据和所述第二输入数据中执行选择,将选择的结果作为中间结果,并且计算中间结果与所述第一随机数的第三差值;所述第一方本地计算所述第二数据的第一方分片与所述第一随机数之和,得到第一求和结果,并根据所述第一求和结果确定选择结果的第一分片;所述第二方本地计算所述第三差值与所述第一数据的第二方分片之和,得到第二求和结果,并根据所述第二求和结果确定所述选择结果的第二分片。10.如权利要求9所述的方法,其中,所述第一方根据所述第一差值确定第一输入数据,包括:所述第一方将所述第一差值作为所述第一输入数据;所述第二方根据所述第二差值确定第二输入数据,包括:所述第二方将所述第二差值作为所述第二输...

【专利技术属性】
技术研发人员:赵原尹栋张启超李漓春殷山
申请(专利权)人:支付宝杭州信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1