System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本说明书一个或多个实施例涉及安全计算,尤其涉及一种混淆电路计算方法及相关设备。
技术介绍
1、混淆电路,是一种密码学协议,通过用计算机模拟集成电路(applicationspecific integrated circuit,asic)来实现多方安全计算。一个混淆电路往往包括多个逻辑门(例如与门、非门、或非门、异或门等),在执行每个逻辑门时,通常需要先由参与混淆电路计算的一方(混淆电路生成方)生成与该逻辑门对应的混淆真值表,并发送给另一方(混淆电路执行方),再由混淆电路执行方基于接收到的混淆真值表以及双方输入数据的混淆值,计算得到每个逻辑门的输出结果。由于每执行电路中的一个逻辑门都要生成一个混淆真值表,将会浪费大量时间,使得混淆电路的计算效率极其低下。
技术实现思路
1、有鉴于此,本说明书一个或多个实施例提供一种混淆电路计算方法及相关设备。
2、第一方面,本说明书提供了一种混淆电路计算方法,应用于与混淆电路执行方对应的第一计算设备,所述混淆电路包含若干个逻辑门;所述第一计算设备持有与所述混淆电路包含的第一逻辑门对应的第一输入数据,所述第一输入数据为取值为0或者1的1比特数据;与混淆电路生成方对应的第二计算设备持有与所述第一逻辑门对应的多个预期输出数据,其中,所述多个预期输出数据包括所述第一输入数据的取值为0时计算出的第一输出数据,以及所述第一输入数据的取值为1时计算出的第二输出数据;
3、所述方法包括:
4、获取随机数i,以及从所述第二计算设备获
5、获取所述第二计算设备基于所述第一随机值、所述第二随机值、所述第一输出数据和所述第二输出数据计算出的与所述第一逻辑门的输出结果对应的中间计算结果;
6、在所述第一输入数据的取值为0时,基于所述随机值ri计算与所述第一输出数据对应的混淆值,并将该混淆值作为所述第一逻辑门的输出结果;或者,在所述第一输入数据的取值为1时,基于所述随机值ri和所述中间计算结果计算与所述第二输出数据对应的混淆值,并将该混淆值作为所述第一逻辑门的输出结果。
7、第二方面,本说明书提供了一种混淆电路计算方法,应用于与混淆电路生成方对应的第二计算设备,所述混淆电路包含若干个逻辑门;与混淆电路执行方对应的第一计算设备持有与所述混淆电路包含的第一逻辑门对应的第一输入数据,所述第一输入数据为取值为0或者1的1比特数据;所述第二计算设备持有与所述第一逻辑门对应的多个预期输出数据;其中,所述多个预期输出数据包括所述第一输入数据的取值为0时计算出的第一输出数据,以及所述第一输入数据的取值为1时计算出的第二输出数据;
8、所述方法包括:
9、获取第一随机值和第二随机值,并根据所述第一随机值、所述第二随机值、所述第一输出数据和所述第二输出数据计算与所述第一逻辑门的输出结果对应的中间计算结果;
10、将所述中间计算结果发送给所述第一计算设备,以使所述第一计算设备在所述第一输入数据的取值为0时,基于获取到的与随机数i对应的随机值ri,计算与所述第一输出数据对应的混淆值,并将该混淆值作为所述第一逻辑门的输出结果;或者,在所述第一输入数据的取值为1时,基于所述随机值ri和所述中间计算结果计算与所述第二输出数据对应的混淆值,并将该混淆值作为所述第一逻辑门的输出结果;
11、其中,所述随机数i的取值为0或者1,所述随机值ri为从所述第一随机值和所述第二随机值作为数组元素所构成的数组中,随机选择出的与所述随机数i所指示的数组下标对应的随机值。
12、第三方面,本说明书提供了一种混淆电路计算装置,应用于与混淆电路执行方对应的第一计算设备,所述混淆电路包含若干个逻辑门;所述第一计算设备持有与所述混淆电路包含的第一逻辑门对应的第一输入数据,所述第一输入数据为取值为0或者1的1比特数据;与混淆电路生成方对应的第二计算设备持有与所述第一逻辑门对应的多个预期输出数据,其中,所述多个预期输出数据包括所述第一输入数据的取值为0时计算出的第一输出数据,以及所述第一输入数据的取值为1时计算出的第二输出数据;
13、所述装置包括:
14、第一获取单元,用于获取随机数i,以及从所述第二计算设备获取到的第一随机值和第二随机值作为数组元素所构成的数组中,随机选择出的与所述随机数i所指示的数组下标对应的随机值ri;所述随机数i的取值为0或者1;
15、第二获取单元,用于获取所述第二计算设备基于所述第一随机值、所述第二随机值、所述第一输出数据和所述第二输出数据计算出的与所述第一逻辑门的输出结果对应的中间计算结果;以及,
16、计算单元,用于在所述第一输入数据的取值为0时,基于所述随机值ri计算与所述第一输出数据对应的混淆值,并将该混淆值作为所述第一逻辑门的输出结果;或者,在所述第一输入数据的取值为1时,基于所述随机值ri和所述中间计算结果计算与所述第二输出数据对应的混淆值,并将该混淆值作为所述第一逻辑门的输出结果。
17、第四方面,本说明书提供了一种混淆电路计算装置,应用于与混淆电路生成方对应的第二计算设备,所述混淆电路包含若干个逻辑门;与混淆电路执行方对应的第一计算设备持有与所述混淆电路包含的第一逻辑门对应的第一输入数据,所述第一输入数据为取值为0或者1的1比特数据;所述第二计算设备持有与所述第一逻辑门对应的多个预期输出数据;其中,所述多个预期输出数据包括所述第一输入数据的取值为0时计算出的第一输出数据,以及所述第一输入数据的取值为1时计算出的第二输出数据;
18、所述装置包括:
19、获取单元,用于获取第一随机值和第二随机值,并根据所述第一随机值、所述第二随机值、所述第一输出数据和所述第二输出数据计算与所述第一逻辑门的输出结果对应的中间计算结果;
20、发送单元,用于将所述中间计算结果发送给所述第一计算设备,以使所述第一计算设备在所述第一输入数据的取值为0时,基于获取到的与随机数i对应的随机值ri,计算与所述第一输出数据对应的混淆值,并将该混淆值作为所述第一逻辑门的输出结果;或者,在所述第一输入数据的取值为1时,基于所述随机值ri和所述中间计算结果计算与所述第二输出数据对应的混淆值,并将该混淆值作为所述第一逻辑门的输出结果;
21、其中,所述随机数i的取值为0或者1,所述随机值ri为从所述第一随机值和所述第二随机值作为数组元素所构成的数组中,随机选择出的与所述随机数i所指示的数组下标对应的随机值。
22、相应地,本说明书还提供了一种计算设备,包括:存储器和处理器;所述存储器上存储有可由所述处理器运行的计算机程序/指令;所述处理器运行所述计算机程序/指令时,执行上述第一方面或者第二方面所述的混淆电路计算方法。
23、相应地,本说明书还提供了一种计算机可本文档来自技高网...
【技术保护点】
1.一种混淆电路计算方法,其特征在于,应用于与混淆电路执行方对应的第一计算设备,所述混淆电路包含若干个逻辑门;所述第一计算设备持有与所述混淆电路包含的第一逻辑门对应的第一输入数据,所述第一输入数据为取值为0或者1的1比特数据;与混淆电路生成方对应的第二计算设备持有与所述第一逻辑门对应的多个预期输出数据,其中,所述多个预期输出数据包括所述第一输入数据的取值为0时计算出的第一输出数据,以及所述第一输入数据的取值为1时计算出的第二输出数据;
2.根据权利要求1所述的方法,其特征在于,所述第二计算设备还持有与所述第一逻辑门对应的第二输入数据以及目标函数,所述第一逻辑门用于将所述第一输入数据和所述第二输入数据作为所述目标函数的输入数据,计算所述目标函数的计算结果。
3.根据权利要求1所述的方法,其特征在于,所述获取随机数i,以及从所述第二计算设备获取到的第一随机值和第二随机值作为数组元素所构成的数组中,随机选择出的与所述随机数i所指示的数组下标对应的随机值ri,包括:
4.根据权利要求1所述的方法,其特征在于,所述在所述第一输入数据的取值为0时,基于所述
5.根据权利要求4所述的方法,其特征在于,所述将所述随机值ri确定为与所述第一输出数据对应的混淆值,包括:
6.根据权利要求1所述的方法,其特征在于,所述在所述第一输入数据的取值为1时,基于所述随机值ri和所述中间计算结果计算与所述第二输出数据对应的混淆值,包括:
7.根据权利要求6所述的方法,其特征在于,所述中间计算结果的长度为预设长度;所述计算所述随机值ri和所述中间计算结果的异或结果,包括:
8.根据权利要求7所述的方法,其特征在于,所述中间计算结果为所述第二计算设备将其持有的所述第一随机值、所述第二随机值、所述第一输出数据,以及所述第二输出数据依次进行异或计算后得到的结果。
9.根据权利要求8所述的方法,其特征在于,所述中间计算结果为所述第二计算设备将与所述第一随机值对应的预设长度的哈希值、与所述第二随机值对应的预设长度的哈希值、所述第一输出数据与预设长度的随机比特串的第一相乘结果,以及所述第二输出数据与所述随机比特串的第二相乘结果依次进行异或计算后得到的结果。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
11.根据权利要求10所述的方法,其特征在于,所述将所述异或结果e发送给所述第二计算设备,以使所述第二计算设备基于所述异或结果e计算与所述第一输出数据对应的混淆值,以及与所述第二输出数据对应的混淆值,包括:
12.一种混淆电路计算方法,其特征在于,应用于与混淆电路生成方对应的第二计算设备,所述混淆电路包含若干个逻辑门;与混淆电路执行方对应的第一计算设备持有与所述混淆电路包含的第一逻辑门对应的第一输入数据,所述第一输入数据为取值为0或者1的1比特数据;所述第二计算设备持有与所述第一逻辑门对应的多个预期输出数据;其中,所述多个预期输出数据包括所述第一输入数据的取值为0时计算出的第一输出数据,以及所述第一输入数据的取值为1时计算出的第二输出数据;
13.一种混淆电路计算装置,其特征在于,应用于与混淆电路执行方对应的第一计算设备,所述混淆电路包含若干个逻辑门;所述第一计算设备持有与所述混淆电路包含的第一逻辑门对应的第一输入数据,所述第一输入数据为取值为0或者1的1比特数据;与混淆电路生成方对应的第二计算设备持有与所述第一逻辑门对应的多个预期输出数据,其中,所述多个预期输出数据包括所述第一输入数据的取值为0时计算出的第一输出数据,以及所述第一输入数据的取值为1时计算出的第二输出数据;
14.一种混淆电路计算装置,其特征在于,应用于与混淆电路生成方对应的第二计算设备,所述混淆电路包含若干个逻辑门;与混淆电路执行方对应的第一计算设备持有与所述混淆电路包含的第一逻辑门对应的第一输入数据,所述第一输入数据为取值为0或者1的1比特数据;所述第二计算设备持有与所述第一逻辑门对应的多个预期输出数据;其中,所述多个预期输出数据包括所述第一输入数据的取值为0时计算出的第一输出数据,以及所述第一输入数据的取值为1时计算出的第二输出数据;
15.一种计算设备,其特征在于,包括:存储器和处理器;所述存储器上存储有可由所述处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行如权利要求1至11任意一项所述的方法,或者执行如权利要求12所述的方法。
16.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1...
【技术特征摘要】
1.一种混淆电路计算方法,其特征在于,应用于与混淆电路执行方对应的第一计算设备,所述混淆电路包含若干个逻辑门;所述第一计算设备持有与所述混淆电路包含的第一逻辑门对应的第一输入数据,所述第一输入数据为取值为0或者1的1比特数据;与混淆电路生成方对应的第二计算设备持有与所述第一逻辑门对应的多个预期输出数据,其中,所述多个预期输出数据包括所述第一输入数据的取值为0时计算出的第一输出数据,以及所述第一输入数据的取值为1时计算出的第二输出数据;
2.根据权利要求1所述的方法,其特征在于,所述第二计算设备还持有与所述第一逻辑门对应的第二输入数据以及目标函数,所述第一逻辑门用于将所述第一输入数据和所述第二输入数据作为所述目标函数的输入数据,计算所述目标函数的计算结果。
3.根据权利要求1所述的方法,其特征在于,所述获取随机数i,以及从所述第二计算设备获取到的第一随机值和第二随机值作为数组元素所构成的数组中,随机选择出的与所述随机数i所指示的数组下标对应的随机值ri,包括:
4.根据权利要求1所述的方法,其特征在于,所述在所述第一输入数据的取值为0时,基于所述随机值ri计算与所述第一输出数据对应的混淆值,包括:
5.根据权利要求4所述的方法,其特征在于,所述将所述随机值ri确定为与所述第一输出数据对应的混淆值,包括:
6.根据权利要求1所述的方法,其特征在于,所述在所述第一输入数据的取值为1时,基于所述随机值ri和所述中间计算结果计算与所述第二输出数据对应的混淆值,包括:
7.根据权利要求6所述的方法,其特征在于,所述中间计算结果的长度为预设长度;所述计算所述随机值ri和所述中间计算结果的异或结果,包括:
8.根据权利要求7所述的方法,其特征在于,所述中间计算结果为所述第二计算设备将其持有的所述第一随机值、所述第二随机值、所述第一输出数据,以及所述第二输出数据依次进行异或计算后得到的结果。
9.根据权利要求8所述的方法,其特征在于,所述中间计算结果为所述第二计算设备将与所述第一随机值对应的预设长度的哈希值、与所述第二随机值对应的预设长度的哈希值、所述第一输出数据与预设长度的随机比特串的第一相乘结果,以及所述第二输出数据与所述随机比特串的第二相乘结果依次进行异或计算后得到的结果。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
11.根据权利要求10所述的方法,其特征在于,所述...
【专利技术属性】
技术研发人员:李漓春,赵原,
申请(专利权)人:蚂蚁区块链科技上海有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。