本技术涉及计算机,具体而言,涉及一种基于多方安全计算的符号位确定方法、基于多方安全计算的符号位确定装置、基于多方安全计算的符号位确定系统、计算机可读存储介质及电子设备。
背景技术:
1、安全多方计算,是指在无可信第三方的情况下,多个参与方协同计算一个约定的函数,并且保证每一方仅获取自己的计算结果,无法通过计算过程中的交互数据推测出其他任意一方的输入和输出数据。
2、在金融风控、联合营销等业务场景中,安全多方计算得到越来越广泛的应用。基于安全多方计算,参与方之间可以执行隐私求交、隐匿检索等操作,可见,基于安全多方计算可以实现多种技术目的。具体地,多种技术目的中包括确定秘密数据/隐私数据的符号(如,正/负)这一技术目的。在一些场景(如,构建隐私保护机器学习模型的场景)下,参与方需获知秘密数据/隐私数据的符号但无需获知秘密数据/隐私数据的全量数据内容,确定出秘密数据/隐私数据的符号,对于参与方执行其他计算/操作(如,执行非线性网络层的函数)来说是至关重要的前提条件。
3、相关技术中,为了确定出秘密数据/隐私数据的符号,参与方对持有的局部隐私数据进行比特位遍历,以针对各比特位进行逐位计算,遍历完局部隐私数据后,可以推算出隐私数据的符号。其中,针对每个比特位的计算不仅依赖于前一比特位的计算结果,还依赖于与持有剩余部分隐私数据的其他参与方的通信。可见,在相关技术确定隐私数据的符号的过程中,需要消耗较多的通信资源。
4、需要说明的是,在上述背景技术部分公开的信息仅用于加强对本技术的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有方案的信息。
技术实现思路
1、本技术的目的在于提供一种基于多方安全计算的符号位确定方法、基于多方安全计算的符号位确定装置、基于多方安全计算的符号位确定系统、计算机可读存储介质及电子设备,可以引入伪随机数的随机数碎片以辅助确定出秘密数据的符号位,基于此来节约通信资源,规避相关技术中因需要在每个比特位计算中与其他参与方通信而导致的通信资源消耗大的问题。具体地,本技术中,对于本端参与方来说,可以生成第一伪随机数的第一随机数碎片和第二随机数碎片,对于对端参与方来说,可以生成第二伪随机数的第三随机数碎片和第四随机数碎片。进而,将第二随机数碎片和第三随机数碎片进行交换,可以使得两个参与方都持有对方的随机数碎片。在此基础上,在对第一秘密碎片进行比特位处理时,可以参考本端参与方的第一随机数碎片和对端参与方的第三随机数碎片,进而得到可以用于确定符号位的第一目标数组。基于相同的方式,对端参与方可以确定出第二目标数组,双方交换第一目标数组和第二目标数组后,各方均持有第一目标数组和第二目标数组,基于第一目标数组和第二目标数组可以确定出秘密数据的符号位,无需在每个比特位处理过程中进行通信。在本技术实施例的实施过程中,只需要进行两次通信,一次通信用于接收由对端参与方发送的第三随机数碎片并向对端参与方发送第二随机数碎片,另一次通信用于接收由对端参与方发送的第二目标数组并向对端参与方发送第一目标数组。可见,相较于相关技术,本技术可以节约通信资源,提升通信效率,从而提升确定出秘密数据的符号位的效率。
2、本技术的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本技术的实践而习得。
3、根据本技术的一方面,提供一种基于多方安全计算的符号位确定方法,该方法包括:
4、获取秘密数据的第一秘密碎片以及对应于第一伪随机数的第一随机数碎片和第二随机数碎片,并向对端参与方发送第二随机数碎片;
5、对第一秘密碎片中各比特位进行概率截断处理,得到第一中间数组;
6、接收由对端参与方发送的第三随机数碎片,并基于第一随机数碎片、第三随机数碎片、第一中间数组生成第一目标数组;其中,对端参与方用于获取对应于第二伪随机数的第三随机数碎片和第四随机数碎片;
7、接收由对端参与方发送的第二目标数组,并基于第一目标数组和第二目标数组确定秘密数据的符号位;其中,对端参与方还用于基于第二随机数碎片、第四随机数碎片、秘密数据对应的第二中间数组生成第二目标数组。
8、在本技术的一种示例性实施例中,获取第一伪随机数的第一随机数碎片和第二随机数碎片,包括:
9、基于随机数生成器生成第一伪随机数;
10、基于加性秘密共享协议生成对应于第一伪随机数的第一随机数碎片和第二随机数碎片。
11、在本技术的一种示例性实施例中,对第一秘密碎片中各比特位进行概率截断处理,得到第一中间数组,包括:
12、循环遍历第一秘密碎片,以基于概率截断算法计算第一秘密碎片中各比特位的第一中间值,得到包含多个第一中间值的第一中间数组。
13、在本技术的一种示例性实施例中,基于第一随机数碎片、第三随机数碎片、第一中间数组生成第一目标数组,包括:
14、将第一随机数碎片和第三随机数碎片融合为第一参考数据;
15、对第一中间数组和第一参考数据进行比特位对位运算,得到第一目标数组。
16、在本技术的一种示例性实施例中,对第一中间数组和第一参考数据进行比特位对位运算,得到第一目标数组,包括:
17、将第一中间数组和第一参考数据对应于同一比特位的元素相乘,并将各相乘结果与预设值进行融合,得到包含多个融合结果的第一目标数组。
18、在本技术的一种示例性实施例中,基于第一目标数组和第二目标数组确定秘密数据的符号位,包括:
19、将第一目标数组和第二目标数组融合为指定数组;
20、遍历指定数组中的元素,若存在等于第一预设值的元素,则判定秘密数据的符号位为正,否则判定秘密数据的符号位为负。
21、在本技术的一种示例性实施例中,对端参与方基于第二随机数碎片、第四随机数碎片、秘密数据对应的第二中间数组生成第二目标数组的方式在于:循环遍历秘密数据的第二秘密碎片,以基于概率截断算法计算第二秘密碎片中各比特位的第二中间值,得到包含多个第二中间值的第二中间数组;将第二随机数碎片和第四随机数碎片融合为第二参考数据;对第二中间数组和第二参考数据进行比特位对位运算,得到第二目标数组。
22、在本技术的一种示例性实施例中,基于第一目标数组和第二目标数组确定秘密数据的符号位,包括:
23、接收由对端参与方发送的公钥、数组密文和参考密文;其中,对端参与方还用于基于公钥将第二中间数组和第二参考数据分别加密为数组密文和参考密文;
24、计算数组密文和第一中间数组的第一密文乘积,以及参考密文和第一参考数据的第二密文乘积,并向对端参与方发送第一密文乘积和第二密文乘积;
25、获取由对端参与方基于私钥分别解密第一密文乘积和第二密文乘积后输出的第一乘积和第二乘积;其中,私钥和公钥相对应;
26、融合第一目标数组、第二目标数组、第一乘积和第二乘积,得到特定数组;
27、遍历特定数组中的元素,若存在等于第二预设值的元素,则判定秘密数据的符号位为正,否则判定秘密数据的符号位为负。
28、根据本技术的一方面,提供一种基于多方安全计算的符号位确定装置,该装置包括:
29、获取单元,用于获取秘密数据的第一秘密碎片以及对应于第一伪随机数的第一随机数碎片和第二随机数碎片,并向对端参与方发送第二随机数碎片;
30、数组计算单元,用于对第一秘密碎片中各比特位进行概率截断处理,得到第一中间数组;
31、数组生成单元,用于接收由对端参与方发送的第三随机数碎片,并基于第一随机数碎片、第三随机数碎片、第一中间数组生成第一目标数组;其中,对端参与方用于获取对应于第二伪随机数的第三随机数碎片和第四随机数碎片;
32、符号位确定单元,用于接收由对端参与方发送的第二目标数组,并基于第一目标数组和第二目标数组确定秘密数据的符号位;其中,对端参与方还用于基于第二随机数碎片、第四随机数碎片、秘密数据对应的第二中间数组生成第二目标数组。
33、在本技术的一种示例性实施例中,获取单元获取第一伪随机数的第一随机数碎片和第二随机数碎片,包括:
34、基于随机数生成器生成第一伪随机数;
35、基于加性秘密共享协议生成对应于第一伪随机数的第一随机数碎片和第二随机数碎片。
36、在本技术的一种示例性实施例中,数组计算单元对第一秘密碎片中各比特位进行概率截断处理,得到第一中间数组,包括:
37、循环遍历第一秘密碎片,以基于概率截断算法计算第一秘密碎片中各比特位的第一中间值,得到包含多个第一中间值的第一中间数组。
38、在本技术的一种示例性实施例中,数组生成单元基于第一随机数碎片、第三随机数碎片、第一中间数组生成第一目标数组,包括:
39、将第一随机数碎片和第三随机数碎片融合为第一参考数据;
40、对第一中间数组和第一参考数据进行比特位对位运算,得到第一目标数组。
41、在本技术的一种示例性实施例中,数组生成单元对第一中间数组和第一参考数据进行比特位对位运算,得到第一目标数组,包括:
42、将第一中间数组和第一参考数据对应于同一比特位的元素相乘,并将各相乘结果与预设值进行融合,得到包含多个融合结果的第一目标数组。
43、在本技术的一种示例性实施例中,符号位确定单元基于第一目标数组和第二目标数组确定秘密数据的符号位,包括:
44、将第一目标数组和第二目标数组融合为指定数组;
45、遍历指定数组中的元素,若存在等于第一预设值的元素,则判定秘密数据的符号位为正,否则判定秘密数据的符号位为负。
46、在本技术的一种示例性实施例中,其中,对端参与方基于第二随机数碎片、第四随机数碎片、秘密数据对应的第二中间数组生成第二目标数组的方式在于:循环遍历秘密数据的第二秘密碎片,以基于概率截断算法计算第二秘密碎片中各比特位的第二中间值,得到包含多个第二中间值的第二中间数组;将第二随机数碎片和第四随机数碎片融合为第二参考数据;对第二中间数组和第二参考数据进行比特位对位运算,得到第二目标数组。
47、在本技术的一种示例性实施例中,符号位确定单元基于第一目标数组和第二目标数组确定秘密数据的符号位,包括:
48、接收由对端参与方发送的公钥、数组密文和参考密文;其中,对端参与方还用于基于公钥将第二中间数组和第二参考数据分别加密为数组密文和参考密文;
49、计算数组密文和第一中间数组的第一密文乘积,以及参考密文和第一参考数据的第二密文乘积,并向对端参与方发送第一密文乘积和第二密文乘积;
50、获取由对端参与方基于私钥分别解密第一密文乘积和第二密文乘积后输出的第一乘积和第二乘积;其中,私钥和公钥相对应;
51、融合第一目标数组、第二目标数组、第一乘积和第二乘积,得到特定数组;
52、遍历特定数组中的元素,若存在等于第二预设值的元素,则判定秘密数据的符号位为正,否则判定秘密数据的符号位为负。
53、根据本技术的一方面,提供一种基于多方安全计算的符号位确定系统,该系统包括:本端参与方和对端参与方,其中:
54、本端参与方,用于获取秘密数据的第一秘密碎片以及对应于第一伪随机数的第一随机数碎片和第二随机数碎片,并向对端参与方发送第二随机数碎片;
55、本端参与方,还用于对第一秘密碎片中各比特位进行概率截断处理,得到第一中间数组;
56、对端参与方,用于获取对应于第二伪随机数的第三随机数碎片和第四随机数碎片,并向本端参与方发送第三随机数碎片;
57、本端参与方,还用于基于第一随机数碎片、第三随机数碎片、第一中间数组生成第一目标数组;
58、对端参与方,还用于基于第二随机数碎片、第四随机数碎片、秘密数据对应的第二中间数组生成第二目标数组,并向本端参与方发送第二目标数组;
59、本端参与方,还用于基于第一目标数组和第二目标数组确定秘密数据的符号位。
60、根据本技术的一方面,提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任意一项的方法。
61、根据本技术的一方面,提供一种电子设备,包括:处理器;以及存储器,用于存储处理器的可执行指令;其中,处理器配置为经由执行可执行指令来执行上述任意一项的方法。
62、本技术示例性实施例可以具有以下部分或全部有益效果:
63、在本技术的一示例实施方式所提供的基于多方安全计算的符号位确定方法中,可以引入伪随机数的随机数碎片以辅助确定出秘密数据的符号位,基于此来节约通信资源,规避相关技术中因需要在每个比特位计算中与其他参与方通信而导致的通信资源消耗大的问题。具体地,本技术中,对于本端参与方来说,可以生成第一伪随机数的第一随机数碎片和第二随机数碎片,对于对端参与方来说,可以生成第二伪随机数的第三随机数碎片和第四随机数碎片。进而,将第二随机数碎片和第三随机数碎片进行交换,可以使得两个参与方都持有对方的随机数碎片。在此基础上,在对第一秘密碎片进行比特位处理时,可以参考本端参与方的第一随机数碎片和对端参与方的第三随机数碎片,进而得到可以用于确定符号位的第一目标数组。基于相同的方式,对端参与方可以确定出第二目标数组,双方交换第一目标数组和第二目标数组后,各方均持有第一目标数组和第二目标数组,基于第一目标数组和第二目标数组可以确定出秘密数据的符号位,无需在每个比特位处理过程中进行通信。在本技术实施例的实施过程中,只需要进行两次通信,一次通信用于接收由对端参与方发送的第三随机数碎片并向对端参与方发送第二随机数碎片,另一次通信用于接收由对端参与方发送的第二目标数组并向对端参与方发送第一目标数组。可见,相较于相关技术,本技术可以节约通信资源,提升通信效率,从而提升确定出秘密数据的符号位的效率。
64、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。