基于混淆电路的布尔电路连续执行方法及装置制造方法及图纸

技术编号:32828656 阅读:14 留言:0更新日期:2022-03-26 20:35
本说明书实施例提供一种基于混淆电路的布尔电路连续执行方法及装置,在多方安全计算的业务处理过程中,基于混淆电路将业务处理过程拆分为多个算子电路的连续执行过程。在业务执行过程开始之前,可以预先存储大量混淆表数据。其中,在靠前电路的输出线作为靠后电路的输入线的情况下,将靠前电路的相应输出标签与靠后电路的相应输入标签设为一致,并将靠前电路的混淆表与靠后电路的混淆表关联存储。这样,可以使得计算方对各个算子电路的执行能够连续执行,减少冗余通信,提高业务处理效率。提高业务处理效率。提高业务处理效率。

【技术实现步骤摘要】
基于混淆电路的布尔电路连续执行方法及装置


[0001]本说明书一个或多个实施例涉及安全计算
,尤其涉及基于混淆电路的布尔电路连续执行方法及装置。

技术介绍

[0002]混淆电路(Garbled Circuit,GC)是一种安全多方计算协议,通过布尔电路构造安全函数计算,从而使得参与者可以针对输入数值来计算结果,而不需要知道他们在计算式中输入的具体数字。混淆电路可以用于多方安全计算过程中。安全多方计算(Secure Multi

Party Computation)也可以称为多方安全计算(MPC),可以针对无可信第三方的情况下,安全地计算一个约定函数的问题。安全多方计算可以应用于联合训练模型、隐私求交、安全比较等多种业务场景。使用混淆电路方法进行布尔电路连续执行过程中,根据业务场景的复杂程度,布尔电路的数量也不同。对于计算量较大的业务场景而言,计算过程中的通信量及通信效率直接影响着安全计算的布尔电路连续执行效率。

技术实现思路

[0003]本说明书一个或多个实施例描述了一种基于混淆电路的布尔电路连续执行方法及装置,用以解决
技术介绍
提到的一个或多个问题。
[0004]根据第一方面,提供一种基于混淆电路的布尔电路连续执行方法,所述布尔电路包括第一算子电路和第二算子电路,第一算子电路的第一输出线为第二算子电路的第一输入线,所述方法由计算方执行,包括:根据预先从混淆方获取的第一混淆表执行第一算子电路,得到所述第一输出线对应的第一输出标签,所述第一输出标签是混淆方针对所述第一输出线生成的两个备选标签之一,所述两个备选标签同时为所述第一输入线的备选标签;获取针对所述第二算子电路的输入数据中在所述第一输入线之外的其他输入数据对应的其他输入标签;根据预先从混淆方获取的第二混淆表、所述第一输出标签以及其他输入标签执行第二算子电路,其中,所述第二混淆表针对所述第二算子电路生成且与所述第一混淆表基于所述两个备选标签相互关联。
[0005]在一个实施例中,所述布尔电路的执行过程中,从混淆方获取基于相应输入线的备选标签提供的混淆方对应的输入标签,经由不经意传输方式从混淆方获取计算方对应的输入标签。
[0006]在一个实施例中,计算方存储有预先通过不经意传输方式从混淆方获取的选择数据集,所述选择数据集中的单条选择数据包括从两个候选比特中选择的单个选择比特,以及相应的两个参考字符串中与所述单个选择比特对应的单个选择字符串,计算方针对本地的单个输入比特对应的单个输入标签基于单条选择数据确定。
[0007]在一个实施例中,由计算方提供的输入比特包括第一比特,所述第一比特对应的第一输入标签通过以下方式确定:从所述选择数据中随机选择对应有第一选择比特和第一选择字符串的第一选择数据;将所述第一比特与所述第一选择比特对应的第一异或结果提
供给混淆方,以供混淆方根据所述第一异或结果向计算方提供两个候选比特分别对应的两份密文,所述两份密文由所述第一选择数据对应的两个参考字符串分别对相应的两个备选标签加密得到;用所述第一选择字符串基于所述两份密文解密得到所述第一输入标签。
[0008]其中,在所述第一比较结果为相同的情况下,混淆方使用两个参考字符串按照相对应的候选比特对两个备选标签分别加密,得到所述两份密文;在所述第一比较结果为不同的情况下,混淆方使用两个参考字符串对两个备选标签按照候选比特交叉加密,得到所述两份密文。
[0009]在一个实施例中,所述第一混淆表和所述第二混淆表通过相同的标识记录,以在同一次布尔电路执行过程中使用。
[0010]在一个实施例中,所述根据预先从混淆方获取的第二混淆表、所述第一输出标签以及其他输入标签执行第二算子电路包括:利用所述第一输出标签以及其他输入标签,根据所述第二混淆表依次解密第二算子电路中的各个门电路的输出线,得到各个相应输出标签。
[0011]根据第二方面,提供一种针对连续执行的布尔电路的混淆表生成方法,所述布尔电路包括第一算子电路和第二算子电路,第一算子电路的第一输出线为第二算子电路的第一输入线,所述方法由混淆方执行,包括:为第一算子电路的各条输入线分别随机生成相应的备选标签;利用各条输入线的备选标签依次执行第一算子电路中的各个门电路,得到第一算子电路中的各条输出线各自对应的备选标签,其中,所述第一输出线对应有分别对应两个候选比特的两个备选标签;针对第一算子电路中的各个门电路,各自利用相应输入标签加密相应输出标签后进行乱序,从而生成第一混淆表;为第二算子电路中所述第一输入线之外的其他各条输入线分别随机生成其他备选标签;利用所述两个备选标签作为所述第一输入线的备选标签,和其他备选标签一起依次执行第二算子电路中的各个门电路,以得到第二算子电路对应的第二混淆表。
[0012]根据第三方面,提供一种基于混淆电路的布尔电路连续执行装置,所述布尔电路包括第一算子电路和第二算子电路,第一算子电路的第一输出线为第二算子电路的第一输入线,所述装置设于计算方,包括:
[0013]执行单元,配置为根据预先从混淆方获取的第一混淆表执行第一算子电路,得到所述第一输出线对应的第一输出标签,所述第一输出标签是混淆方针对所述第一输出线生成的两个备选标签之一,所述两个备选标签同时为所述第一输入线的备选标签;
[0014]获取单元,配置为获取混淆方针对所述第二算子电路的输入数据中在所述第一输入线之外的其他输入数据对应的其他输入标签;
[0015]所述执行单元还配置为,根据预先从混淆方获取的第二混淆表、所述第一输出标签以及其他输入标签执行第二算子电路,其中,所述第二混淆表针对所述第二算子电路生成且与所述第一混淆表基于所述两个备选标签相互关联。
[0016]根据第四方面,提供一种针对连续执行的布尔电路的混淆表生成装置,所述布尔电路包括第一算子电路和第二算子电路,第一算子电路的第一输出线为第二算子电路的第一输入线,所述装置设于混淆方,包括:
[0017]生成单元,配置为对第一算子电路的各条输入线分别随机生成备选标签;
[0018]执行单元,配置为利用各条输入线的备选标签依次执行第一算子电路中的各个门
电路,得到第一算子电路中的各条输出线各自对应的备选标签,其中,所述第一输出线对应有分别对应两个候选比特的两个备选标签;
[0019]混淆单元,配置为针对第一算子电路中的各个门电路,各自利用相应输入标签加密相应输出标签后进行乱序,从而生成第一混淆表;
[0020]所述生成单元还配置为,为第二算子电路中所述第一输入线之外的其他各条输入线分别随机生成其他备选标签;
[0021]所述执行单元还配置为,利用所述两个备选标签作为所述第一输入线的备选标签,和其他备选标签一起依次执行第二算子电路中的各个门电路,以得到第二算子电路对应的第二混淆表。
[0022]根据第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面或第二方面的方法。
[002本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于混淆电路的布尔电路连续执行方法,所述布尔电路包括第一算子电路和第二算子电路,第一算子电路的第一输出线为第二算子电路的第一输入线,所述方法由计算方执行,包括:根据预先从混淆方获取的第一混淆表执行第一算子电路,得到所述第一输出线对应的第一输出标签,所述第一输出标签是混淆方针对所述第一输出线生成的两个备选标签之一,所述两个备选标签同时为所述第一输入线的备选标签;获取针对所述第二算子电路的输入数据中在所述第一输入线之外的其他输入数据对应的其他输入标签;根据预先从混淆方获取的第二混淆表、所述第一输出标签以及其他输入标签执行第二算子电路,其中,所述第二混淆表针对所述第二算子电路生成且与所述第一混淆表基于所述两个备选标签相互关联。2.根据权利要求1所述的方法,其中,所述布尔电路的执行过程中,从混淆方获取基于相应输入线的备选标签提供的混淆方对应的输入标签,经由不经意传输方式从混淆方获取计算方对应的输入标签。3.根据权利要求2所述的方法,其中,计算方存储有预先通过不经意传输方式从混淆方获取的选择数据集,所述选择数据集中的单条选择数据包括从两个候选比特中选择的单个选择比特,以及相应的两个参考字符串中与所述单个选择比特对应的单个选择字符串,计算方针对本地的单个输入比特对应的单个输入标签基于单条选择数据确定。4.根据权利要求3所述的方法,其中,由计算方提供的输入比特包括第一比特,所述第一比特对应的第一输入标签通过以下方式确定:从所述选择数据中随机选择对应有第一选择比特和第一选择字符串的第一选择数据;将所述第一比特与所述第一选择比特对应的第一比较结果提供给混淆方,以供混淆方根据所述第一比较结果向计算方提供两个候选比特分别对应的两份密文,所述两份密文由所述第一选择数据对应的两个参考字符串分别对相应的两个备选标签加密得到;用所述第一选择字符串基于所述两份密文解密得到所述第一输入标签。5.根据权利要求4所述的方法,其中:在所述第一比较结果为相同的情况下,混淆方使用两个参考字符串按照相对应的候选比特对两个备选标签分别加密,得到所述两份密文;在所述第一比较结果为不同的情况下,混淆方使用两个参考字符串对两个备选标签按照候选比特交叉加密,得到所述两份密文。6.根据权利要求1所述的方法,其中,所述第一混淆表和所述第二混淆表通过相同的标识记录,以在同一次布尔电路执行过程中使用。7.根据权利要求1所述的方法,其中,所述根据预先从混淆方获取的第二混淆表、所述第一输出标签以及其他输入标签执行第二算子电路包括:利用所述第一输出标签以及其他输入标签,根据所述第二混淆表依次解密第二算子电路中的各个门电路的输出线,得到各个相应输出标签。8.一种针对连续执行的布尔电路的混淆表生成方法,所述布尔电路包括第一算子电路和第二算子电路,第一算子电路的第一输出线为第二算子电路的第一输入线,所述方法由混淆方执行,包括:
为第一算子电路的各条输入线分别随机生成相应的备选标签;利用各条输入线的备选标签依次执行第一算子电路中的各个门电路,得到第一算子电路中的各条输出线各自对应的备选标签,其中,所述第一输出线对应有分别对应两个候选比特的两个备选标签;针对第一算子电路中的各个门电路,各自利用相应输入标签加密相应输出标签后进行乱序,从而生成第一混淆表;为第二算子电路中所述第一输入线之外的其他各条输入线分别随机生成其他备选标签;利用所述两个备选标签作为所述第一输入线的备选标签,和其他备选标签一起依次执行第二算子电路中的各个门电路,以得到第二算子电路对应的第二混淆表。9.一种基于混淆...

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

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

1