【技术实现步骤摘要】
安全多方计算方法及装置
[0001]本说明书一个或多个实施例涉及计算机领域,尤其涉及一种安全多方计算方法及装置。
技术介绍
[0002]安全多方计算(Secure Multi
‑
party Computation,SMPC)是指由多个参与方共同计算出目标函数的结果,计算过程中不泄露目标函数的输入数据。在一种典型的技术场景中,目标函数的一个输入数据由一个参与方持有,另一个输入数据作为目标数据而具有两种可能的取值,一个参与方持有该目标数据的两种可能的取值以及其分别对应的随机数,而另一个参与方仅持有该目标数据的真实取值所对应的随机数。
[0003]前述技术场景中,如何高效的实现对目标函数的安全多方计算为亟待解决的技术问题。
技术实现思路
[0004]本说明书一个或多个实施例中提供了一种安全多方计算方法及装置。
[0005]第一方面,提供了一种安全多方计算方法,用于计算目标数据与第一方持有的第一隐私数值经目标函数运算的计算结果,所述目标数据具有可能的第一取值和第二取值,所述第一方还持 ...
【技术保护点】
【技术特征摘要】
1.一种安全多方计算方法,用于计算目标数据与第一方持有的第一隐私数值经目标函数运算的计算结果,所述目标数据具有可能的第一取值和第二取值,所述第一方还持有所述第一取值和所述第二取值分别对应的第一随机数和第二随机数;所述方法包括:所述第一方确定第一分片、第一密文和第二密文,所述第一密文是利用第一随机数对第一中间值加密的结果,所述第一中间值是将所述第一隐私数值和所述第一取值经目标函数运算的第一结果与所述第一分片进行预设运算得到的,所述第二密文是利用所述第二随机数对第二中间值加密的结果,所述第二中间值是将所述第一隐私数值和所述第二取值经目标函数运算的第二结果与所述第一分片进行所述预设运算得到的;所述第一方向第二方发送目标消息,使所述第二方获得所述第一密文和所述第二密文;所述第二方利用所述目标数据的真实取值所对应的目标随机数,对所述第一密文和所述第二密文之一进行正确解密以得到第二分片,所述第一分片和所述第二分片形成所述计算结果的两个分片。2.根据权利要求1所述的方法,所述预设运算为减法运算,所述第一分片和所述第二分片为所述计算结果的两个加法分片;或者,所述预设运算为异或运算,所述第一分片和所述第二分片为所述计算结果的两个异或分片。3.根据权利要求1所述的方法,所述目标消息包括所述第一密文和所述第二密文。4.根据权利要求3所述的方法,所述目标消息还包括所述第一中间值和所述第二中间值各自的哈希值;其中,所述第二方利用所述目标数据的真实取值所对应的目标随机数,对所述第一密文和所述第二密文之一进行正确解密以得到第二分片,具体包括:所述第二方对所述第一密文和所述第二密文进行解密以得到第一解密结果和第二解密结果,并计算所述第一解密结果和所述第二解密结果各自的哈希值;所述第二方根据所述第一中间值和所述第二中间值各自的哈希值,所述第一解密结果和所述第二解密结果各自的哈希值,将所述第一解密结果或所述第二解密结果确定为第二分片。5.根据权利要求1所述的方法,所述第一密文或所述第二密文为预定数值,所述第二方持有所述预定数值;所述目标消息包括所述第一密文和所述第二密文中除所述预定数值以外的目标密文。6.根据权利要求5所述的方法,所述目标消息还包括所述第一中间值和所述第二中间值中与所述目标密文对应的中间值的哈希值;其中,所述第二方利用所述目标数据的真实取值所对应的目标随机数,对所述第一密文和所述第二密文之一进行正确解密以得到第二分片,具体包括:所述第二方利用所述目标数据的真实取值所对应的目标随机数,对所述目标密文解密以获得解密结果,并计算所述解密结果的哈希值;当所述解密结果的哈希值与所述目标消息中的哈希值相同时,所述第二方将所述解密结果确定为第二分片。7.根据权利要求6所述的方法,所述第二方利用所述目标数据的真实取值所对应的目标随机数,对所述第一密文和所述第二密文之一进行正确解密以得到第二分片,还包括:当所述解密结果的哈希值与所述目标消息中的哈希值不同时,所述第二方利用所述目标随机
数对所述预定数值进行解密以获得第二分片。8.根据权利要求1
‑
7中任一项所述的方法,所述第一方为混淆电路的生成方,第二方为混淆电路的执行方;所述第一取值和第二取值分别为0和1,所述第一随机数和所述第二随机数为所述第一取值和所述第二取值分别对应的混淆值;所述方法还包括:所述第二方执行所述混淆电路以获得所述目标随机数。9.根据权利要求8所述的方法,所述第一方确定第一分片、第一密文和第二密文的步骤,与所述第二方执行所述混淆电路以获得所述目标随机数并行执行。10.一种安全多方计算方法,用于计算目标数据与第一方持有的第一隐私数值经目标函数运算的计算结果,所述目标数据具有可能的第一取值和第二取值,所述第一方还持有所述第一取值和所述第二取值分别对应的第一随机数和第二随机数;所述方法由所述第一方执行,所述方法包括:确定第一分片、第一密文和第二密文,所述第一密文是利用第一随机数对第一中间值加密的结果,所述第一中间值是将所述第一隐私数值和所述第一取值经目标函数运算的第一结果与所述第一分片进行预设运算得到的,所述第二密文是利用所述第二随机数对第二中间值加密的结果,所述第二中间值是将所述第一隐私数值和所述第二取值经目标函数运算的第二结果与所述第一分片进行所述预设运算得到的;向第二方发送目标消息,使所述第二方获得所述第一密文和所述第二密文,并利用所述目标数据的真实取值所对应的目标随机数,对所述第一密文和所述第二密文之一进行正确解密以得到第二分片,所述第一分片和所述第二分片形成所述计算结果的两个分片。11.根据权利要求10所述的方法,所述目标消息包括所述第一密文和所述第二密文。12.根据权利要求11所述的方法,所述目标消息还包括所述第一中间值和所述第二中间值各自的哈希值。13.根据权利要求10所述的方法,所述第一密文或所述第二密文为预定数值,所述第二方持有所述预定数值;所述目标消息包括所述第一密文和所述第二密文中除所述预定数值以外的目标密文。14.根据权利要求13所述的方法,所述目标消息还包括所述第一中间值和所述第二中间值中与所述目标密文对应的中间值的哈希值。15.根据权利要求10
‑
14中任一项所述的方法,所述第一方为混淆电路的生成方,第二方为混淆电路的执行方;所述第一取值和第二取值分别为0和1,所述第一随机数和所述第二随机数为...
【专利技术属性】
技术研发人员:李漓春,尹栋,赵原,
申请(专利权)人:蚂蚁区块链科技上海有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。