两方安全比较的方法、装置和系统制造方法及图纸

技术编号:31581424 阅读:12 留言:0更新日期:2021-12-25 11:24
本说明书实施例提供一种两方安全比较的方法、装置和系统,用于确定第一数据是否小于第二数据的比较结果,第一数据和第二数据均以分片形式,分布在第一方和第二方,方法包括:第一方本地计算第一数据的第一方分片与第二数据的第一方分片的第一差值,并根据第一差值确定第一输入数据;第二方本地计算第一数据的第二方分片与第二数据的第二方分片的第二差值,并根据第二差值确定第二输入数据;第一方将第一输入数据输入多方安全算子,第二方将第二输入数据输入所述多方安全算子,用于对第一输入数据和第二输入数据进行求和,得到求和结果,并根据求和结果的最高位,确定所述比较结果。能够有效减小通信代价。能够有效减小通信代价。能够有效减小通信代价。

【技术实现步骤摘要】
两方安全比较的方法、装置和系统


[0001]本说明书一个或多个实施例涉及计算机领域,尤其涉及两方安全比较的方法、装置和系统。

技术介绍

[0002]安全多方计算又称为多方安全计算,即多方共同计算出一个函数的结果,而不泄露这个函数各方的输入数据,计算的结果公开给其中的一方或多方。其中,各方的输入数据常常为隐私数据。
[0003]两方安全比较是安全多方计算的基本计算单元,用于对两方各自的数,或者两方分片的数,做安全比较,数不会泄露给非拥有方,可用于构造If

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

技术实现思路

[0004]本说明书一个或多个实施例描述了一种两方安全比较的方法、装置和系统,能够有效减小通信代价。
[0005]第一方面,提供了一种两方安全比较的方法,用于确定第一数据是否小于第二数据的比较结果,所述第一数据和第二数据均以分片形式,分布在第一方和第二方,所述方法由第一方执行,包括:
[0006]本地计算所述第一数据的本方分片与第二数据的本方分片的第一差值,并根据所述第一差值确定第一输入数据;
[0007]将所述第一输入数据输入多方安全算子,所述多方安全算子还接收第二输入数据,用于对所述第一输入数据和第二输入数据进行求和,得到求和结果,并根据所述求和结果的最高位,确定所述比较结果;所述第二输入数据基于第二差值确定,所述第二差值为第二方基于第一数据的第二方分片与第二数据的第二方分片相减得到的值。
[0008]在一种可能的实施方式中,所述根据所述第一差值确定第一输入数据,包括:
[0009]将所述第一差值作为所述第一输入数据;或者,
[0010]将所述第一差值乘以第一常数后,得到所述第一输入数据。
[0011]在一种可能的实施方式中,所述多方安全算子为布尔电路,所述布尔电路采用混淆电路或GMW的执行方式。
[0012]进一步地,所述第一输入数据和所述第二输入数据均为L位二进制数;所述布尔电路用于执行如下计算过程:
[0013]针对所述第一输入数据和所述第二输入数据的当前位,计算所述求和结果的所述当前位。
[0014]在一种可能的实施方式中,所述根据所述求和结果的最高位,确定所述比较结果,包括:
[0015]当所述求和结果的最高位为1时,确定所述比较结果对应于第一数据小于第二数
据;
[0016]当所述求和结果的最高位为0时,确定所述比较结果对应于第一数据大于或等于第二数据。
[0017]在一种可能的实施方式中,所述第一数据的第一方分片与所述第一数据的第二方分片之和为所述第一数据;所述第二数据的第一方分片与所述第二数据的第二方分片之和为所述第二数据。
[0018]在一种可能的实施方式中,所述比较结果为一位二进制数;
[0019]所述方法还包括:
[0020]生成第一随机比特,将所述第一随机比特作为所述比较结果的本方分片;
[0021]将所述第一随机比特输入所述多方安全算子,用于确定所述比较结果的第二方分片,将其输出给所述第二方。
[0022]进一步地,所述多方安全算子通过对所述比较结果和所述第一随机比特进行异或操作,得到所述比较结果的第二方分片。
[0023]第二方面,提供了一种两方安全比较的方法,用于确定第一数据是否小于第二数据的比较结果,所述第一数据和第二数据均以分片形式,分布在第一方和第二方,所述方法包括:
[0024]所述第一方本地计算所述第一数据的第一方分片与第二数据的第一方分片的第一差值,并根据所述第一差值确定第一输入数据;
[0025]所述第二方本地计算所述第一数据的第二方分片与第二数据的第二方分片的第二差值,并根据所述第二差值确定第二输入数据;
[0026]所述第一方将所述第一输入数据输入多方安全算子,所述第二方将所述第二输入数据输入所述多方安全算子,用于对所述第一输入数据和第二输入数据进行求和,得到求和结果,并根据所述求和结果的最高位,确定所述比较结果。
[0027]在一种可能的实施方式中,所述第一方根据所述第一差值确定第一输入数据,包括:
[0028]所述第一方将所述第一差值作为所述第一输入数据;
[0029]所述第二方根据所述第二差值确定第二输入数据,包括:
[0030]所述第二方将所述第二差值作为所述第二输入数据。
[0031]第三方面,提供了一种两方安全比较的装置,用于确定第一数据是否小于第二数据的比较结果,所述第一数据和第二数据均以分片形式,分布在第一方和第二方,所述装置设置于第一方,包括:
[0032]本地计算单元,用于本地计算所述第一数据的本方分片与第二数据的本方分片的第一差值,并根据所述第一差值确定第一输入数据;
[0033]联合计算单元,用于将所述本地计算单元得到的第一输入数据输入多方安全算子,所述多方安全算子还接收第二输入数据,用于对所述第一输入数据和第二输入数据进行求和,得到求和结果,并根据所述求和结果的最高位,确定所述比较结果;所述第二输入数据基于第二差值确定,所述第二差值为第二方基于第一数据的第二方分片与第二数据的第二方分片相减得到的值。
[0034]第四方面,提供了一种两方安全比较的系统,用于确定第一数据是否小于第二数
据的比较结果,所述第一数据和第二数据均以分片形式,分布在第一方和第二方,所述系统包括:
[0035]所述第一方,用于本地计算所述第一数据的第一方分片与第二数据的第一方分片的第一差值,并根据所述第一差值确定第一输入数据;
[0036]所述第二方,用于本地计算所述第一数据的第二方分片与第二数据的第二方分片的第二差值,并根据所述第二差值确定第二输入数据;
[0037]所述第一方,还用于将所述第一输入数据输入多方安全算子,所述第二方,还用于将所述第二输入数据输入所述多方安全算子,用于对所述第一输入数据和第二输入数据进行求和,得到求和结果,并根据所述求和结果的最高位,确定所述比较结果。
[0038]第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面或第二方面的方法。
[0039]第六方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面或第二方面的方法。
[0040]通过本说明书实施例提供的方法、装置和系统,用于确定第一数据是否小于第二数据的比较结果,所述第一数据和第二数据均以分片形式,分布在第一方和第二方,首先第一方本地计算所述第一数据的第一方分片与第二数据的第一方分片的第一差值,并根据所述第一差值确定第一输入数据;第二方本地计算所述第一数据的第二方分片与第二数据的第二方分片的第二差值,并根据所述第二差值确定第二输入数据;然后第一方将所述第一输入数据输入多方安全算子,第二方将所述第二输本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种两方安全比较的方法,用于确定第一数据是否小于第二数据的比较结果,所述第一数据和第二数据均以分片形式,分布在第一方和第二方,所述方法由第一方执行,包括:本地计算所述第一数据的本方分片与第二数据的本方分片的第一差值,并根据所述第一差值确定第一输入数据;将所述第一输入数据输入多方安全算子,所述多方安全算子还接收第二输入数据,用于对所述第一输入数据和第二输入数据进行求和,得到求和结果,并根据所述求和结果的最高位,确定所述比较结果;所述第二输入数据基于第二差值确定,所述第二差值为第二方基于第一数据的第二方分片与第二数据的第二方分片相减得到的值。2.如权利要求1所述的方法,其中,所述根据所述第一差值确定第一输入数据,包括:将所述第一差值作为所述第一输入数据;或者,将所述第一差值乘以第一常数后,得到所述第一输入数据。3.如权利要求1所述的方法,其中,所述多方安全算子为布尔电路,所述布尔电路采用混淆电路或GMW的执行方式。4.如权利要求3所述的方法,其中,所述第一输入数据和所述第二输入数据均为L位二进制数;所述布尔电路用于执行如下计算过程:针对所述第一输入数据和所述第二输入数据的当前位,计算所述求和结果的所述当前位。5.如权利要求1所述的方法,其中,所述根据所述求和结果的最高位,确定所述比较结果,包括:当所述求和结果的最高位为1时,确定所述比较结果对应于第一数据小于第二数据;当所述求和结果的最高位为0时,确定所述比较结果对应于第一数据大于或等于第二数据。6.如权利要求1所述的方法,其中,所述第一数据的第一方分片与所述第一数据的第二方分片之和为所述第一数据;所述第二数据的第一方分片与所述第二数据的第二方分片之和为所述第二数据。7.如权利要求1所述的方法,其中,所述比较结果为一位二进制数;所述方法还包括:生成第一随机比特,将所述第一随机比特作为所述比较结果的本方分片;将所述第一随机比特输入所述多方安全算子,用于确定所述比较结果的第二方分片,将其输出给所述第二方。8.如权利要求7所述的方法,其中,所述多方安全算子通过对所述比较结果和所述第一随机比特进行异或操作,得到所述比较结果的第二方分片。9.一种两方安全比较的方法,用于确定第一数据是否小于第二数据的比较结果,所述第一数据和第二数据均以分片形式,分布在第一方和第二方,所述方法包括:所述第一方本地计算所述第一数据的第一方分片与第二数据的第一方分片的第一差值,并根据所述第一差值确定第一输入数据;所述第二方本地计算所述第一数据的第二方分片与第二数据的第二方分片的第二差值,并根据所述第二差值确定第二输入数据;
所述第一方将所述第一输入数据输入多方安全算子,所述第二方将所述第二输入数据输入所述多方安全算子,用于对所述第一输入数据和第二输入数据进行求和,得到求和结果,并根据所述求和结果的最高位,确定所述比较结果。10.如权利要求9所述的方法,其中,所述第一方根据所述第一差值确定第一输入数据,包括:所述第一方将所述第一差值作为所述第一输入数据;所述第二方根据所述第二差值确定第二输入数据,包括:所述第二方将所述第二差值作为所述第二输入数据。11.一种两方安全比较的装置,用于确定第一数据是否小于第二数据的比较结果,所述第一数据和第二数据均以分片形式,分布在第一方和第二方,所述装置设置于第一方,包括:本地计算单元,用于本地计算所述...

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

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

1