安全多方乘法运算方法及其装置、设备、介质及产品制造方法及图纸

技术编号:37308920 阅读:20 留言:0更新日期:2023-04-21 22:52
本申请公开了一种安全多方乘法运算方法及其装置、设备、介质及产品,属于计算机、大数据技术领域。该方法包括:可信第三方在N为奇数的情况下,随机选取三个参与方划分至第一组,并将其余N

【技术实现步骤摘要】
安全多方乘法运算方法及其装置、设备、介质及产品


[0001]本申请属于计算机、大数据
,尤其涉及一种安全多方乘法运算方法及其装置、设备、介质及产品。

技术介绍

[0002]安全多方计算(Multy

party computation,MPC)是一种重要的密码技术,该技术可以在多个互不信任的参与方之间,在不透露各方隐私数据的情况下进行分布式联合计算,最终各方可拥有约定计算的函数的明文结果,有效保护了用户数据隐私。
[0003]相关技术中,当涉及多个参与方,且参与方数量为奇数时,多个参与方之间进行安全多方计算时的计算开销较大,导致运算效率较低。

技术实现思路

[0004]本申请实施例提供一种安全多方乘法运算方法及其装置、设备、介质及产品,能够在多个参与方的数量为奇数时,节省计算开销,提升安全多方运算效率。
[0005]第一方面,本申请实施例提供一种安全多方乘法运算该方法,该方法应用于可信第三方,可信第三方与N个参与方通信连接,该方法包括:在N为奇数的情况下,随机选取三个参与方划分至第一组,并将其余N

3个参与方两两划分至多个第二组;对于第一组,随机生成乘法四元组,以使第一组中三个参与方基于乘法四元组进行安全三方乘法运算,得到第一运算结果;对于每个第二组,随机生成乘法三元组,以使第二组中两个参与方基于乘法三元组进行安全两方乘法运算,得到第二运算结果;基于第一运算结果和第二运算结果,得到多方运算结果。
[0006]在第一方面的一些可实现方式中,乘法四元组中包括四个参数,方法还包括:基于四个参数及其组合,生成M个分享参数,分享参数用于在三个参与方之间随机共享;对于每个分享参数,生成第一随机数和第二随机数;基于每个分享参数对应的第一随机数和第二随机数,将每个分享参数拆分为三个数据分片,得到M个分享参数对应的3M个数据分片,其中,三个数据分片的加和为分享参数,每个分享参数对应的三个数据分片用于分配给三个参与方;向第一组中的每个参与方发送与其对应的M个数据分片,以使每个参与方基于M个数据分片和持有的秘密分量进行计算,得到第一运算结果。
[0007]在第一方面的一些可实现方式中,M个分享参数包括第一分享参数和第二分享参数,M个数据分片包括第一分享参数关联的第一数据分片和第二分享参数关联的第二数据分片,第一运算结果基于目标参数和第二数据分片确定,目标参数基于第一数据分片和秘密分量确定。
[0008]在第一方面的一些可实现方式中,每个参与方持有一个秘密信息,秘密分量为第一组中的三个参与方对三个秘密信息进行秘密共享后得到的,其中,每个参与方持有三个秘密分量。
[0009]在第一方面的一些可实现方式中,基于第一运算结果和第二运算结果,得到多方
运算结果,包括:在接收到第一组中三个参与方分别发送的第一运算结果的情况下,将三个第一运算结果进行累加,得到第三运算结果;在接收到每个第二组中两个参与方分别发送的第二运算结果的情况下,将每个第二组对应的两个第二运算结果进行累加,得到多个第四运算结果;计算第三运算结果与多个第四运算结果的乘积,得到多方运算结果。
[0010]在第一方面的一些可实现方式中,在基于第一运算结果和第二运算结果,得到多方运算结果之前,方法还包括:向每个参与方发送第一消息,第一消息包括第一数量和第一标识;其中,第一数量用于表征参与方所在组中的参与方数量,第一标识为参与方所在组中其余参与方的编号或互联网协议IP地址,第一标识用于每个参与方与所在组中其余参与方进行通信。
[0011]在第一方面的一些可实现方式中,乘法三元组为Beaver三元组,可信第三方对应中心节点,参与方对应参与方节点,N个参与方节点以中心节点为中心,组成星形拓扑结构。
[0012]第二方面,本申请实施例提供了一种安全多方乘法运算装置,该装置应用于可信第三方,可信第三方与N个参与方通信连接,装置包括:分组模块,用于在N为奇数的情况下,随机选取三个参与方划分至第一组,并将其余N

3个参与方两两划分至多个第二组;生成模块,用于对于第一组,随机生成乘法四元组,以使第一组中三个参与方基于乘法四元组进行安全三方乘法运算,得到第一运算结果;生成模块,还用于对于每个第二组,随机生成乘法三元组,以使第二组中两个参与方基于乘法三元组进行安全两方乘法运算,得到第二运算结果;运算模块,用于基于第一运算结果和第二运算结果,得到多方运算结果。
[0013]在第二方面的一些可实现方式中,乘法四元组中包括四个参数,装置还包括:生成模块,还用于基于四个参数及其组合,生成M个分享参数,分享参数用于在三个参与方之间随机共享;生成模块,还用于对于每个分享参数,生成第一随机数和第二随机数;拆分模块,用于基于每个分享参数对应的第一随机数和第二随机数,将每个分享参数拆分为三个数据分片,得到M个分享参数对应的3M个数据分片,其中,三个数据分片的加和为分享参数,每个分享参数对应的三个数据分片用于分配给三个参与方;打算模块,用于向第一组中的每个参与方发送与其对应的M个数据分片,以使每个参与方基于M个数据分片和持有的秘密分量进行计算,得到第一运算结果。
[0014]在第二方面的一些可实现方式中,M个分享参数包括第一分享参数和第二分享参数,M个数据分片包括第一分享参数关联的第一数据分片和第二分享参数关联的第二数据分片,第一运算结果基于目标参数和第二数据分片确定,目标参数基于第一数据分片和秘密分量确定。
[0015]在第二方面的一些可实现方式中,每个参与方持有一个秘密信息,秘密分量为第一组中的三个参与方对三个秘密信息进行秘密共享后得到的,其中,每个参与方持有三个秘密分量。
[0016]在第二方面的一些可实现方式中,运算模块具体用于:在接收到第一组中三个参与方分别发送的第一运算结果的情况下,将三个第一运算结果进行累加,得到第三运算结果;在接收到每个第二组中两个参与方分别发送的第二运算结果的情况下,将每个第二组对应的两个第二运算结果进行累加,得到多个第四运算结果;计算第三运算结果与多个第四运算结果的乘积,得到多方运算结果。
[0017]在第二方面的一些可实现方式中,装置还包括:发送模块,用于在基于第一运算结
果和第二运算结果,得到多方运算结果之前,向每个参与方发送第一消息,第一消息包括第一数量和第一标识;其中,第一数量用于表征参与方所在组中的参与方数量,第一标识为参与方所在组中其余参与方的编号或互联网协议IP地址,第一标识用于每个参与方与所在组中其余参与方进行通信。
[0018]在第二方面的一些可实现方式中,乘法三元组为Beaver三元组,可信第三方对应中心节点,参与方对应参与方节点,N个参与方节点以中心节点为中心,组成星形拓扑结构。
[0019]第三方面,本申请实施例提供了一种电子设备,该设备包括:处理器以及存储有计算机程序指令的存储器;处理器执行计算机程序指令时实现如第一方面的任一项实施例中所示的安全多方乘法运算方法的步骤。
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种安全多方乘法运算方法,其特征在于,应用于可信第三方,所述可信第三方与N个参与方通信连接,所述方法包括:在N为奇数的情况下,随机选取三个参与方划分至第一组,并将其余N

3个参与方两两划分至多个第二组;对于所述第一组,随机生成乘法四元组,以使所述第一组中三个参与方基于所述乘法四元组进行安全三方乘法运算,得到第一运算结果;对于每个所述第二组,随机生成乘法三元组,以使所述第二组中两个参与方基于所述乘法三元组进行安全两方乘法运算,得到第二运算结果;基于所述第一运算结果和所述第二运算结果,得到多方运算结果。2.根据权利要求1所述的方法,其特征在于,所述乘法四元组中包括四个参数,所述方法还包括:基于所述四个参数及其组合,生成M个分享参数,所述分享参数用于在所述三个参与方之间随机共享;对于每个所述分享参数,生成第一随机数和第二随机数;基于每个分享参数对应的第一随机数和第二随机数,将所述每个分享参数拆分为三个数据分片,得到所述M个分享参数对应的3M个数据分片,其中,所述三个数据分片的加和为所述分享参数,所述每个分享参数对应的三个数据分片用于分配给三个参与方;向所述第一组中的每个参与方发送与其对应的M个数据分片,以使每个参与方基于所述M个数据分片和持有的秘密分量进行计算,得到所述第一运算结果。3.根据权利要求2所述的方法,其特征在于,所述M个分享参数包括第一分享参数和第二分享参数,所述M个数据分片包括所述第一分享参数关联的第一数据分片和第二分享参数关联的第二数据分片,所述第一运算结果基于目标参数和所述第二数据分片确定,所述目标参数基于所述第一数据分片和所述秘密分量确定。4.根据权利要求2所述的方法,其特征在于,所述每个参与方持有一个秘密信息,所述秘密分量为所述第一组中的三个参与方对三个秘密信息进行秘密共享后得到的,其中,每个参与方持有三个所述秘密分量。5.根据权利要求1所述的方法,其特征在于,所述基于所述第一运算结果和所述第二运算结果,得到多方运算结果,包括:在接收到所述第一组中三个参与方分别发送的第一运算结果的情况下,将三个第一运算结果进行累加,得到第三运算结果;在接收到每个第二组中两个参与方分别发送的第二运算结果的情况下,将每个第二组对应的两个第二运算结果进行...

【专利技术属性】
技术研发人员:马会来王雪李武璐张大勇何林芳
申请(专利权)人:建信金融科技有限责任公司
类型:发明
国别省市:

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

1