一种新型MPC密文计算方法技术

技术编号:34792279 阅读:14 留言:0更新日期:2022-09-03 19:56
本发明专利技术提供了一种新型MPC密文计算方法,包括:首先搭建MPC计算框架,设置计算节点P0、计算节点P1及计算节点P2,将计算节点P2设计为协计算节点,并通过全同态算法对其进行设置;生成将随机数集合R,并将计算节点P0及计算节点P2作为参与方,共享随机数集合R;数据方对数据进行分片,进行数据分发,将数据分发至计算节点P0及计算节点P1,分发完毕后,计算节点P0及计算节点P1进行数据计算。本发明专利技术提供的新型MPC密文计算方法,采用全同态算法协助实现基础算子的密文计算,降低了通信消耗,提高了安全性。全性。全性。

【技术实现步骤摘要】
一种新型MPC密文计算方法


[0001]本专利技术涉及隐私计算
,特别是涉及一种新型MPC密文计算方法。

技术介绍

[0002]MPC(Multi

party compution)是基于密码学实现的隐私计算框架,具备高安全,高通用性的特点,但由于MPC自身的将数据分片存放的特点,在计算时需要各节点间通信,导致MPC的通信消耗较高,这也是MPC性能瓶颈的根源。所以,降低MPC的通信消耗是提升MPC性能的关键。因此,设计一种能降低MPC的通信消耗的MPC密文计算方法是十分有必要的。

技术实现思路

[0003]本专利技术的目的是提供一种新型MPC密文计算方法,采用全同态算法协助实现基础算子的密文计算,降低了通信消耗,提高了安全性。
[0004]为实现上述目的,本专利技术提供了如下方案:
[0005]一种新型MPC密文计算方法,包括如下步骤:
[0006]步骤1:搭建MPC计算框架,设置计算节点P0、计算节点P1及计算节点P2,将计算节点P2设计为协计算节点,并通过全同态算法对其进行设置;
[0007]步骤2:生成将随机数集合R,并将计算节点P0及计算节点P2作为参与方,共享随机数集合R;
[0008]步骤3:数据方对数据进行分片,进行数据分发,将数据分发至计算节点P0及计算节点P1,分发完毕后,计算节点P0及计算节点P1进行数据计算。
[0009]可选的,步骤1中,搭建MPC计算框架,设置计算节点P0、计算节点P1及计算节点P2,将计算节点P2设计为协计算节点,并通过全同态算法对其进行设置,具体为:
[0010]搭建三方MPC计算框架,设置计算节点P0、计算节点P1及计算节点P2,其中,将计算节点P2设计为协计算节点,不直接接收数据方的分片数据,计算节点P2对全同态算法H进行初始化,初始化完毕后,将加密公钥pk及评估秘钥ek对外公布,并保留存储解密秘钥sk。
[0011]可选的,步骤2中,生成将随机数集合R,并将计算节点P0及计算节点P2作为参与方,共享随机数集合R,具体为:
[0012]计算节点P0生成随机数集合R为:
[0013]R={r
i
}
[0014]式中,r
i
mod2
n
>0,生成完毕后,将其发送至计算节点P2并约定随机数r的选取方式。
[0015]可选的,步骤3中,数据方对数据进行分片,进行数据分发,将数据分发至计算节点P0及计算节点P1,具体为:
[0016]数据方生成数据x及y,并对其进行数据分片,得到:
[0017]x=(x1,x2)=x1+x2mod2
n
[0018]y=(y1,y2)=y1+y2mod2
n
[0019]其中,通过加密公钥pk对数据x1及y1进行加密,生成H(x1)及H(y1),将x1及y1发送至计算节点P0,将x2、y2、H(x1)及H(y1)发送至计算节点P1。
[0020]可选的,步骤3中,分发完毕后,计算节点P0及计算节点P1进行数据计算,具体为:
[0021]分发完毕后,计算节点P0及计算节点P1对数据进行加法计算,即:
[0022][z]=[x]+[y]=(x1+y1,x2+y2)
[0023]其中,x
i
+y
i
分别在计算节点P0及计算节点P1本地计算。
[0024]可选的,步骤3中,分发完毕后,计算节点P0及计算节点P1进行数据计算,具体为:
[0025]分发完毕后,计算节点P0及计算节点P1对数据进行乘法计算,即:
[0026]z=x*y=(x1+x2)(y1+y2)=x1y1+x2y2+x1y2+x2y1[0027]式中,x1y1及x2y2分别由计算节点P0及计算节点P1在本地完成,交叉项x1y2+x2y1由计算节点P1计算得到:
[0028]t=y2H(x1)+x2H(y1)=H(x1y2+x2y1)
[0029]将数据t发送至计算节点P2,计算节点P2通过解密秘钥sk对数据t进行解密,得到交叉项x1y2+x2y1,计算节点P2从随机数集合R中按照约定的选取方式选取随机数r,计算得到:
[0030]w=x1y2+x2y1‑
r
[0031]计算完毕后,将数据w返回给计算节点P1,其中计算节点P0的分片数据表示为x1y1+r,计算节点P2的分片数据表示为x2y2+w。
[0032]根据本专利技术提供的具体实施例,本专利技术公开了以下技术效果:本专利技术提供的新型MPC密文计算方法,该方法将计算节点P2设计为协计算节点,不直接接收数据方的分片数据,对常规技术中的ABY3通信方案进行优化,降低了通信消耗,能够提高MPC的性能;该方法采用全同态算法协助实现基础算子的密文计算,能够用于实施数据可用但不可见的隐私计算,提高了安全性。
附图说明
[0033]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0034]图1为本专利技术实施例新型MPC密文计算方法流程示意图;
[0035]图2为本专利技术实施例新型MPC密文计算方法通信框架示意图;
[0036]图3为ABY3通讯框架示意图。
具体实施方式
[0037]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0038]本专利技术的目的是提供一种新型MPC密文计算方法,采用全同态算法协助实现基础算子的密文计算,降低了通信消耗,提高了安全性。
[0039]为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本专利技术作进一步详细的说明。
[0040]如图1及图2所示,本专利技术实施例提供的新型MPC密文计算方法,包括如下步骤:
[0041]步骤1:搭建MPC计算框架,设置计算节点P0、计算节点P1及计算节点P2,将计算节点P2设计为协计算节点,并通过全同态算法对其进行设置;
[0042]步骤2:生成将随机数集合R,并将计算节点P0及计算节点P2作为参与方,共享随机数集合R;
[0043]步骤3:数据方对数据进行分片,进行数据分发,将数据分发至计算节点P0及计算节点P1,分发完毕后,计算节点P0及计算节点P1进行数据计算。
[0044]步骤1中,搭建MPC计算框架,设置计算节点P0、计算节点P1及计算节点P2,将计算节点P2设计为协计算节点,并通过全同态算法对其进行设置,具体为:...

【技术保护点】

【技术特征摘要】
1.一种新型MPC密文计算方法,其特征在于,包括如下步骤:步骤1:搭建MPC计算框架,设置计算节点P0、计算节点P1及计算节点P2,将计算节点P2设计为协计算节点,并通过全同态算法对其进行设置;步骤2:生成将随机数集合R,并将计算节点P0及计算节点P2作为参与方,共享随机数集合R;步骤3:数据方对数据进行分片,进行数据分发,将数据分发至计算节点P0及计算节点P1,分发完毕后,计算节点P0及计算节点P1进行数据计算。2.根据权利要求1所述的新型MPC密文计算方法,其特征在于,步骤1中,搭建MPC计算框架,设置计算节点P0、计算节点P1及计算节点P2,将计算节点P2设计为协计算节点,并通过全同态算法对其进行设置,具体为:搭建三方MPC计算框架,设置计算节点P0、计算节点P1及计算节点P2,其中,将计算节点P2设计为协计算节点,不直接接收数据方的分片数据,计算节点P2对全同态算法H进行初始化,初始化完毕后,将加密公钥pk及评估秘钥ek对外公布,并保留存储解密秘钥sk。3.根据权利要求2所述的新型MPC密文计算方法,其特征在于,步骤2中,生成将随机数集合R,并将计算节点P0及计算节点P2作为参与方,共享随机数集合R,具体为:计算节点P0生成随机数集合R为:R={r
i
}式中,r
i
mod2
n
>0,生成完毕后,将其发送至计算节点P2并约定随机数r的选取方式。4.根据权利要求3所述的新型MPC密文计算方法,其特征在于,步骤3中,数据方对数据进行分片,进行数据分发,将数据分发至计算节点P0及计算节点P1,具体为:数据方生成数据x及y,并对其进行数据分片,得到:x=(x...

【专利技术属性】
技术研发人员:李延凯梁栋
申请(专利权)人:北京原语科技有限公司
类型:发明
国别省市:

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

1