适用于半诚实模型下基于全同态加密的多方计算方法技术

技术编号:34802435 阅读:49 留言:0更新日期:2022-09-03 20:09
本发明专利技术提供一种适用于半诚实模型下基于全同态加密的高效安全多方计算方法,包括所有参与多方计算的数据输入方将自己的输入数据做一个加法秘密共享,分别发给各计算方节点;多方计算参与者将要计算的函数f也发送给所有计算节点;计算方节点使用本地的所得到输入数据的加法秘密共享份额,按顺序运算f函数中的所有加法和乘法;每个计算节点将各自的f函数的计算结果的份额发送给其他计算节点;每个计算节点将自己的份额和收到其他节点的份额,做一个相加合并,得到f函数的最终结果,并返回给多方计算的参与方等步骤。本发明专利技术的适用于半诚实模型下基于全同态加密的高效安全多方计算方法没有了参与方数目限制;解决安全多方计算参与方数目的限制问题。参与方数目的限制问题。参与方数目的限制问题。

【技术实现步骤摘要】
适用于半诚实模型下基于全同态加密的多方计算方法


[0001]本专利技术涉及适用于半诚实模型下基于全同态加密的高效安全多方计算方法。

技术介绍

[0002]加密算法包括:
[0003]1.全同态加密
[0004]全同态加密是一种对密文可以进行任意计算(分为算术上的加法,乘法,或者逻辑比特位上的异或与AND),解密后得到的结果是相应明文进行相同计算结果的一种加密算法。
[0005]2.半同态加密,有限级数的全同态加密
[0006]目前,由于全同态加密在应用上往往存在效率和存储上的限制,应用更加广泛的是半同态加密,或者有限级数的全同态加密。其中半同态加密算法只支持密文加法或者乘法的同态运算,而有限级数的全同态加密则支持密文加法和有限层级的乘法。基于格的全同态加密支持多个值一次加密,以提高效率。
[0007]3.安全多方计算
[0008]安全多方计算是一类密码学技术,也是当前密码学领域的一个热门研究方向,属于隐私计算范畴。主要用于两方或者多方希望在不泄露自己隐私输入数据的情况下,根据各方输入数据,共同计算一个函数结果。安全多方计算除了最终结果之外,每一方的输入都能保持隐私性。
[0009]该研究方向起源于图灵机获得者姚期智提出的百万富翁问题,初期的解决方案效率较低,并不实用。近年来,随着该类技术的不断发展,效率大大提高,并开始逐步有实际落地应用。
[0010]4.半诚实安全模型
[0011]在分析一种计算或通信协议安全性时候的一种模型,在这种安全模型下,协议参与者会严格遵守协议的相关步骤和要求,但是攻击者会试图通过协议过程中获取的数据得到其他其不应该知道的数据。
[0012]5.联邦机器学习
[0013]隐私计算在机器学习领域的应用,在不泄露各方隐私数据的情况下,能够融合多方的数据,通过机器学习算法,训练更精准的模型,进行预测。联邦学习属于安全计算的应用范围,一般会结合多种安全计算技术,如多方安全计算、同态加密、差分隐私等等。
[0014]由于参与联邦学习的多为身份,安全性可认证的企业,所以联邦学习安全模型多为半诚实模型。
[0015]安全多方计算是密码学的一个重要研究领域,自1982由姚期智提出以来,由于其广泛的应用场景(匿名投票,拍卖,DNA对比等等),吸引了众多学者研究。近期,由于联邦学习的大火,MPC有了更加广泛的应用场所,用于不同企业或机构之间在不泄露敏感信息的情况下,联合各方数据,进行机器学习模型训练与预测。
[0016]多方计算协议分为通用多方计算协议,或者特定多方计算协议(如PSI隐私交集计算,PIR隐私信息检索)。
[0017]目前,主流的通用多方计算协议有如下分类:
[0018](1)一种是Garbled Circuit,主要用于二进制格式数据的多方计算(bit位的XOR和AND),这类型的多方计算也可用于算术的多方计算,但将算术运算翻译成bit的位运算,通常的算术计算,电路深度会很大,效率较低。
[0019](2)另一种是基于算术类型的MPC(Multi

Party Computation多方计算),用于常见数据的运算(数的加法和乘法)。
[0020]如SPDZ,Mascot,这类协议支持任意数目的计算方,且支持恶意敌手(有一个诚实敌手即可)的多方计算框架,但存在大量的通讯开销,对于某些在联邦学习这种半诚实安全模型,且通常使用大量数据训练的场景并不适用。
[0021]多方计算半诚实模型下的实际应用:
[0022]在当前多方计算半诚实模型下的实际应用中,如微众FATE联邦学习计算框架,为了实现高效性,其实现了一个弱化版的SPDZ。
[0023]此版本的SPDZ不带MAC验证,在半诚实模型下安全,可以大大减小通讯开销。但Fate的SPDZ基于Paillier半同态加密,不支持一次加密多个数据这样的高效并行化操作。且由于Paillier加密只支持整数加密,对于小数类型的加密需要另外进行编码,而由于小数编码问题,导致其只支持两方的多方计算。
[0024]其他半诚实模型下安全且支持算术计算的多方安全计算MPC还有ABY,ABY3,ObliviVM等,只支持有限数量的计算方(2方或3方)。其中ABY和ABY3为了适应机器学习的需求还支持bit位和算术MPC之间的相互转化。
[0025]总的来说,目前虽然有多种MPC框架已经投入应用,但这些框架都或多或少有一些不足的地方,要么只支持两方或三方,要么安全性只满足半诚实模型,要么计算过程通讯消耗大,要么缺乏浮点数的计算支持。总之使用者在实际应用中要根据自己的需求和使用场景选择合适的MPC。
[0026]目前,用在半诚实模型下如联邦机器学习的多方计算框架,为了支持任意多方,原始SPDZ为抵抗恶意敌手,含大量安全性验证。另外类似联邦学习计算框架Fate中实现的一种简单阉割版的SPDZ多方计算。去掉了恶意参与者的消息验证部分,减少了大量通讯开销。
[0027]但是,原始的SPDZ,可以抵抗恶意参与者的攻击,但是为了保障安全性,需要生成大量的中间数据,同时在各参与方之间传输,导致效率很低,在大规模数据的多方计算中,并不实用。联邦学习这样的环境,主要参与方都是半诚实的,并不需要这样的强安全性,更希望在效率上能更加高效。
[0028]Fate实现的弱化版的SPDZ,在半诚实模型下安全,同时为了提高效率,去掉了一些用于验证抵抗恶意敌手安全性的中间数据生成和传输。但这种方法基于Paillier半同态加密,由于小数的编码问题,无法支持两方以上的计算,SPDZ原本的主要功能被削弱,且不支持数据加密的并行化,只能串行加密。

技术实现思路

[0029]本专利技术的目的是为了在应用中解决安全多方计算参与方数目的限制问题,提供一
种适用于半诚实模型下基于全同态加密的高效安全多方计算方法,该方法采用无参与方数目限制的SPDZ类框架。
[0030]本专利技术为实现其技术目的所采用的技术方案是:适用于半诚实模型下基于全同态加密的高效安全多方计算方法,包括以下步骤:
[0031]S1、所有参与多方计算的数据输入方将自己的输入数据做一个加法秘密共享,将输入分成与计算方节点数目相同的份数,分别发给各计算方节点;
[0032]S2、多方计算参与者将要计算的函数f也发送给所有计算节点;
[0033]S3、计算方节点使用本地的所得到输入数据的份额,按顺序运算f函数中的所有加法和乘法;进行计算,并得到一个f函数计算最终结果的份额;
[0034]S4、每个计算节点将各自的f函数的计算结果的份额发送给其他计算节点;
[0035]S5、每个计算节点将自己的份额和收到其他节点的份额,做一个相加合并,得到f函数的最终结果,并返回给多方计算的参与方。
[0036]进一步的,上述的适用于半诚实模型下基于全同态加密的高效安全多方计算方法中:在步骤S1之前,还包括以下步骤:...

【技术保护点】

【技术特征摘要】
1.适用于半诚实模型下基于全同态加密的高效安全多方计算方法,其特征在于:包括以下步骤:S1、所有参与多方计算的数据输入方将自己的输入数据做一个加法秘密共享,将输入分成与计算方节点数目相同的份数,分别发给各计算方节点;S2、多方计算参与者将要计算的函数f也发送给所有计算节点;S3、计算方节点使用本地的所得到输入数据的份额,按顺序运算f函数中的所有加法和乘法;并得到一个f函数计算最终结果的份额;S4、每个计算节点将各自的f函数的计算结果的份额发送给其他计算节点;S5、每个计算节点将自己的份额和收到其他节点的份额,做一个相加合并,得到f函数的最终结果,并返回给多方计算的参与方。2.根据权利要求1所述的适用于半诚实模型下基于全同态加密的高效安全多方计算方法,其特征在于...

【专利技术属性】
技术研发人员:谈扬
申请(专利权)人:深圳前海新心数字科技有限公司
类型:发明
国别省市:

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

1