多方安全计算的方法、装置及系统制造方法及图纸

技术编号:32829904 阅读:11 留言:0更新日期:2022-03-26 20:40
本说明书实施例提供一种多方安全计算的方法、装置及系统,在多方安全计算的方法中,针对混淆电路的n根输出线中任意的第i输出线,第一方随机生成第一比特串作为该第i输出线对应的第一方分片。第一方基于第一比特串,确定两个第二比特串,该两个第二比特串分别对应于第i输出线的两个真值。第一方利用混淆电路中针对该第i输出线的两个真值分别标注的两个混淆串,对应加密两个第二比特串,并将两个加密结果提供给第二方。第二方利用该第i输出线的实际真值对应的实际混淆串,解密两个加密结果,得到第i输出线对应的第二方分片。第一方和第二方,各自分别基于n根输出线中各输出线对应的本方分片,确定计算结果的本方分片。确定计算结果的本方分片。确定计算结果的本方分片。

【技术实现步骤摘要】
多方安全计算的方法、装置及系统


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

技术介绍

[0002]多方安全计算(Secure Multi

Party Computation,MPC)又称为安全多方计算,即多方共同计算出一个函数的结果,而不泄露这个函数各方的输入数据,计算的结果公开给其中的一方或多方。
[0003]混淆电路和秘密分享(secret sharing)都可实现多方安全计算,两者各有优缺点,可以配合一起使用。比如,先基于混淆电路进行第一安全运算,然后针对计算结果进行基于秘密分享的第二安全运算。需要说明,为了实现数据的隐私保护,上述计算结果不能暴露给任何一方,这就需要将混淆电路的计算结果转换为秘密分享分片。
[0004]传统技术中,为了实现上述转换,通常需要在混淆电路中引入额外的运算,比如减法,这极大地影响了多方安全计算效率。

技术实现思路

[0005]本说明书一个或多个实施例描述了一种多方安全计算的方法、装置及系统,可以提高多方安全计算效率。
[0006]第一方面,提供了一种多方安全计算的方法,包括:
[0007]针对混淆电路的n根输出线中任意的第i输出线,第一方随机生成第一比特串作为该第i输出线对应的第一方分片,其中,所述n根输出线的实际真值构成所述混淆电路计算结果的n个比特;
[0008]所述第一方基于所述第一比特串,确定两个第二比特串,该两个第二比特串分别对应于所述第i输出线的两个真值;
[0009]所述第一方利用所述混淆电路中针对该第i输出线的两个真值分别标注的两个混淆串,对应加密所述两个第二比特串,并将两个加密结果提供给第二方;
[0010]所述第二方利用该第i输出线的实际真值对应的实际混淆串,解密所述两个加密结果,得到第i输出线对应的第二方分片;其中,所述实际混淆串通过与所述第一方联合执行所述混淆电路而获得;
[0011]所述第一方和第二方,各自分别基于所述n根输出线中各输出线对应的本方分片,确定所述计算结果的本方分片。
[0012]第二方面,提供了一种多方安全计算的方法,包括:
[0013]针对混淆电路的n根输出线中任意的第i输出线,随机生成第一比特串作为该第i输出线对应的第一方分片,其中,所述n根输出线的实际真值构成所述混淆电路计算结果的n个比特;
[0014]基于所述第一比特串,确定两个第二比特串,该两个第二比特串分别对应于所述
第i输出线的两个真值;
[0015]利用所述混淆电路中针对该第i输出线的两个真值分别标注的两个混淆串,对应加密所述两个第二比特串,并将两个加密结果提供给第二方,以供所述第二方通过解密所述两个加密结果得到第i输出线对应的第二方分片,进而确定出所述计算结果的第二方分片;
[0016]基于所述n根输出线中各输出线对应的第一方分片,确定所述计算结果的第一方分片。
[0017]第三方面,提供了一种多方安全计算的系统,包括:
[0018]第一方,用于针对混淆电路的n根输出线中任意的第i输出线,随机生成第一比特串作为该第i输出线对应的第一方分片,其中,所述n根输出线的实际真值构成所述混淆电路计算结果的n个比特;
[0019]所述第一方,还用于基于所述第一比特串,确定两个第二比特串,该两个第二比特串分别对应于所述第i输出线的两个真值;
[0020]所述第一方,还用于利用所述混淆电路中针对该第i输出线的两个真值分别标注的两个混淆串,对应加密所述两个第二比特串,并将两个加密结果提供给第二方;
[0021]所述第二方,用于利用该第i输出线的实际真值对应的实际混淆串,解密所述两个加密结果,得到第i输出线对应的第二方分片;其中,所述实际混淆串通过与所述第一方联合执行所述混淆电路而获得;
[0022]所述第一方和第二方,还用于各自分别基于所述n根输出线中各输出线对应的本方分片,确定所述计算结果的本方分片。
[0023]第四方面,提供了一种多方安全计算的装置,包括:
[0024]生成单元,用于针对混淆电路的n根输出线中任意的第i输出线,随机生成第一比特串作为该第i输出线对应的第一方分片,其中,所述n根输出线的实际真值构成所述混淆电路计算结果的n个比特;
[0025]确定单元,用于基于所述第一比特串,确定两个第二比特串,该两个第二比特串分别对应于所述第i输出线的两个真值;
[0026]加密单元,用于利用所述混淆电路中针对该第i输出线的两个真值分别标注的两个混淆串,对应加密所述两个第二比特串,并将两个加密结果提供给第二方,以供所述第二方通过解密所述两个加密结果得到第i输出线对应的第二方分片,进而确定出所述计算结果的第二方分片;
[0027]所述确定单元,还用于基于所述n根输出线中各输出线对应的第一方分片,确定所述计算结果的第一方分片。
[0028]第五方面,提供了一种计算机存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面或第二方面的方法。
[0029]第六方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面或第二方面的方法。
[0030]本说明书一个或多个实施例提供的多方安全计算的方法、装置及系统,第一方针对混淆电路的各输出线,随机生成第一比特串作为对应的第一方分片,之后第一方还针对各输出线,确定出对应于各输出线的两个真值的两个第二比特串,并将其加密后提供给第
二方,从而第二方通过解密两个加密结果,得到各输出线对应的第二方分片。最后第一方和第二方各自分别基于各输出线对应的本方分片,确定混淆电路的计算结果的本方分片。可见,在本说明书实施例中,无需在混淆电路中引入额外的运算,即可实现将混淆电路的计算结果转换为秘密分享分片,由此可以大大提升多方安全计算效率。
附图说明
[0031]为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0032]图1示出根据一个实施例的门电路示意图;
[0033]图2为本说明书一个实施例披露的实施场景示意图;
[0034]图3示出根据一个实施例的多方安全计算的方法交互图;
[0035]图4示出根据一个实施例的多方安全计算的系统示意图;
[0036]图5示出根据一个实施例的多方安全计算的装置示意图。
具体实施方式
[0037]下面结合附图,对本说明书提供的方案进行描述。
[0038]在描述本说明书实施例提供的方案之前,先对混淆电路和秘密分享两种多方安全计算方法作以下说明。
[0039]秘密分享也称为秘密分割、秘密共本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种多方安全计算的方法,包括:针对混淆电路的n根输出线中任意的第i输出线,第一方随机生成第一比特串作为该第i输出线对应的第一方分片,其中,所述n根输出线的实际真值构成所述混淆电路计算结果的n个比特;所述第一方基于所述第一比特串,确定两个第二比特串,该两个第二比特串分别对应于所述第i输出线的两个真值;所述第一方利用所述混淆电路中针对该第i输出线的两个真值分别标注的两个混淆串,对应加密所述两个第二比特串,并将两个加密结果提供给第二方;所述第二方利用该第i输出线的实际真值对应的实际混淆串,解密所述两个加密结果,得到第i输出线对应的第二方分片;其中,所述实际混淆串通过与所述第一方联合执行所述混淆电路而获得;所述第一方和第二方,各自分别基于所述n根输出线中各输出线对应的本方分片,确定所述计算结果的本方分片。2.根据权利要求1所述的方法,其中,所述确定所述计算结果的本方分片,包括:针对第i输出线,所述第一方计算2的i次方与对应的第一方分片的乘积,得到第i个第一乘积;基于针对所述n根输出线计算得到的n份第一乘积,确定所述计算结果的第一方分片;其中,0≤i≤n

1;针对第i输出线,所述第二方计算2的i次方与对应的第二方分片的乘积,得到第i个第二乘积;基于针对所述n根输出线计算得到的n份第二乘积,确定所述计算结果的第二方分片。3.根据权利要求2所述的方法,其中,所述两个第二比特串各自的全部比特均被加密;所述确定所述计算结果的第一方分片,包括:对所述n份第一乘积求和,并将求和结果作为所述计算结果的第一方分片;所述确定所述计算结果的第二方分片,包括:对所述n份第二乘积求和,并将求和结果作为所述计算结果的第二方分片。4.根据权利要求2所述的方法,其中,所述第二比特串包括t个比特,且n≤t;所述对应加密所述两个第二比特串,包括:利用所述两个混淆串,对应加密所述两个第二比特串各自的从最低位开始的t

i个比特;将所述两个第二比特串各自的经过加密的t

i个比特,作为所述两个加密结果。5.根据权利要求4所述的方法,其中,所述确定所述计算结果的第一方分片,包括:对所述n份第一乘积求和,并将求和结果对2的t次方取模后的取模结果,作为所述计算结果的第一方分片;所述确定所述计算结果的第二方分片,包括:对所述n份第二乘积求和,并将求和结果对2的t次方取模后的取模结果,作为所述计算结果的第二方分片。6.根据权利要求1所述的方法,其中,所述第i输出线的两个真值包括真值0和真值1;所
述确定两个第二比特串,包括:将真值0与所述第一比特串的差值,作为所述两个第二比特串中的一个第二比特串;将真值1与所述第一比特串的差值,作为所述两个第二比特串中的另一个第二比特串。7.根据权利要求6所述的方法,其中,所述对应加密所述两个第二比特串,包括:利用针对所述第i输出线的真值0标注的第一混淆串,加密所述一个第二比特串;利用针对所述第i输出线的真值1标注的第二混淆串,加密所述另一个第二比特串。8.根据权利要求1所述的方法,其中,所述将两个加密结果提供给第二方,包括:将所述两个加密结果乱序后提供给第二方;所述解密所述两个加密结果,包括:所述第二方利用所述第i输出线的实际真值对应的实际混淆串,解密乱序后的所述两个加密结果。9.根据权利要求1所述的方法,还包括:所述第一方和第二方,基于各自确定的所述计算结果的本方分片,联合执行基于秘密分享的目标运算。10.一种多方安全计算的方法,通过第一方执行,包括:针对混淆电路的n根输出线中任意的第i输出线,随机生成第一比特串作为该第i输出线对应的第一方分片,其中,所述n根输出线的实际真值构成所述混淆电路计算结果的n个比特;基于所述第一比特串,确定两个第二比特串,该两个第二比特串分别对应于所述第i输出线的两个真值;利用所述混淆电路中针对该第i输出线的两个真值分别标注的两个混淆串,对应加密所述两个第二比特串,并将两个加密结果提供给第二方,以供所述第二方通过解密所述两个加密结果得到第i输出线对应的第二方分片,进而确定出所述计算结果的第二方分片;基于所述n根输出线中各输出线对应的第一方分片,确定所述计算结果的第一方分片。11.一种多方安全计算的系统,包括:第一方,用于针对混淆电路的n根输出线中任意的第i输出线,随机生成第一比特串作为该第i输出线对应的第一方分片,其中,所述n根输出线...

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

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

1