System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 多方安全计算的方法及装置制造方法及图纸_技高网

多方安全计算的方法及装置制造方法及图纸

技术编号:40336513 阅读:7 留言:0更新日期:2024-02-09 14:26
本说明书实施例提供一种多方安全计算的方法及装置,在多方安全计算的方法中,任意的第一方本地计算第一数据和第二数据各自的第一编号分片和第二编号分片的交叉乘积之和,得到第一目标和值,其中第一编号不同于第二编号。获取与第二方以及第三方共享的随机数,第二方同样持有第一编号分片和第二编号分片,第三方持有第一编号分片和第二编号分片之一。对第一目标和值和随机数进行运算,得到第一目标分片。基于第一目标分片、随机数和0得到第一目标和值的三个本方分片。根据与第二方的协议,与第二方各自将第一目标分片的分片数据发送给第四方,使其基于第一目标分片得到三个对应分片。

【技术实现步骤摘要】

本说明书一个或多个实施例涉及安全,尤其涉及一种多方安全计算的方法及装置


技术介绍

1、多方安全计算(secure multi-party computation,mpc),也称安全多方计算,其支持互不信任的各方在不泄露自身数据的情况下进行联合计算,相较于其他隐私计算技术,具有更高的计算效率和更通用的数据隐私保护能力。

2、多方安全计算可以基于同态加密、秘密分享等技术实现。其中,秘密分享技术包括加性秘密共享、shamir门限共享、复制秘密共享、函数秘密共享在内的多种变体和分支。复制秘密共享在牺牲少部分安全性(理论上阈值越大越安全)的情况下能够减少大量的离线和在线计算量并且计算简单,但由于复制秘密共享的通信复杂度随着参与方数量的增多而变高。因此,如何利用复制秘密共享技术进行高效的多方安全计算就成为要解决的问题。


技术实现思路

1、本说明书一个或多个实施例描述了一种多方安全计算的方法及装置,可以提高多方安全计算的计算效率。

2、根据第一方面,提供了一种多方安全计算的方法,用于对第一和第二数据执行安全乘法运算;所述第一和第二数据各自被拆分为四个分片,以复制秘密共享的方式分发给四个参与方,所述方法由四个参与方中任意的第一方执行,该第一方具有编号i,持有第一和第二数据的四个分片中除编号i分片之外的三个分片;所述方法包括:

3、本地计算第一数据和第二数据各自的第一编号分片和第二编号分片的交叉乘积之和,得到第一目标和值;其中第一编号不同于第二编号;

>4、获取与第二方以及第三方共享的随机数;其中,所述第二方同样持有所述第一编号分片和第二编号分片,所述第三方持有第一编号分片和第二编号分片之一;

5、对所述第一目标和值和所述随机数进行运算,得到第一目标分片;基于所述第一目标分片、所述随机数和0得到所述第一目标和值的三个本方分片;

6、根据与所述第二方的协议,与所述第二方各自将所述第一目标分片的分片数据发送给第四方,使其基于所述第一目标分片得到三个对应分片。

7、根据第二方面,提供了一种多方安全计算的装置,用于对第一和第二数据执行安全乘法运算;所述第一和第二数据各自被拆分为四个分片,以复制秘密共享的方式分发给四个参与方,所述装置设置于四个参与方中任意的第一方,该第一方具有编号i,持有第一和第二数据的四个分片中除编号i分片之外的三个分片;所述装置包括:

8、计算单元,用于本地计算第一数据和第二数据各自的第一编号分片和第二编号分片的交叉乘积之和,得到第一目标和值;其中第一编号不同于第二编号;

9、获取单元,用于获取与第二方以及第三方共享的随机数;其中,所述第二方同样持有所述第一编号分片和第二编号分片,所述第三方持有第一编号分片和第二编号分片之一;

10、所述计算单元,还用于对所述第一目标和值和所述随机数进行运算,得到第一目标分片;基于所述第一目标分片、所述随机数和0得到所述第一目标和值的三个本方分片;

11、发送单元,用于根据与所述第二方的协议,与所述第二方各自将所述第一目标分片的分片数据发送给第四方,使其基于所述第一目标分片得到三个对应分片。

12、根据第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面的方法。

13、根据第四方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,该处理器执行所述可执行代码时,实现第一方面的方法。

14、本说明书一个或多个实施例提供的多方安全计算的方法,在四个参与方联合进行基于复制秘密共享的安全乘法运算时,该四个参与方中任意的第一方,针对其持有的第一和第二数据的两个不同编号分片的交叉乘积之和,可以本地计算得到该交叉乘积之和的三个本方分片,此外还可以向其它参与方提供对应的分片数据,从而使得其它参与方得到三个对应分片,由此可以大大减少在线阶段的通信量,从而可以提升多方安全计算的效率。

本文档来自技高网...

【技术保护点】

1.一种多方安全计算的方法,用于对第一和第二数据执行安全乘法运算;所述第一和第二数据各自被拆分为四个分片,以复制秘密共享的方式分发给四个参与方,所述方法由四个参与方中任意的第一方执行,该第一方具有编号i,持有第一和第二数据的四个分片中除编号i分片之外的三个分片;所述方法包括:

2.根据权利要求1所述的方法,还包括:

3.根据权利要求1所述的方法,其中,发送的分片数据为所述第一目标分片的原始值和哈希值之一;所述协议约定所述第二方发送所述原始值和哈希值中另一个。

4.根据权利要求3所述的方法,还包括:

5.根据权利要求1所述的方法,还包括:

6.根据权利要求2所述的方法,还包括:

7.根据权利要求6所述的方法,还包括:

8.根据权利要求7所述的方法,还包括:

9.根据权利要求6所述的方法,其中,所述嫌疑恶意方是由所述可信第三方基于恶意方集合中各参与方各自的风险概率而确定,所述风险概率与对应参与方在历史联合计算中被标记为恶意方的次数正相关;所述恶意方集合包括第一方、第二方和第四方中任意两个。

10.一种多方安全计算的装置,用于对第一和第二数据执行安全乘法运算;所述第一和第二数据各自被拆分为四个分片,以复制秘密共享的方式分发给四个参与方,所述装置设置于四个参与方中任意的第一方,该第一方具有编号i,持有第一和第二数据的四个分片中除编号i分片之外的三个分片;所述装置包括:

11.一种计算机可读存储介质,其上存储有计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-9中任一项所述的方法。

12.一种计算设备,包括存储器和处理器,其中,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-9中任一项所述的方法。

...

【技术特征摘要】

1.一种多方安全计算的方法,用于对第一和第二数据执行安全乘法运算;所述第一和第二数据各自被拆分为四个分片,以复制秘密共享的方式分发给四个参与方,所述方法由四个参与方中任意的第一方执行,该第一方具有编号i,持有第一和第二数据的四个分片中除编号i分片之外的三个分片;所述方法包括:

2.根据权利要求1所述的方法,还包括:

3.根据权利要求1所述的方法,其中,发送的分片数据为所述第一目标分片的原始值和哈希值之一;所述协议约定所述第二方发送所述原始值和哈希值中另一个。

4.根据权利要求3所述的方法,还包括:

5.根据权利要求1所述的方法,还包括:

6.根据权利要求2所述的方法,还包括:

7.根据权利要求6所述的方法,还包括:

8.根据权利要求7所述的方法,还包括:

9.根据权利要求6所述的方法,其中,所述...

【专利技术属性】
技术研发人员:蒋琳杨鹏刘虎成徐开豪马俊明昝晓鹏梁晓健余超凡
申请(专利权)人:支付宝杭州信息技术有限公司
类型:发明
国别省市:

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

1