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

技术编号:32828655 阅读:9 留言: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]提供单元,配置为向计算方提供所述第一转换字符串,以供计算方基于所述第一字符串确定所述第一输出线的第一输出标签,从而执行所述第二算子电本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于混淆电路的布尔电路连续执行方法,所述布尔电路包括第一算子电路和第二算子电路,第一算子电路的第一输出线对应第二算子电路的第一输入线,混淆方针对单个输出线/单个输入线确定的两个备选标签之间的异或值为仅在本地持有的第一随机字符串;所述方法由计算方执行,包括:根据预先从混淆方获取的第一混淆表执行第一算子电路,得到所述第一输出线对应的第一输出标签,所述第一输出标签是基于所述第一混淆表的、针对所述第一输出线的两个备选标签之一;与混淆方同步对第二算子电路对应的第二混淆表的选择结果,以获取混淆方针对所述第一输出线、所述第一输入线提供的第一转换字符串,所述第一转换字符串用于描述所述第一输出线、所述第一输入线对应于相同的候选比特的备选标签之间的转换关系;根据所述第一转换字符串与所述第一输出标签的异或结果确定所述第一输入线对应的第一输入标签;基于所述第一输入标签和所述第二混淆表执行所述第二算子电路。2.根据权利要求1所述的方法,其中,所述布尔电路的执行过程中,从混淆方获取基于相应输入线的备选标签提供的混淆方对应的输入标签,经由不经意传输方式从混淆方获取计算方对应的输入标签。3.根据权利要求2所述的方法,其中,计算方存储有预先通过不经意传输方式从混淆方获取的选择数据集,所述选择数据集中的单条选择数据包括从两个候选比特中选择的单个选择比特,以及相应的两个参考字符串中与所述单个选择比特对应的单个选择字符串,计算方针对本地的单个输入比特对应的单个输入标签基于单条选择数据确定。4.根据权利要求3所述的方法,其中,由计算方提供的输入比特包括第一比特,所述第一比特对应的第二输入标签通过以下方式确定:从所述选择数据中随机选择对应有第一选择比特和第一选择字符串的第一选择数据;将所述第一比特与所述第一选择比特对应的第一比较结果提供给混淆方,以供混淆方根据所述第一比较结果向计算方提供两个候选比特分别对应的两份密文,所述两份密文由所述第一选择数据对应的两个参考字符串分别对相应的两个备选标签加密得到;用所述第一选择字符串基于所述两份密文解密得到所述第二输入标签。5.根据权利要求4所述的方法,其中:在所述第一比较结果为相同的情况下,混淆方使用两个参考字符串按照相对应的候选比特对两个备选标签分别加密,得到所述两份密文;在所述第一比较结果为不同的情况下,混淆方使用两个参考字符串对两个备选标签按照候选比特交叉加密,得到所述两份密文。6.根据权利要求1所述的方法,其中,所述第一算子电路为第一算子类型,所述第一混淆表从混淆方为第一算子类型生成的多份混淆表中确定;所述第二算子电路为第二算子类型,所述第二混淆表从混淆方为第二算子类型生成的多份混淆表中确定。7.根据权利要求1或6所述的方法,其中,所述第一混淆表、所述第二混淆表由混淆方、计算方中的一方选定或指定并告知另一方,或者由双方通过协商确定。8.一种基于混淆电路的布尔电路连续执行方法,所述布尔电路包括第一算子电路和第二算子电路,第一算子电路的第一输出线对应第二算子电路的第一输入线,混淆方针对单
个输出线/单个输入线确定的两个备选标签之间的异或值为仅在本地持有的第一随机字符串;所述方法由混淆方执行,包括:与计算方同...

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

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

1