基于混淆电路的业务处理方法及装置制造方法及图纸

技术编号:32828657 阅读:18 留言:0更新日期:2022-03-26 20:35
本说明书实施例提供一种基于混淆电路的业务处理方法及装置,在多方安全计算的业务过程中,将业务处理过程拆分为多个算子电路的连续执行过程。在业务处理过程开始之前,还可以预先存储大量混淆表数据。在多个算子电路的连续执行过程中,针对单个算子电路,随机选择混淆表,并针对计算方的单个输入比特通过不经意传输安全确定相应的输入标签,针对单个算子电路的最终结果由混淆方、计算方相互独立确定的第一结果、第二结果描述。如此,通过预先为各个类型的算子电路准备多份混淆表,使得在线执行过程中各种类型的算子电路可以灵活组合,提高业务处理的在线执行效率。业务处理的在线执行效率。业务处理的在线执行效率。

【技术实现步骤摘要】
基于混淆电路的业务处理方法及装置


[0001]本说明书一个或多个实施例涉及安全计算
,尤其涉及基于混淆电路的业务处理方法及装置。

技术介绍

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

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

技术实现思路

[0003]本说明书一个或多个实施例描述了一种基于混淆电路的业务处理方法及装置,用以解决
技术介绍
提到的一个或多个问题。
[0004]根据第一方面,提供一种基于混淆电路的业务处理方法,所述业务处理包括多个算子电路的连续执行,所述方法包括:混淆方和计算方各自获取本地针对当前算子电路的输入数据;混淆方和计算方从预先对当前算子电路的算子类型确定的混淆表集中选择当前混淆表;计算方根据自身的本地输入数据、混淆方针对其本地输入数据提供的输入标签和所述当前混淆表执行当前算子电路,得到当前算子电路的各个输出线分别对应的各个输出标签;混淆方和计算方根据计算方得到的各个输出标签,安全确定相应输出线在混淆方存储的第一结果和在计算方存储的第二结果,使得单个第一结果和单个第二结果共同描述相应的输出比特。
[0005]在一个实施例中,混淆方、计算方均预先针对各个算子类型各自对应存储混淆表集,单个算子类型对应至少一个混淆表集,单个混淆表集包括相应单个算子类型对应的算子电路的多份混淆表,单份混淆表包括单个算子电路的全部门电路各自的输入标签对输出标签的加密结果。
[0006]在一个实施例中,对于当前算子电路中由计算方提供的单个输入比特,计算方根据预先存储的选择数据集中的单组选择数据,从混淆方获取相应的单个输入标签,其中,所述单组选择数据在混淆方对应有单组参考字符串,单组参考字符串包括分别对应于两个候选比特的两个参考字符串,所述单组选择数据包括通过随机的不经意传输方式对混淆方的两个候选比特进行选择得到的选择比特以及选择比特对应的参考字符。
[0007]在一个进一步的实施例中,由计算方提供的输入比特包括第一比特,所述第一比特对应的第一输入标签通过以下方式确定:计算方从所述选择集中随机选择第一选择数据
组,并将所述第一比特与第一选择数据组中的第一选择比特的第一比较结果提供给混淆方,所述第一选择数据组包括所述第一选择比特和相应的第一选择字符串;混淆方获取与所述第一选择数据组对应的第一参考字符串组,并根据所述第一比较结果向计算方提供两个候选比特分别对应的两份密文,所述两份密文由所述第一参考字符串组中的两个参考字符串分别对两个候选比特对应的两个备选标签加密得到;计算方用所述第一选择字符串解密所述两份密文,得到所述第一输入标签。
[0008]在一个更进一步的实施例中,在所述第一比较结果为相同的情况下,混淆方使用两个参考字符串按照相对应的候选比特对两个备选标签分别加密,得到所述两份密文;在所述第一比较结果为不同的情况下,混淆方使用两个参考字符串对两个备选标签按照候选比特交叉加密,得到所述两份密文。
[0009]在一个实施例中,单个输出标签对应的第一结果由混淆方从0标签的预定位获取,第二结果由计算方从该单个输出标签的预定位获取,其中所述预定位为混淆方针对所述单个输出标签对应的单个输出线生成的两个备选标签的异或结果为1的位。
[0010]在一个进一步的实施例中,混淆方针对各个输出线生成的两个备选标签的异或结果恒为随机字符串R,所述预定位根据R中比特值为1的位确定。
[0011]在一个实施例中,单个第一结果和单个第二结果的异或值为相应输出比特的真值。
[0012]根据第二方面,提供一种基于混淆电路的业务处理方法,所述业务处理包括多个算子电路的连续执行,所述方法由计算方执行,包括:获取当前算子电路的本地输入数据;
[0013]和混淆方同步从当前算子电路的算子类型对应的混淆表集中选择的当前混淆表;根据所述本地输入数据、所述当前混淆表以及从混淆方获取的各个输入标签执行当前算子电路,得到当前算子电路的各个输出线分别对应的各个输出标签;针对得到的各个输出标签,确定各个输出线在本地的各个第二结果,单个第二结果和混淆方本地确定的相应第一结果共同描述相应的输出比特。
[0014]根据第三方面,提供一种基于混淆电路的业务处理方法,所述业务处理包括多个算子电路的连续执行,所述方法由混淆方执行,包括:获取当前算子电路的本地输入数据;和计算方同步从当前算子电路相应类型下的混淆表集中选择的当前混淆表;根据所述当前混淆表向计算方提供当前算子电路中与本地输入数据相关的各个输入标签,以供计算方执行当前算子电路;利用当前算子电路的各个输出标签,确定当前算子电路的各个输出线在本地的各个第一结果,单个第一结果和计算方确定的第二结果共同描述相应的输出比特。
[0015]根据第四方面,提供一种基于混淆电路的业务处理装置,所述业务处理包括多个算子电路的连续执行,所述装置设于计算方,包括:获取单元,配置为获取当前算子电路的本地输入数据;选择单元,配置为和混淆方同步从当前算子电路相应类型下的混淆表集中选择的当前混淆表;执行单元,配置为根据所述本地输入数据、所述当前混淆表以及从混淆方获取的各个输入标签执行当前算子电路,得到当前算子电路的各个输出线分别对应的各个输出标签;确定单元,配置为针对得到的各个输出标签,确定各个输出比特本地的各个第二结果,单个第二结果和混淆方本地确定的相应第一结果共同描述相应的输出比特。
[0016]根据第五方面,提供一种基于混淆电路的业务处理装置,所述业务处理包括多个算子电路的连续执行,所述装置设于混淆方,包括:
[0017]获取单元,配置为获取当前算子电路的本地输入数据;
[0018]选择单元,配置为和计算方同步从当前算子电路的算子类型对应的混淆表集中选择的当前混淆表;
[0019]提供单元,配置为根据所述当前混淆表向计算方提供当前算子电路中与本地输入数据相关的各个输入标签,以供计算方执行当前算子电路;
[0020]确定单元,配置为根据当前算子电路的各个输出线对应的备选标签,确定当前算子电路的各个输出线在本地的各个第一结果,单个第一结果和计算方确定的第二结果共同描述相应的输出比特。
[0021]根据第六方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第二方面或第三方面的方法。
[0022本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于混淆电路的业务处理方法,所述业务处理包括多个算子电路的连续执行,所述方法包括:混淆方和计算方各自获取本地针对当前算子电路的输入数据;混淆方和计算方从预先对当前算子电路的算子类型确定的混淆表集中选择当前混淆表;计算方根据自身的本地输入数据、混淆方针对其本地输入数据对应的输入标签和所述当前混淆表执行当前算子电路,得到当前算子电路各个输出线分别对应的各个输出标签;混淆方和计算方根据计算方得到的各个输出标签,安全确定相应输出线在混淆方存储的第一结果和在计算方存储的第二结果,使得单个第一结果和单个第二结果共同描述相应的输出比特。2.根据权利要求1所述的方法,其中,混淆方、计算方均预先针对各个算子类型各自对应存储混淆表集,单个算子类型对应至少一个混淆表集,单个混淆表集包括相应单个算子类型对应的算子电路的多份混淆表,单份混淆表包括单个算子电路的全部门电路各自的输入标签对输出标签的加密结果。3.根据权利要求1所述的方法,其中,对于当前算子电路中由计算方提供的单个输入比特,计算方根据预先存储的选择数据集中的单组选择数据,从混淆方获取相应的单个输入标签,其中,所述单组选择数据在混淆方对应有单组参考字符串,单组参考字符串包括分别对应于两个候选比特的两个参考字符串,所述单组选择数据包括通过随机的不经意传输方式对混淆方的两个候选比特进行选择得到的选择比特以及选择比特对应的参考字符串。4.根据权利要求3所述的方法,其中,由计算方提供的输入比特包括第一比特,所述第一比特对应的第一输入标签通过以下方式确定:计算方从所述选择数据集中随机选择第一选择数据组,并将所述第一比特与第一选择数据组中的第一选择比特的第一比较结果提供给混淆方,所述第一选择数据组包括所述第一选择比特和相应的第一选择字符串;混淆方获取与所述第一选择数据组对应的第一参考字符串组,并根据所述第一比较结果向计算方提供两个候选比特分别对应的两份密文,所述两份密文由所述第一参考字符串组中的两个参考字符串分别对两个候选比特对应的两个备选标签加密得到;计算方用所述第一选择字符串解密所述两份密文,得到所述第一输入标签。5.根据权利要求4所述的方法,其中,在所述第一比较结果为相同的情况下,混淆方使用两个参考字符串按照相对应的候选比特对两个备选标签分别加密,得到所述两份密文;在所述第一比较结果为不同的情况下,混淆方使用两个参考字符串对两个备选标签按照候选比特交叉加密,得到所述两份密文。6.根据权利要求1所述的方法,其中,单个输出标签对应的第一结果由混淆方从0标签的预定位获取,第二结果由计算方从该单个输出标签的预定位获取,其中所述预定位为混淆方针对所述单个输出标签对应的单个输出线生成的两个备选标签的异或结果为1的位。7.根据权利要求5所述的方法,其中,混淆方针对各个输出线生成的两个备选标签的异或结果恒为随机字符串R,所述预定位根据R中比特...

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

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

1