分享OT协议的执行方法、安全多方计算方法及装置与流程

文档序号:31408869发布日期:2022-09-03 08:12阅读:186来源:国知局
分享OT协议的执行方法、安全多方计算方法及装置与流程
分享ot协议的执行方法、安全多方计算方法及装置
技术领域
1.本说明书一个或多个实施例涉及计算机领域,尤其涉及一种2选1分享ot协议的执行方法、n选1分享ot协议的执行方法、基于2选1分享ot协议的安全多方计算方法、基于n选1分享ot协议的安全多方计算方法及装置。


背景技术:

2.不经意传输(oblivious transfer,ot)协议是密码学中的较为典型的两方协议,其经常被用于支持安全多方计算的执行。通过ot协议来支持安全多方计算(secure multi-party computation,smpc)时,参与进行安全多方计算的不同参与方之间通常需要传输大量的数据,甚至不同参与方之间还可能需要进行多个轮次的通信。
3.希望有一种新的方案,以期有利于更加高效的完成安全多方计算。


技术实现要素:

4.本说明书一个或多个实施例中提供了一种一种2选1分享ot协议的执行方法、n选1分享ot协议的执行方法、基于2选1分享ot协议的安全多方计算方法、基于n选1分享ot协议的安全多方计算方法及装置。
5.第一方面,提供了一种2选1分享ot协议的执行方法,涉及第一方和第二方,所述第二方持有按顺序排列的两个隐私数值以及按顺序排列的两个随机数,所述第一方持有目标隐私数值在所述两个隐私数值中的第一序号、目标随机数以及其在所述两个随机数中的第二序号,所述方法应用于所述第二方。所述方法包括:从所述第一方接收其基于所述第一序号和所述第二序号计算得到的第三序号;根据所述两个隐私数值以及所述两个随机数计算中间数据;向所述第一方发送所述中间数据,使所述第一方计算第一分片;根据序号为所述第三序号的随机数以及排列在首位的隐私数值计算第二分片,使得采用第一预设运算规则处理所述第一分片和所述第二分片的结果相等于所述目标隐私数值。
6.在一种可能的实施方式中,所述方法还包括:从第三方接收所述两个随机数;其中所述目标随机数和所述第二序号由所述第三方发送至所述第一方。
7.在一种可能的实施方式中,所述第三序号相等于对所述第一序号和所述第二序号进行异或运算的结果;和/或,对所述第一分片和所述第二分片进行求和运算或者异或运算的结果相等于所述目标隐私数据。
8.在一种可能的实施方式中,根据所述两个隐私数值以及所述两个随机数计算中间数据,包括:根据第二预设运算规则分别处理所述两个随机数以获得第一数据项和第二数据项,基于所述第一数据项、所述第二数据项和所述两个隐私数值计算中间数据。
9.在一种可能的实施方式中,根据序号为所述第三序号的随机数以及排列在首位的隐私数值计算第二分片,包括:根据所述第二预设运算规则处理序号为所述第三序号的随机数以获得第三数据项,根据所述第三数据项和排列在首位的隐私数值计算所述目标隐私数值的第二分片。
10.在一种可能的实施方式中,所述两个隐私数值的长度均为t比特;所述根据第二预设运算规则分别处理所述两个随机数以获得第一数据项和第二数据项,包括:依次计算所述两个随机数各自的长度为t比特的哈希值以作为第一数据项和第二数据项;或者,对长度大于t比特的所述两个随机数,依次从预定位置开始提取长度为t比特的比特序列,并将提取的两个比特序列所分别表征的数据作为第一数据项和第二数据项。
11.第二方面,提供了一种2选1分享ot协议的执行方法,涉及第一方和第二方,所述第二方持有按顺序排列的两个隐私数值以及按顺序排列的2个随机数,所述第一方持有目标隐私数值在所述两个隐私数值中的第一序号、目标随机数以及其在所述两个随机数中的第二序号,所述方法应用于所述第一方。所述方法包括:向所述第二方发送基于所述第一序号和所述第二序号计算得到的第三序号,使所述第二方根据序号为所述第三序号的随机数以及排列在首位的隐私数值计算第二分片,并返回其根据所述两个隐私数值以及所述两个随机数计算的中间数据;根据所述第一序号和所述目标随机数计算第一分片,使得采用第一预设运算规则处理所述第一分片和所述第二分片的结果相等于所述目标隐私数值。
12.在一种可能的实施方式中,所述方法还包括:从第三方接收所述目标随机数和所述第二序号;所述两个随机数由所述第三方发送至所述第二方。
13.在一种可能的实施方式中,所述第三序号相等于对所述第一序号和所述第二序号进行异或运算的结果;和/或,对所述第一分片和所述第二分片进行求和运算或者异或运算的结果相等于所述目标隐私数据。
14.在一种可能的实施方式中,根据所述第一序号和所述目标随机数计算第一分片,包括:利用第二预设运算规则处理所述目标随机数以获得第四数据项;如果序号为所述第一序号的目标隐私数值是排列在首位的隐私数值,则将所述第四数据项作为第一分片,否则基于所述第四数据项和所述中间数据计算第一分片。
15.在一种可能的实施方式中,利用第二预设运算规则处理所述目标随机数以获得第四数据项,包括:计算所述目标随机数的长度为t比特的哈希值以作为第四数据项;或者,对长度大于t比特的所述目标随机数,从预定位置开始提取长度为t比特的比特序列并将其表征的数据作为第四数据项。
16.第三方面,提供了一种基于2选1分享ot协议的安全多方计算方法,涉及第一方和第二方,所述第一方持有将要作为第一序号的第三隐私数值,所述第二方持有第二隐私数值,所述方法应用于所述第二方。所述方法包括:生成按顺序排列的两个隐私数值,其中任意的序号为j的隐私数值是利用目标运算规则处理序号j和所述第二隐私数值而得到的,使序号为所述第三隐私数值的隐私数值相等于利用目标运算规则处理所述第三隐私数值和所述第二隐私数值的结果;对所述两个隐私数值和作为第一序号的所述第三隐私数值,采用第一方面中任一项所述的方法与所述第一方联合执行2选1分享ot协议,获得序号为所述三隐私数值的目标隐私数值的第二分片,并使所述第一方对应获得序号为所述第三隐私数值的目标隐私数值的第一分片。
17.在一种可能的实施方式中,所述第二隐私数值和所述第三隐私数值是第四隐私数值在模2空间内的两个分片,所述第一分片和所述第二分片的长度均为大于1的t比特;对所述第二隐私数值和所述第三隐私数值进行异或运算的结果,相等于对所述第一分片和第二分片进行求和运算的结果。
18.在一种可能的实施方式中,所述目标运算规则包括求和运算、求积运算、按位与运算、按位或运算或者按位异或运算。
19.在一种可能的实施方式中,所述第一方还持有第四隐私数值,所述第二隐私数值和所述第四隐私数值的和相等于第五隐私数值;所述第二分片与第三分片的和相等于所述第三隐私数值与所述第五隐私数值的乘积,其中所述第三分片由所述第一方基于所述第三隐私数值、所述第四隐私数值和所述第一分片计算得到。
20.在一种可能的实施方式中,所述第一方还持有第四隐私数值,所述第二方还持有第六隐私数值和第七隐私数值,所述第三隐私数值和所述第六隐私数值是位于模2空间内的第八隐私数值在模2空间内的两个异或分片,所述第四隐私数值与所述第七隐私数值的和相等于第五隐私数值;所述第二隐私数值由所述第二方基于所述第六隐私数值和所述第七隐私数值计算得到,所述第二分片用于计算所述第五隐私数值与所述第八隐私数值的乘积。
21.第四方面,提供了一种基于2选1分享ot协议的安全多方计算方法,涉及第一方和第二方,所述第一方持有将要作为第一序号的第三隐私数值,所述第二方持有第二隐私数值,所述方法应用于所述第一方。所述方法包括:对作为第一序号的所述第三隐私数值和两个隐私数值,采用第二方面中任一项所述的方法与所述第二方联合执行2选1分享ot协议,获得序号为所述三隐私数值的目标隐私数值的第一分片,并使所述第二方获得序号为所述第三隐私数值的目标隐私数值的第二分片,其中任意序号为j的隐私数值是由所述第二方利用目标运算规则处理序号j和所述第二隐私数值而得到的,使序号为所述第三隐私数值的隐私数值相等于利用目标运算规则处理所述第三隐私数值和所述第二隐私数值的结果。
22.在一种可能的实施方式中,所述第二隐私数值和所述第三隐私数值是第四隐私数值在模2空间内的两个分片,所述第一分片和所述第二分片的长度均为大于1的t比特;对所述第二隐私数值和所述第三隐私数值进行异或运算的结果相等于对所述第一分片和第二分片进行求和运算的结果。
23.在一种可能的实施方式中,所述目标运算规则包括求和运算、求积运算、按位与运算、按位或运算或者按位异或运算。
24.在一种可能的实施方式中,所述第二隐私数值和由所述第一方持有的第四隐私数值的和相等于第五隐私数值;所述方法还包括:基于所述第三隐私数值、所述第四隐私数值和所述第一分片计算第三分片,使所述第二分片与所述第三分片的和相等于所述第三隐私数值与所述第五隐私数值的乘积。
25.在一种可能的实施方式中,所述第一方还持有第四隐私数值,所述第二方还持有第六隐私数值和第七隐私数值,所述第三隐私数值和所述第六隐私数值是位于模2空间内的第八隐私数值在模2空间内的两个异或分片,所述第四隐私数值与所述第七隐私数值的和相等于第五隐私数值;所述第二隐私数值由所述第二方基于所述第六隐私数值和所述第七隐私数值计算得到,所述第一分片用于计算所述第五隐私数值与所述第八隐私数值的乘积。
26.第五方面,提供了一种基于2选1分享ot协议的安全多方计算方法,涉及第一方和第二方,所述第一方持有将要作为第一序号的第三隐私数值,所述第二方持有第五隐私数值和第六隐私数值,所述第三隐私数值和所述第六隐私数值是位于模2空间内的第八隐私
数值在模2空间内的两个异或分片。所述方法包括:所述第二方生成按顺序排列的两个隐私数值,其中任意序号为j的隐私数值相等于利用目标运算规则处理序号为j的异或结果和所述第五隐私数值而得到的,序号为j的异或结果通过对序号j和所述第六隐私数值进行异或运算而得到,使序号为所述第三隐私数值的目标隐私数值相等于利用所述目标运算规则处理所述第五隐私数值和所述第八隐私数值的结果;所述第一方和所述第二方对作为第一序号的所述第三隐私数值和所述两个隐私数值,采用权利要求1-11中任一项所述的方法联合执行2选1分享ot协议,分别获得序号为所述三隐私数值的目标隐私数值的第一分片和第二分片。
27.第六方面,提供了一种n选1分享不经意传输ot协议的执行方法,涉及第一方和第二方,所述第二方持有按顺序排列的n个第九隐私数值,所述第一方持有第十隐私数值在所述n个隐私数值中的第四序号,其中n大于2,所述方法应用于所述第二方。所述方法包括:生成按顺序排列的n-1个数据分组,单个数据分组中包含按顺序排列的两个隐私数值,其中对于任意的第j个数据分组,当j为1时,其中的两个隐私数值分别根据第1个第九隐私数值和第2个第九隐私数值确定,当j大于1时,其中的第1个隐私数值为0,第2个隐私数值基于第j+1个第九隐私数值和第1个第九隐私数值确定;基于所述n-1个数据分组,采用第一方面中任一项所述的方法,与所述第一方基于n-1个第一序号,联合执行n-1轮2选1分享ot协议,获得n-1个第二分片,使得利用第一预设运算规则处理第j个第二分片和所述第一方对应获得的第j个第一分片的结果,相等于第j个数据分组中序号为第j个第一序号的目标隐私数值,第j个第一序号基于轮次j和所述第四序号确定;基于所述n-1个第二分片计算第五分片,使得利用所述第一预设运算规则处理所述第五分片和所述第一方对应计算的第四分片的结果相等于所述第十隐私数值。
28.在一种可能的实施方式中,第1个数据分组中的第1个隐私数值为第1个第九隐私数值,第1个数据分组中的第2个隐私数值为第2个第九隐私数值;当j大于1时,第j个数据分组中的第2个隐私数值为第j+1个第九隐私数值与第1个第九隐私数值的差。
29.在一种可能的实施方式中,对于任意的第j轮2选1分享ot协议,当所述第四序号相等于j时,所述目标隐私数值为第j个数据分组中的第2个隐私数值,当所述第四序号不等于j时,所述目标数据为第j个数据分组中的第1个隐私数值。
30.第七方面,提供了一种n选1分享ot协议的执行方法,涉及第一方和第二方,所述第二方持有按顺序排列的n个第九隐私数值,所述第一方持有第十隐私数值在所述n个第九隐私数值中的第四序号,其中n大于2,所述方法应用于所述第一方。所述方法包括:确定与n-1个执行轮次对应的n-1个第一序号,其中任意第j个第一序号基于其对应的执行轮次j和所述第四序号确定;基于所述n-1个第一序号,采用权利要求7-11中任一项所述的方法,与所述第二方基于n-1个数据分组,联合执行n-1轮2选1分享ot协议,获得n-1个第一分片,使得利用第一预设运算规则处理第j个第一分片和所述第二方对应获得的第j个第二分片的结果,相等于第j个数据分组中序号为第j个第一序号的目标隐私数值,其中单个数据分组中包含按顺序排列的两个隐私数值,对于任意的第j个数据分组,当j为1时,其中的两个隐私数值分别根据第1个第九隐私数值和第2个第九隐私数值确定,当j大于1时,其中的第1个隐私数值为0,第2个隐私数值基于第j+1个第九隐私数值和第1个第九隐私数值确定;基于所述n-1个第一分片计算第四分片,使得利用所述第一预设运算规则处理所述第四分片和所
述第二方对应计算的第五分片的结果相等于所述第十隐私数值。
31.在一种可能的实施方式中,第1个数据分组中的第1个隐私数值为第1个第九隐私数值,第1个数据分组中的第二个隐私数值为第2个第九隐私数值;当j大于1时,第j个数据分组中的第2个隐私数值为第j+1个第九隐私数值与第1个第九隐私数值的差。
32.在一种可能的实施方式中对于任意的第j轮2选1分享ot协议,当所述第四序号相等于j时,所述目标隐私数值为第j个数据分组中的第2个隐私数值,当所述第四序号不等于j时,所述目标隐私数值为第j个数据分组中的第2个隐私数值。
33.第八方面,提供了一种基于n选1分享ot协议的安全多方计算方法,涉及第一方和第二方,所述第一方持有将要作为第四序号的第三隐私数值,所述第二方持有第二隐私数值,所述方法应用于所述第二方。所述方法包括:生成按顺序排列的n个第九隐私数值,其中所述n个第九隐私数值中的任一当前隐私数值是利用目标运算规则处理所述当前隐私数值在所述n个第九隐私数值中的序号和所述第二隐私数值而得到的,使序号为所述第三隐私数值的第九隐私数值相等于利用所述目标运算规则处理所述第三隐私数值和所述第二隐私数值的结果;对所述n个第九隐私数值和作为第四序号的所述第三隐私数值,采用第六方面中任一项所述的方法与所述第一方联合执行n选1分享ot协议,获得序号为所述三隐私数值的第九隐私数值的第五分片,并使所述第一方获得序号为所述第三隐私数值的第九隐私数值的第第四分片。
34.在一种可能的实施方式中,所述目标运算规则包括求和运算、求积运算、按位与运算、按位或运算或者按位异或运算。
35.在一种可能的实施方式中,所述第一预设运算规则包括求和运算或者按位异或运算。
36.第九方面,提供了一种基于n选1分享ot协议的安全多方计算方法,涉及第一方和第二方,所述第一方持有将要作为第四序号的第三隐私数值,所述第二方持有第二隐私数值,所述方法应用于所述第一方,所述方法包括:对作为第四序号的所述第三隐私数值和n个第九隐私数值,采用第七方面中任一项所述的方法与所述第二方联合执行分享n选1分享ot协议,获得序号为所述三隐私数值的第九隐私数值的第四分片,并使所述第二方获得序号为所述第三隐私数值的第九隐私数值的第五分片,其中任意序号为j的第九隐私数值是利用目标运算规则处理序号j和所述第二隐私数值而得到的,使序号为所述第三隐私数值的第九隐私数值相等于利用目标运算规则处理所述第三隐私数值和所述第二隐私数值的结果。
37.在一种可能的实施方式中,所述目标运算规则包括求和运算、求积运算、按位与运算、按位或运算或者按位异或运算。
38.在一种可能的实施方式中,所述第一预设运算规则包括求和运算或者按位异或运算。
39.第十方面,提供了一种2选1分享ot协议的执行装置,涉及第一方和第二方,所述第二方持有按顺序排列的两个隐私数值以及按顺序排列的两个随机数,所述第一方持有目标隐私数值在所述两个隐私数值中的第一序号、目标随机数以及其在所述两个随机数中的第二序号,所述装置部署子在所述第二方。所述装置包括:通信处理单元,配置为从所述第一方接收其基于所述第一序号和所述第二序号计算得到的第三序号;第一计算单元,配置为
根据所述两个隐私数值以及所述两个随机数计算中间数据;所诉通信处理单元,还配置为向所述第一方发送所述中间数据,使所述第一方计算第一分片;第二计算单元,配置为根据序号为所述第三序号的随机数以及排列在首位的隐私数值计算第二分片,使得采用第一预设运算规则处理所述第一分片和所述第二分片的结果相等于所述目标隐私数值。
40.第十一方面,提供了一种2选1分享ot协议的执行装置,涉及第一方和第二方,所述第二方持有按顺序排列的两个隐私数值以及按顺序排列的两个随机数,所述第一方持有目标隐私数值在所述两个隐私数值中的第一序号、目标随机数以及其在所述两个随机数中的第二序号,所述装置部署在所述第一方。所述装置包括:通信处理单元,配置为向所述第二方发送基于所述第一序号和所述第二序号计算得到的第三序号,使所述第二方根据序号为所述第三序号的随机数以及排列在首位的隐私数值计算第二分片,并返回其根据所述两个隐私数值以及所述两个随机数计算的中间数据;计算处理单元,配置为根据所述第一序号和所述目标随机数计算第一分片,使得采用第一预设运算规则处理所述第一分片和所述第二分片的结果相等于所述目标隐私数值。
41.第十二方面,提供了一种基于2选1分享ot协议的安全多方计算装置,涉及第一方和第二方,所述第一方持有将要作为第一序号的第三隐私数值,所述第二方持有第二隐私数值,所述装置部署在所述第二方。所述装置包括:计算处理单元,配置为生成按顺序排列的两个隐私数值,其中任意的序号为j的隐私数值是利用目标运算规则处理序号j和所述第二隐私数值而得到的,使序号为所述第三隐私数值的隐私数值相等于利用目标运算规则处理所述第三隐私数值和所述第二隐私数值的结果;调用处理单元,配置为对所述两个隐私数值和作为第一序号的所述第三隐私数值,通过第十方面中所述的2选1分享ot协议的执行装置与所述第一方联合执行2选1分享ot协议,获得序号为所述三隐私数值的目标隐私数值的第二分片,并使所述第一方对应获得序号为所述第三隐私数值的目标隐私数值的第一分片。
42.第十三方面,提供了一种基于2选1分享不经意传输ot协议的安全多方计算装置,涉及第一方和第二方,所述第一方持有将要作为第一序号的第三隐私数值,所述第二方持有第二隐私数值,所述装置部署在所述第一方,所述装置用于对作为第一序号的所述第三隐私数值和两个隐私数值,通过第十一方面中所述的2选1分享ot协议的执行装置与所述第二方联合执行2选1分享ot协议,获得序号为所述三隐私数值的目标隐私数值的第一分片,并使所述第二方获得序号为所述第三隐私数值的目标隐私数值的第二分片,其中任意序号为j的隐私数值是由所述第二方利用目标运算规则处理序号j和所述第二隐私数值而得到的,使序号为所述第三隐私数值的隐私数值相等于利用目标运算规则处理所述第三隐私数值和所述第二隐私数值的结果。
43.第十四方面,提供了一种n选1分享ot协议的执行装置,涉及第一方和第二方,所述第二方持有按顺序排列的n个第九隐私数值,所述第一方持有第十隐私数值在所述n个隐私数值中的第四序号,其中n大于2,所述装置部署在所述第二方。所述装置包括:分组处理单元,配置为生成按顺序排列的n-1个数据分组,单个数据分组中包含按顺序排列的两个隐私数值,其中对于任意的第j个数据分组,当j为1时,其中的两个隐私数值分别根据第1个第九隐私数值和第2个第九隐私数值确定,当j大于1时,其中的第1个隐私数值为0,第2个隐私数值基于第j+1个第九隐私数值和第1个第九隐私数值确定;调用处理单元,配置为基于所述
n-1个数据分组,通过第十二方面中所述的2选1分享ot协议的执行装置,与所述第一方基于n-1个第一序号,联合执行n-1轮2选1分享ot协议,获得n-1个第二分片,使得利用第一预设运算规则处理第j个第二分片和所述第一方对应获得的第j个第一分片的结果,相等于第j个数据分组中序号为第j个第一序号的目标隐私数值,第j个第一序号基于轮次j和所述第四序号确定;计算处理单元,配置为基于所述n-1个第二分片计算第五分片,使得利用所述第一预设运算规则处理所述第五分片和所述第一方对应计算的第四分片的结果相等于所述第十隐私数值。
44.第十五方面,提供了一种n选1分享ot协议的执行装置,涉及第一方和第二方,所述第二方持有按顺序排列的n个第九隐私数值,所述第一方持有第十隐私数值在所述n个第九隐私数值中的第四序号,其中n大于2,所述装置部署在所述第一方。所述装置包括:序号确定单元,配置为确定与n-1个执行轮次对应的n-1个第一序号,其中任意第j个第一序号基于其对应的执行轮次j和所述第四序号确定;调用处理单元,配置为基于所述n-1个第一序号,通过第十三方面中所述的2选1分享ot协议的执行装置,与所述第二方基于n-1个数据分组,联合执行n-1轮2选1分享ot协议,获得n-1个第一分片,使得利用第一预设运算规则处理第j个第一分片和所述第二方对应获得的第j个第二分片的结果,相等于第j个数据分组中序号为第j个第一序号的目标隐私数值,其中单个数据分组中包含按顺序排列的两个隐私数值,对于任意的第j个数据分组,当j为1时,其中的两个隐私数值分别根据第1个第九隐私数值和第2个第九隐私数值确定,当j大于1时,其中的第1个隐私数值为0,第2个隐私数值基于第j+1个第九隐私数值和第1个第九隐私数值确定;计算处理单元,配置为基于所述n-1个第一分片计算第四分片,使得利用所述第一预设运算规则处理所述第四分片和所述第二方对应计算的第五分片的结果相等于所述第十隐私数值。
45.第十六方面,提供了一种基于n选1分享ot协议的安全多方计算装置,涉及第一方和第二方,所述第一方持有将要作为第四序号的第三隐私数值,所述第二方持有第二隐私数值,所述装置部署在所述第二方。所述装置包括:计算处理单元,配置为生成按顺序排列的n个第九隐私数值,其中所述n个第九隐私数值中的任一当前隐私数值是利用目标运算规则处理所述当前隐私数值在所述n个第九隐私数值中的序号和所述第二隐私数值而得到的,使序号为所述第三隐私数值的隐私数值相等于利用所述目标运算规则处理所述第三隐私数值和所述第二隐私数值的结果;调用处理单元,配置为对所述n个第九隐私数值和作为第四序号的所述第三隐私数值,通过第十四方面所述的n选1分享ot协议的执行装置与所述第一方联合执行n选1分享ot协议,获得序号为所述三隐私数值的第九隐私数值的第五分片,并使所述第一方获得序号为所述第三隐私数值的第九隐私数值的第四分片。
46.第十七方面,提供了一种基于n选1分享ot协议的安全多方计算方法,涉及第一方和第二方,所述第一方持有将要作为第四序号的第三隐私数值,所述第二方持有第二隐私数值,所述装置部署在所述第一方,所述装置用于对作为第四序号的所述第三隐私数值和n个第九隐私数值,通过第十五方面中所述的n选1分享ot协议的执行装置与所述第二方联合执行分享n选1分享ot协议,获得序号为所述三隐私数值的第九隐私数值的第四分片,并使所述第二方获得序号为所述第三隐私数值的第九隐私数值的第五分片,其中任意序号为j的第九隐私数值是利用目标运算规则处理序号j和所述第二隐私数值而得到的,使序号为所述第三隐私数值的第九隐私数值相等于利用目标运算规则处理所述第三隐私数值和所
述第二隐私数值的结果。
47.第十八方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算设备中执行时,计算设备实现第一方面、第二方面、第三方面、第四方面、第六方面、第七方面、第八方面、第九方面中任一项所述的方法。
48.第十九方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现第一方面、第二方面、第三方面、第四方面、第六方面、第七方面、第八方面、第九方面中任一项所述的方法。
49.通过本说明书一个或多个实施例中提供的方法及装置,在第二方持有多个隐私数值且第一方持有特定隐私数值在该多个隐私数值中的序号的情况下,第一方和第二方可以通过执行2选1分享ot协议或者n选1分享ot协议,实现在确保特定隐私数值以及其序号的安全的情况下,使得第一方和第二方能够各自获得该特定隐私数值的一个分片。进而使得第一方和第二方可以基于2选1分享ot协议或者n选1分享ot协议实现对隐私数值的安全多方计算,第一方和第二方在实现安全多方计算时所需传输的数据量较小而且通信轮次较少,从而可以更为高效的完成安全多方计算。
附图说明
50.为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
51.图1为本说明书实施例中提供的一种2选1分享ot协议的执行方法的过程示意图;
52.图2为示例性提供的基于2选1分享ot协议的安全多方计算方法的过程示意图之一;
53.图3为示例性提供的基于2选1分享ot协议的安全多方计算方法的过程示意图之二;
54.图4为示例性提供的基于2选1分享ot协议的安全多方计算方法的过程示意图之三;
55.图5为示例性提供的基于2选1分享ot协议的安全多方计算方法的过程示意图之四;
56.图6为本说明书实施例中提供的一种n选1分享ot协议的执行方法的过程示意图;
57.图7为示例性提供的基于n选1分享ot协议的安全多方计算方法的过程示意图;
58.图8为示例性提供的2选1分享ot协议的执行装置的示意图之一;
59.图9为示例性提供的2选1分享ot协议的执行装置的示意图之二;
60.图10为示例性提供的一种基于2选1分享ot协议的安全多方计算装置的示意图;
61.图11为示例性提供的n选1分享ot协议的执行装置的示意图之一;
62.图12为示例性提供的n选1分享ot协议的执行装置的示意图之二;
63.图13为示例性提供的一种基于n选1分享ot协议的安全多方计算装置的示意图。
具体实施方式
64.下面结合附图,对本说明书所提供的各个非限制性实施例进行详细描述。
65.ot协议是密码学中的较为典型的两方协议。以执行该协议的两个参与方包括alice和bob为例,ot协议的要求是:alice作为ot接收方(或称为第一方)持有隐私数值p,p为整数且满足0=《p=《n-1;bob作为ot发送方(或称为第二方)持有n个长度为t比特并且按顺序排列的隐私数值{x0,x1,

,x
n-1
};alice和bob联合执行ot协议后,alice可以获得n个隐私数值中序号为p的隐私数值x
p
而无法获知bob持有的其它隐私数值,bob无法获知alice持有的p。需要特别说明的是,鉴于计算设备通过比特序列表征数值时的最小非负整数是0,对于某个序列数据中的任意第j个数据在该序列数据中的序号,本说明书实施例中通常将其设置为j-1而并不是j,例如前述隐私数值x0作为前述n个隐私数值中排列在首位的隐私数值,其可以被表述为n个隐私数值中的第1个隐私数值,然而其在前述n个隐私数值中的序号为0而并非为1,因此而要求p为整数且满足0=《p=《n-1。可以理解的是就技术实现而言,也可以采用其它序号设置规则,例如也可以将任意某个序列数据中任意的第j个数据在该序列数据中的序号设置为j而并非为j-1,具体例如前述隐私数值x0在前述n个隐私数值中的序号可以设置为1,与之对应的是可以要求序号p为整数且满足1=《p=《n。此外还需要说明的是,alice和bob可以各自实现为任何具有计算/处理能力的装置、设备、平台或设备集群。
66.随机不经意传输(random ot)协议是上述ot协议的变种,可用于构建上述ot协议,random ot协议可通过多种密码学技术实现。random ot协议的要求是:bob可以获得按顺序排列的n个随机数{r0,r1,

,r
n-1
};alice可以获得该n个随机数中的第i+1个随机数ri以及其在该n个随机数中的序号i。通过random ot协议构建ot协议的方法可以包括但不限于如下步骤s01~步骤s03:
67.步骤s01,alice计算中间序号e=(i+p)%n,并发送e给bob;
68.步骤s02,对n个隐私数值{x0,x1,

,x
n-1
}中除序号为e的隐私数值re以外的每个序号为j的隐私数值xj,利用n个随机数{r0,r1,

,r
n-1
}中序号为(e-j)%n的随机数加密xj以获得序号为j的密文fj,并将密文fj发送给alice;
69.步骤s03,alice利用其持有的序号为i的随机数ri,对其接收的序号为i的隐私数值xi所对应的密文fi进行解密,即可获得序号为p的隐私数值x
p

70.安全多方计算是由多个参与方共同计算出某个函数的计算结果,计算过程中不泄露由多个参与方各自持有的该函数的输入数据,其中由各参与方持有的输入数据通常为被作为隐私数据而不能被其它参与方获知,但是计算结果却允许向指定的对象公开。例如可能存在如下安全多方计算需求:alice持有隐私数值a,bob持有隐私数值b,进行安全多方计算后alice获得分片c0、bob获得分片c1,其中利用预设运算规则处理c0和c1的结果,相等于利用目标运算规则g处理a和b的结果。前述的目标运算规则g可以包括但不限于安全模转换、求和运算、求积运算、按位与运算、按位或运算或者按位异或运算等等;前述的预设运算规则可以包括但不限于求和运算或者异或运算。
71.前述的ot协议通常可以用于支持前述安全多方计算,通过前述ot协议实现前述安全多方计算的方法可以包括但不限于如下步骤s11~步骤s14:
72.步骤s11,bob生成一个随机值作为分片c1;
73.步骤s12,bob计算按顺序排列的n个隐私数值,其中任意第j+1个隐私数值xj=g
(j,b)-c1,bob生成的n个隐私数值也就是前述ot协议中的按顺序排列的n个隐私数值;
74.步骤s13,alice将a作为前述的ot协议中的p;
75.步骤s14,alice基于作为ot协议中的p的a,与bob基于其计算的n个隐私数值,联合执行前述的ot协议,执行结果为:alice获得将作为分片c0的xa=g(a,b)-c1。
76.基于前述的ot协议实现前述的安全多方计算的过程中,alice和bob间需要进行多个轮次的通信而且所需传输的数据量相对较大。鉴于以上问题,本说明书实施例中提供了一种2选1分享ot协议的执行方法、n选1分享ot协议的执行方法、基于2选1分享ot协议的安全多方计算方法、基于n选1分享ot协议的安全多方计算方法及装置,以期降低在实现安全多方计算时所需传输的数据量,从而更为高效的完成安全多方计算。
77.图1为本说明书实施例中提供的一种2选1分享ot协议的执行方法的过程示意图。其中该方法中alice作为分享ot协议的ot接收方(即第一方),bob作为分享ot协议的ot发送方(即第二方),在执行如图1所示的方法之前,alice和bob可以通过执行前文所述的random ot协议或者其它方法,使bob获得按顺序排列的两个随机数{r0,r1},并且使alice获得目标随机数ri以及其在两个随机数中的序号i。例如bob具体可以从第三方接收前述的两个随机数{r0,r1},alice可以从第三方接收ri以及其在前述的两个随机数中的序号i。此外相同于前文所述的ot协议,bob还可以持有按顺序排列的两个隐私数值{x0,x1},alice还可以持有目标隐私数值x
p
在前述的两个隐私数值{x0,x1}中的第一序号p。在此基础上alice和bob可以联合执行如图1所示的如下各个方法步骤100~步骤110。
78.首先,在步骤100,alice根据序号p和序号i计算序号e。alice例如可以利用n对序号p与序号i的和进行取模运算以得到序号e,或者可以对序号p和序号i进行异或运算以得到序号e,或者可以利用n对序号p与序号i的差进行取模运算以得到序号e。
79.接着,在步骤102,alice向bob发送序号e。
80.接着,在步骤104,bob根据两个隐私数值以及两个随机数计算中间数据f。
81.对于按顺序排列的两个隐私数值{x0,x1},bob可以利用第二预设运算规则h分别处理x0和x1以获得第一数据项h(r0)和第二数据项h(r1),然后再根据第一数据项h(r0)、第二数据项h(r1)、隐私数值x0以及隐私数值x1计算中间数据f。其中隐私数值x0和隐私数值x1均可以为模2
t
空间内的整数,此时需要确保利用第二预设运算规则h处理bob持有的任意随机数后,可以对该任意随机数对应输出长度为t比特的数据。以随机数r0为例,如果随机数r0的长度不大于t比特,利用第二预设运算规则h处理随机数r0而得到的第一数据项h(r0),则可以是由bob计算的随机数r0的长度为t比特的哈希值;如果随机数r0的长度大于t比特,利用第二预设运算规则h处理随机数r0而得到的第一数据项h(r0),则可以是从预定位置开始提取的长度为t比特的比特序列所表征的数据。bob利用第二预设运算规则处理随机数r1以得到第二数据项h(r1)的过程,相同于bob利用第二预设运算规则处理随机数r0而得到其对应的第一数据项h(r0),因此不再赘述。
82.更具体地,bob可以通过如下公式1计算中间数据f:
83.f=h(r0)+h(r1)-x0+x1ꢀꢀꢀꢀꢀꢀ
(1)
84.可以理解的是还可以通过其它方法计算得到中间数据f,例如在公式1中的部分或全部数据项前增加特定系数或对前述公式1进行某些形变,更具体地说例如还可以将公式1中涉及的加法、减法运算全部替换为按位异或运算。
85.步骤106,bob向alice发送中间数据f。
86.步骤108,alice至少根据序号p和目标随机数ri计算目标隐私数值x
p
的第一分片c0。
87.alice可以利用前述第二预设运算规则h处理其持有的目标随机数ri以获得第四数据项h(ri),alice获得第四数据项h(ri)的方法可以相同于bob获得第一数据项h(r0)和第二数据项h(r1),因此而不再赘述。alice具体可以根据序号p确定目标隐私数值x
p
是否为排列在首位的隐私数值x0,如果是则将第四数据项h(ri)作为目标隐私数值x
p
的第一分片c0,否则alice可以根据第四数据项h(ri)和中间数据f计算目标隐私数值x
p
的第一分片c0,例如c0=f-h(ri),或者c0为对中间数据f和第四数据项h(ri)进行异或运算的结果。
88.步骤110,bob根据序号为e的随机数re以及排列在首位的隐私数值x0,计算目标隐私数值x
p
的第二分片c1。bob可以利用第二运算规则h处理随机数r0和随机数r1中序号为e的随机数re而获得第三数据项h(re),进而在步骤110中具体可以基于该第三数据项h(re)和隐私数值x0计算得到目标隐私数值x
p
的第二分片c1,例如c1=x
0-h(re),或者第二分片c1还可以为对隐私数值x0和第三数据项h(re)进行异或运算的结果。
89.参照前文alice获得分片c0和bob获得分片c1的过程可见,利用第一预设运算规则处理分片c0和分片c1的结果相等于目标隐私数值x
p
,其中第一预设运算规则具体可以是求和运算或者异或运算,换而言之即对分片c0和分片c1进行求和运算或者按位异或运算的结果相等于目标隐私数值x
p
。此外在使得alice和bob分别获得分片c0和分片c1的过程中,alice无法获知目标隐私数值x
p
,保证了目标隐私数值x
p
的安全性。
90.前述2选1分享ot协议可以用于支持alice和bob实现对两个隐私数值a和b进行安全多方计算,其中a可以为模2空间内的单比特数值0或1,而b则既可以为模2空间内的单比特数值0或1,也可以为模2
t
空间内的整数。其中秘密分享(secret sharing)被广泛的应用于安全多方计算,其基本原理是将秘密值拆分为多个分片(share)交由不同的参与方进行保管,只有超过门限数量的参与方能够对其各自持有的分片进行合并以恢复出原始的秘密值,该门限数量通常相同于参与进行安全多方计算的参与方的数量。因此alice和bob在实际执行安全多方计算的过程中,对于期望通过目标运算规则处理的位于模2空间内的单比特隐私数值a和位于模2
t
空间内的隐私数值b而言,其典型的数据持有情况除了如下所示的情况1以外,alice和bob的数据持有情况还可能包括如下情况2~情况4:
91.情况1,alice持有a,bob持有b。
92.情况2,lice持有a以及b在模2
t
空间内的分片b0,bob持有b在模2
t
空间内的分片b1,其中对b0和b1进行求和运算的结果相等于b。
93.情况3,alice持有a在模2空间内的分片a0以及b在模2
t
空间内的分片b0,bob持有a在模2空间内的分片a1以及b在模2
t
空间内的分片b1,其中对a0和a1进行异或运算的结果相等于a,对b0和b1进行求和运算的结果相等于b。
94.情况4,alice持有a在模2空间内的分片a0,bob持有b以及a在模2空间内的分片a1,其中对a0和a1进行异或运算的结果相等于a。
95.对于前述的情况1~情况4,其均可以采用前述2选1分享ot协议来实现对位于模2空间内的单比特隐私数值a和位于模2
t
空间内的隐私数值b进行安全多方计算,然而对于不同的数据持有情况来讲,alice和bob基于前述2选1分享ot协议实现对a和b的安全多方计算
的过程可能有所差异。下面详细描述alice和bob在前述4种数据持有情况下基于2选1分享ot协议实现对隐私数值a和隐私数值b的安全多方计算的过程。
96.图2为基于2选1分享ot协议的安全多方计算方法的过程示意图之一。其中在如图2所示的实施中alice将会作为分享ot协议的接收方(即第一方),bob将会作为分享ot协议的发送方(即第二方)。参见图2所示。alice和bob可以在前述数据持有情况1下通过步骤200和步骤202实现对隐私数值a和隐私数值b的安全多方计算。
97.首先,在步骤200,bob根据隐私数值b生成按顺序排列的两个隐私数值。
98.即生成前述2选1分享ot协议中按顺序排列的两个隐私数值{x0,x1}。对于该两个隐私数值中任意的序号为j的隐私数值xj而言,其具体可以是利用目标运算规则g处理序号j和隐私数值b而得到的,如此可以使序号为a的目标隐私数值xa相等于利用目标运算规则g处理隐私数值a和隐私数值b的结果。其中当a和b均为模2
t
空间内的单比特数值时,目标运算规则g例如可以包括但不限于求和运算、求积运算、按位与运算、按位或运算或者按位异或运算;当b为模2
t
空间内的整数时,目标运算规则例如可以包括但不限于求积运算。
99.接着,在步骤202,alice基于作为序号p的隐私数值a,与bob基于其生成的两个隐私数值,联合执行2选1分享ot协议,使得alice获得目标隐私数值x
p
的第一分片c0,bob获得目标隐私数值x
p
的第二分片c1。由于a相等于p,目标隐私数值x
p
是bob利用目标运算规则g处理序号p和隐私数值b而得到的,因此利用第一预设运算规则处理目标隐私数值x
p
的第一分片c0和第二分片c1的结果相等于利用目标运算规则g处理a和b的结果,从而使得alice和bob完成了对a和b的安全多方计算。需要特别说明的是,当a和b为某个隐私数值在模2空间内的两个异或分片时,即对a和b进行异或运算的结果相等于位于模2空间内的某个隐私数值c时,由于目标隐私数值x
p
的第一分片c0和第二分片c1均为模2
t
空间内的整数,因此通过该方法还可以实现对隐私数值c在模2空间内的两个分片a和b进行安全模转换。
100.图3为基于2选1分享ot协议的安全多方计算方法的过程示意图之二。其中在如图3所示的实施中alice将会作为分享ot协议的接收方(即第一方),bob将会作为分享ot协议的发送方(即第二方)。参见图3所示,alice和bob可以在前述数据持有情况2下通过步骤300~步骤306实现对隐私数值a和隐私数值b的安全多方计算。
101.首先,在步骤300,bob根据分片b1生成按顺序排列的两个隐私数值。
102.即生成前述2选1分享ot协议中的按顺序排列的两个隐私数值{x0,x1}。对于该两个隐私数值中任意的序号为j的隐私数值xj,其具体可以是利用目标运算规则g处理序号j和分片b1而得到的,例如时对序号j和分片b1进行求积运算而得到的,如此可以使序号为a的目标隐私数值xa相等于利用目标运算规则g处理a和b1的结果。
103.接着,在步骤302,alice基于作为序号p的隐私数值a,与bob基于其生成的两个隐私数值,联合执行2选1分享ot协议,使得alice获得目标隐私数值x
p
的第一分片c0,bob获得目标隐私数值x
p
的第二分片c1。由于a等于p,目标隐私数值x
p
是bob利用目标运算规则g处理序号p和分片b1而得到的,因此对目标隐私数值x
p
的第一分片c0和第二分片c1进行求和运算或者异或运算的结果相等于利用目标运算规则g处理序号a和b1的结果,从而完成了对a和b1的安全多方计算。
104.接着,在步骤304,alice根据目标隐私数值x
p
的第一分片c0、隐私数值a和分片b0计算第三分片c0g。alice例如可以通过c0g=a*b0+c0计算得到分片c0g,使得对分片c0g与
x
p
的第二分片进行求和运算的结果相等于利用目标运算规则处理a和b的结果。需要特别说明的是c0g也可能通过对a、b0和c0进行异或运算而得到。
105.图4为基于2选1分享ot协议的安全多方计算方法的过程示意图之三。其中在如图4所示的实施中包含执行过程1和执行过程2:在执行过程1中alice将会作为分享ot协议的接收方(即第一方),bob将会作为分享ot协议的发送方(即第二方);在执行过程2中alice将会作为分享ot协议的发送方,bob将会作为分享ot协议的接收方。参见图4所示,alice和bob可以在前述数据持有情况3下通过步骤400~步骤407实现对隐私数值a和隐私数值b的安全多方计算,其中步骤400~步骤402属于执行过程1,步骤403~405属于执行过程2,执行过程1和执行过程2可相互独立的执行而并不存在必然的顺序关系。
106.在步骤400,bob根据分片a1和分片b1计算隐私数值l1。隐私数值l1例如可以通过公式l1=(b1-2a1*b1)或者该基于该公式的形变计算得到。
107.在步骤401,bob根据隐私数值l1生成按顺序排列的两个隐私数值。
108.即生成前述2选1分享ot协议中的按顺序排列的两个隐私数值{x0,x1}。对于该两个隐私数值中任意的序号为j的隐私数值xj,其具体可以是利用目标运算规则g处理序号j和隐私数值l1而得到的,例如是对序号j和l1进行求积运算而得到的,如此可以使序号为a0的目标隐私数值相等于利用目标运算规则g处理a0和l1的结果。
109.在步骤402,alice基于作为序号p的隐私数值a0,与bob基于其生成的n个隐私数值,联合执行2选1分享ot协议,使得alice获得由bob生成的两个隐私数值中序号为a0的目标隐私数值的第一分片c00,bob获得由bob生成的两个隐私数值中序号为a0的目标隐私数值的第二分片c01。
110.在步骤403,alice根据分片a0和分片b0计算隐私数值l0。隐私数值l0例如可以通过公式l0=(b0-2a0*b0)或者该基于该公式的形变计算得到。
111.在步骤404,alice根据隐私数值l0生成按顺序排列的两个隐私数值。
112.即生成前述2选1分享ot协议中的按顺序排列的两个隐私数值{x0,x1}。对于该两个隐私数值中任意的序号为j的隐私数值xj,其具体可以是利用目标运算规则g处理序号j和隐私数值l0而得到的,例如是对序号j和l0进行求积运算而得到的,如此可以使序号为a1的隐私数值相等于利用目标运算规则g处理a1和l0的结果。
113.在步骤405,bob基于作为序号p的隐私数值a1,与alice基于其生成的两个隐私数值,联合执行2选1分享ot协议,使得bob获得由alice生成的两个隐私数值中序号为a1的目标隐私数值的第一分片c10,alice获得由alice生成的两个隐私数值中序号为a1的目标隐私数值的第二分片c11。
114.在步骤406,alice根据分片a0、分片b0、分片c00和分片c11计算分片m0。例如alice可以通过公式m0=a0*b0+c00+c11或者其形变计算得到分片m0。
115.在步骤407,bob根据分片a1、分片b1、分片c01和分片c10计算分片m1。例如bob可以通过公式m1=a1*b1+c01+c10或者其形变计算得到分片m1。
116.参见alice和bob计算m0和m1的计算过程可见,对m0和m1进行求和运算结果相等于利用目标运算规则处理a和b的结果,从而使得alice和bob通过基于2选1分享ot协议的上述步骤400~407完成对隐私数值a和隐私数值b的安全多方计算。此外可以理解的是也可以将前述用于计算分片的公式中的加法和乘法运算替换为异或运算。
117.图5为基于2选1分享ot协议的安全多方计算方法的过程示意图之四。其中在如图5所示的实施中alice将会作为分享ot协议的接收方(即第一方),bob将会作为分享ot协议的发送方(即第二方)。参见图5所示。alice和bob可以在前述数据持有情况4下通过步骤500~步骤502实现对隐私数值a和隐私数值b的安全多方计算。
118.首先,在步骤500,bob根据分片a1和隐私数值b生成按顺序排列的两个隐私数值。
119.即生成前述2选1分享ot协议中的按顺序排列的两个隐私数值{x0,x1}。其中任意序号为j的隐私数值xj相等于利用目标运算规则g处理序号为j的异或结果和隐私数值b(即第五隐私数值)而得到的,序号为j的异或结果通过对序号j和分片a1(即第六隐私数值)进行异或运算而得到,从而使得两个隐私数值{x0,x1}中序号为a0(即第三隐私数值)的目标隐私数值,相等于对采用目标运算规则g处理隐私数值b与隐私数值a的结果,例如相等于对隐私数值a和隐私数值b进行求积运算的结果。
120.接着,在步骤502,alice基于作为序号p的分片a0,与bob基于其生成的两个隐私数值,联合执行2选1分享ot协议,使得alice获得由bob生成的两个隐私数值中序号为a0的目标隐私数值的第一分片c0,bob获得由bob生成的两个隐私数值中序号为a0的目标隐私数值的第二分片c1。其中对该第一分片c0和该第二分片c1进行求和运算或者异或运算的结果,相等于利用目标运算规则处理a和b的结果。
121.前述2选1分享ot协议可以用于支持alice和bob实现n选1分享ot协议,其中n大于2。换而言之,即在作为ot发送方的bob持有n个隐私数值{y0,y1,

,y
n-1
}(即n个第九隐私数值),而作为ot接收方的alice持有特定隐私数值(即第十隐私数值)在该n个隐私数值中的序号a(即第四序号)的情况下,alice和bob可以联合执行基于2选1分享ot协议实现的n选1分享ot协议,使alice和bob分别获得该n个隐私数值{y0,y1,

,y
n-1
}中序号为a的隐私数值ya的第三分片和第四分片,且利用前述的第一预设运算规则处理隐私数值ya的第三分片和第四分片的结果相等于隐私数值ya。
122.图6为本说明书实施例中提供的一种基于2选1分享ot协议的n选1分享ot协议的执行方法的过程示意图。如图6所示,该方法可以包括如下步骤600~步骤608。
123.首先,在步骤600,bob根据n个隐私数值生成按顺序排列的n-1个数据分组。
124.单个数据分组中包含按顺序排列的两个隐私数值,即单个数据分组中包括前述2选1分享ot协议中按顺序排列的两个隐私数值{x0,x1}。其中对于n-1个数据分组中任意的第j个数据分组而言,当j为1时,其中的两个隐私数值分别根据n个隐私数值中的第1个隐私数值y0和第2个隐私数值y1确定;当j大于1时,其中的第1个隐私数值x0为0,第2个隐私数值x1基于n个隐私数值中的第j+1个隐私数值y
j+1
和第1个隐私数值x0确定。更具体地,第1个数据分组中的第1个隐私数值x0例如可以为隐私数值y0,第1个数据分组中的第2个隐私数值x1例如可以为隐私数值y1;当j大于1时,第j个数据分组中的第2个隐私数值x1例如可以为隐私数值y
j+1
与隐私数值y0的差,或者x1可以相等于对隐私数值y
j+1
与隐私数值y0进行异或预算的结果。
125.在步骤602,alice确定与n-1个执行轮次对应的n-1个第一序号p,其中任意第j个第一序号p基于其对应的执行轮次j和序号a确定。对于任意第j个第一序号p,当序号a相等于其对应的执行轮次j时,第j个数据分组中序号为该第j个第一序号p的目标隐私数值是第j个数据分组中的隐私数值x1;当序号a不等于其对应的执行轮次j时,第j个数据分组中序
号为该第j个第一序号p的目标隐私数值是第j个数据分组中的隐私数值x0。换而言之,对于任意的第j个第一序号,如果a相等于执行轮次j,则第j个第一序号p的取值可以为1;如果a不等于执行轮次j,则第j个第一序号p的取值可以为0。
126.接着,在步骤604,alice基于按顺序排列的n-1个第一序号p,与bob基于按顺序排列的n-1个数据分组,联合执行2选1分享ot协议,使得alice获得n-1个第一分片,bob获得n-1个第二分片。其中可以理解的是,对于任意第j个轮次的2选1分享ot协议,其具体处理的数据是alice持有的第j个第一序号p和bob持有的第j个数据分组中按顺序排列的两个隐私数值{x0,x1}。
127.接着,在步骤606,alice基于n-1个第一分片计算第四分片。alice例如可以对n-1个第一分片进行求和运算或异或异或预算以得到第四分片。
128.在步骤608,bob基于n-1个第二分片计算第五分片。bob例如可以对n-1个第二分片进行求和预算或异或运算以得到第五分片。
129.参见前文示例性描述的第j个数据分组中的x0和x1的取值以及第j个第一序号p的取值可以理解,对alice和bob完成第1轮2选1分享ot协议以分别获得的第1个第一分片和第1个第二分片进行求和运算或异或运算的结果相等于隐私数值y0;对于第2轮分享ot协议~第n-1轮2选1分享ot协议中的任意第j轮2选1分享ot协议,当j不等于a时,对alice和bob完成第m轮2选1分享ot协议以分别获得的第j个第一分片和第j个第二分片进行求和运算或异或运算的结果为0,j等于a时,对alice和bob完成第j轮2选1分享ot协议以分别获得的第j个第一分片和第j个第二分片进行求和运算或异或运算的结果,相等于隐私数值y
j+1
与隐私数值y0的差,或者相等于对隐私数值y
j+1
与隐私数值y0进行异或预算的结果。对alice获得的第四分片和bob获得第五分片进行求和运算或者异或运算的结果相等于n个隐私数值{y0,y1,

,y
n-1
}中的序号为a的隐私数值ya。
130.前述n选1分享ot协议可以用于支持alice和bob实现对隐私数值a和b进行安全多方计算,其中典型的技术场景中alice例如可以持有隐私数值a(即第三隐私数值),bob例如可以持有隐私数值b,而且a和b均为模2
t
空间内的整数;或者a和b可以均为模2空间内的单比特数值;或者a为模2空间内的隐私数值而b为模2
t
空间内的整数。如图7所示,基于n选1分享ot协议的安全多方计算方法可以包括如下步骤700~步骤704。
131.首先,在步骤700,bob根据隐私数值b生成按顺序排列的n个隐私数值。
132.即生成前述n选1分享ot协议中的按顺序排列的n个隐私数值{y0,y1,

,y
n-1
}。其中n个隐私数值{y0,y1,

,y
n-1
}中的任一当前隐私数值yj是利用目标运算规则g处理当前隐私数值yj在n个隐私数值{y0,y1,

,y
n-1
}中的序号j和隐私数值b(即第二隐私数值)而得到的,从而使序号为a的第九隐私数值ya相等于利用目标运算规则处理序号a和隐私数值b的结果。
133.步骤702,bob基于n个隐私数值,alice基于作为序号a的隐私数值a,联合执行n选1分享ot协议,使得alice获得序号为隐私数值a的隐私数值ya的第四分片,bob获得序号为a的隐私数值ya的第五分片。其中对该第第四分片和该第五分片进行求和运算或者异或运算的结果,相等于利用目标运算规则处理a和b的结果。
134.通过本说明书一个或多个实施例中提供的方法及装置,在第二方持有多个隐私数值且第一方持有特定隐私数值在该多个隐私数值中的序号的情况下,第一方和第二方可以
通过执行2选1分享ot协议或者n选1分享ot协议,实现在确保特定隐私数值以及其序号的安全的情况下,使得第一方和第二方能够各自获得该特定隐私数值的一个分片。进而使得第一方和第二方可以基于2选1分享ot协议或者n选1分享ot协议实现对隐私数值的安全多方计算,第一方和第二方在实现安全多方计算时所需传输的数据量较小而且通信轮次较少,从而可以更为高效的完成安全多方计算。
135.与前述方法实施例基于相同的构思,本说明书实施例中还提供了一种2选1分享ot协议的执行装置,涉及第一方和第二方,所述第二方持有按顺序排列的两个隐私数值以及按顺序排列的两个随机数,所述第一方持有目标隐私数值在所述两个隐私数值中的第一序号、目标随机数以及其在所述两个随机数中的第二序号,所述装置部署子在所述第二方。如图8所示,所述装置包括:通信处理单元81,配置为从所述第一方接收其基于所述第一序号和所述第二序号计算得到的第三序号;第一计算单元83,配置为根据所述两个隐私数值以及所述两个随机数计算中间数据;所诉通信处理单元81,还配置为向所述第一方发送所述中间数据,使所述第一方计算第一分片;第二计算单元85,配置为根据序号为所述第三序号的随机数以及排列在首位的隐私数值计算第二分片,使得采用第一预设运算规则处理所述第一分片和所述第二分片的结果相等于所述目标隐私数值。
136.与前述方法实施例基于相同的构思,本说明书实施例中还提供了一种2选1分享ot协议的执行装置,涉及第一方和第二方,所述第二方持有按顺序排列的两个隐私数值以及按顺序排列的两个随机数,所述第一方持有目标隐私数值在所述两个隐私数值中的第一序号、目标随机数以及其在所述两个随机数中的第二序号,所述装置部署在所述第一方。如图9所示,所述装置包括:通信处理单元91,配置为向所述第二方发送基于所述第一序号和所述第二序号计算得到的第三序号,使所述第二方根据序号为所述第三序号的随机数以及排列在首位的隐私数值计算第二分片,并返回其根据所述两个隐私数值以及所述两个随机数计算的中间数据;计算处理单元93,配置为根据所述第一序号和所述目标随机数计算第一分片,使得采用第一预设运算规则处理所述第一分片和所述第二分片的结果相等于所述目标隐私数值。
137.与前述方法实施例基于相同的构思,本说明书实施例中还提供了一种基于2选1分享ot协议的安全多方计算装置,涉及第一方和第二方,所述第一方持有将要作为第一序号的第三隐私数值,所述第二方持有第二隐私数值,所述装置部署在所述第二方。如图10所示,所述装置包括:计算处理单元1001,配置为生成按顺序排列的两个隐私数值,其中任意的序号为j的隐私数值是利用目标运算规则处理序号j和所述第二隐私数值而得到的,使序号为所述第三隐私数值的隐私数值相等于利用目标运算规则处理所述第三隐私数值和所述第二隐私数值的结果;调用处理单元1003,配置为对所述两个隐私数值和作为第一序号的所述第三隐私数值,通过如图8中所示的的2选1分享ot协议的执行装置与所述第一方联合执行2选1分享ot协议,获得序号为所述三隐私数值的目标隐私数值的第二分片,并使所述第一方对应获得序号为所述第三隐私数值的目标隐私数值的第一分片。
138.与前述方法实施例基于相同的构思,本说明书实施例中还提供了一种基于2选1分享不经意传输ot协议的安全多方计算装置,涉及第一方和第二方,所述第一方持有将要作为第一序号的第三隐私数值,所述第二方持有第二隐私数值,所述装置部署在所述第一方。所述装置用于对作为第一序号的所述第三隐私数值和两个隐私数值,通过如图9中所示的2
选1分享ot协议的执行装置与所述第二方联合执行2选1分享ot协议,获得序号为所述三隐私数值的目标隐私数值的第一分片,并使所述第二方获得序号为所述第三隐私数值的目标隐私数值的第二分片,其中任意序号为j的隐私数值是由所述第二方利用目标运算规则处理序号j和所述第二隐私数值而得到的,使序号为所述第三隐私数值的隐私数值相等于利用目标运算规则处理所述第三隐私数值和所述第二隐私数值的结果。
139.与前述方法实施例基于相同的构思,本说明书实施例中还提供了一种n选1分享ot协议的执行装置,涉及第一方和第二方,所述第二方持有按顺序排列的n个第九隐私数值,所述第一方持有第十隐私数值在所述n个隐私数值中的第四序号,其中n大于2,所述装置部署在所述第二方。如图11所示,所述装置包括:分组处理单元1101,配置为生成按顺序排列的n-1个数据分组,单个数据分组中包含按顺序排列的两个隐私数值,其中对于任意的第j个数据分组,当j为1时,其中的两个隐私数值分别根据第1个第九隐私数值和第2个第九隐私数值确定,当j大于1时,其中的第1个隐私数值为0,第2个隐私数值基于第j+1个第九隐私数值和第1个第九隐私数值确定;调用处理单元1103,配置为基于所述n-1个数据分组,通过如图8中所示的2选1分享ot协议的执行装置,与所述第一方基于n-1个第一序号,联合执行n-1轮2选1分享ot协议,获得n-1个第二分片,使得利用第一预设运算规则处理第j个第二分片和所述第一方对应获得的第j个第一分片的结果,相等于第j个数据分组中序号为第j个第一序号的目标隐私数值,第j个第一序号基于轮次j和所述第四序号确定;计算处理单元,配置为基于所述n-1个第二分片计算第五分片,使得利用所述第一预设运算规则处理所述第五分片和所述第一方对应计算的第四分片的结果相等于所述第十隐私数值。
140.与前述方法实施例基于相同的构思,本说明书实施例中还提供了一种n选1分享ot协议的执行装置,涉及第一方和第二方,所述第二方持有按顺序排列的n个第九隐私数值,所述第一方持有第十隐私数值在所述n个第九隐私数值中的第四序号,其中n大于2,所述装置部署在所述第一方。如图12所示,所述装置包括:序号确定单元1201,配置为确定与n-1个执行轮次对应的n-1个第一序号,其中任意第j个第一序号基于其对应的执行轮次j和所述第四序号确定;调用处理单元1203,配置为基于所述n-1个第一序号,通过如图9中所示的2选1分享ot协议的执行装置,与所述第二方基于n-1个数据分组,联合执行n-1轮2选1分享ot协议,获得n-1个第一分片,使得利用第一预设运算规则处理第j个第一分片和所述第二方对应获得的第j个第二分片的结果,相等于第j个数据分组中序号为第j个第一序号的目标隐私数值,其中单个数据分组中包含按顺序排列的两个隐私数值,对于任意的第j个数据分组,当j为1时,其中的两个隐私数值分别根据第1个第九隐私数值和第2个第九隐私数值确定,当j大于1时,其中的第1个隐私数值为0,第2个隐私数值基于第j+1个第九隐私数值和第1个第九隐私数值确定;计算处理单元1205,配置为基于所述n-1个第一分片计算第四分片,使得利用所述第一预设运算规则处理所述第四分片和所述第二方对应计算的第五分片的结果相等于所述第十隐私数值。
141.与前述方法实施例基于相同的构思,本说明书实施例中还提供了一种基于n选1分享ot协议的安全多方计算装置,涉及第一方和第二方,所述第一方持有将要作为第四序号的第三隐私数值,所述第二方持有第二隐私数值,所述装置部署在所述第二方。如图13所示,所述装置包括:第一计算单元1301,配置为生成按顺序排列的n个第九隐私数值,其中所述n个第九隐私数值中的任一当前隐私数值是利用目标运算规则处理所述当前隐私数值在
所述n个第九隐私数值中的序号和所述第二隐私数值而得到的,使序号为所述第三隐私数值的隐私数值相等于利用所述目标运算规则处理所述第三隐私数值和所述第二隐私数值的结果;调用处理单元1303,配置为对所述n个第九隐私数值和作为第四序号的所述第三隐私数值,通过如图11中所示的的n选1分享ot协议的执行装置与所述第一方联合执行n选1分享ot协议,获得序号为所述三隐私数值的第九隐私数值的第五分片,并使所述第一方获得序号为所述第三隐私数值的第九隐私数值的第四分片。
142.与前述方法实施例基于相同的构思,本说明书实施例中还提供了一种基于n选1分享ot协议的安全多方计算方法,涉及第一方和第二方,所述第一方持有将要作为第四序号的第三隐私数值,所述第二方持有第二隐私数值,所述装置部署在所述第一方,所述装置用于对作为第四序号的所述第三隐私数值和n个第九隐私数值,通过如图12中所述的n选1分享ot协议的执行装置与所述第二方联合执行分享n选1分享ot协议,获得序号为所述三隐私数值的第九隐私数值的第四分片,并使所述第二方获得序号为所述第三隐私数值的第九隐私数值的第五分片,其中任意序号为j的第九隐私数值是利用目标运算规则处理序号j和所述第二隐私数值而得到的,使序号为所述第三隐私数值的第九隐私数值相等于利用目标运算规则处理所述第三隐私数值和所述第二隐私数值的结果。
143.本领域技术人员应该可以意识到,在上述一个或多个示例中,本说明书所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能所对应的计算机程序存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令/代码进行传输,以便这些功能所对应的计算机程序被计算机执行时,通过计算机实现本说明书任意一个实施例中所述的方法。
144.本说明书实施例中还提供了一种计算机可读存储介质,其上存储有计算机程序/指令,当所述计算机程序/指令在计算设备中执行时,计算设备执行本说明书任意一个实施例中提供的由alice/第一方/bob/第二方实现的2选1分享ot协议的执行方法、n选1分享ot协议的执行方法、基于2选1分享ot协议的安全多方计算方法或者基于n选1分享ot协议的安全多方计算方法中的各个方法步骤。
145.本说明书实施例中还提供了一种计算设备,包括存储器和处理器,所述存储器中存储有计算机程序/指令,所述处理器执行所述计算机程序/指令时,实现本说明书任意一个实施例中提供的由alice/第一方/bob/第二方实现的2选1分享ot协议的执行方法、n选1分享ot协议的执行方法、基于2选1分享ot协议的安全多方计算方法或者基于n选1分享ot协议的安全多方计算方法中的各个方法步骤方法。
146.本说明书中的各个实施例均采用递进的方式描述,各个实施例中相同、相似的部分互相参见即可,每个实施例中重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
147.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
148.以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1