法律状态公告日
法律状态信息
法律状态
2022-11-04
专利权的转移 IPC(主分类):H04L29/06 专利号:ZL2019106032348 登记生效日:20221025 变更事项:专利权人 变更前权利人:西南交通大学 变更后权利人:芽米科技(广州)有限公司 变更事项:地址 变更前权利人:610031 四川省成都市二环路北一段 变更后权利人:510530 广东省广州市黄埔区科丰路85号801房
专利申请权、专利权的转移
2020-04-28
授权
授权
2019-10-22
实质审查的生效 IPC(主分类):H04L29/06 申请日:20190705
实质审查的生效
2019-09-20
公开
公开
技术领域
本发明涉及云计算领域,具体涉及一种基于同态的云辅助动态通用安全多方计算方法。
背景技术
云计算及其相关技术自出现以来,经历了快速而蓬勃的发展,它的使用为各类新技术、新应用的产生和推广提供了更灵活、更高效、更多维度的支撑,同时也为一些传统问题的解决提供了新的思路。安全多方计算指的是多个互相不信任的参与方,想要利用各自持有的隐私数据完成联合计算,完成计算后除了得到既定的输出外,不会造成私有数据和预计输出等信息的泄露。目前对于安全多方计算的研究主要分为通用协议和专用协议两类,通用协议对联合计算的类型不做限定,通常假定为计算函数f,专用协议中指定具体场景下的计算需求,如元素排序、求解集合关系等。
传统的通用安全多方计算协议通过一些密码技术和参与方的直接通信完成计算目标,参与方端计算负担大、通信轮数多且协议复杂度高,使得传统的安全多方计算方法效率低。
发明内容
针对现有技术中的上述不足,本发明提供的一种基于同态的云辅助动态通用安全多方计算方法解决了现有通用安全多方计算方法的动态性差和效率低的问题。
为了达到上述发明目的,本发明采用的技术方案为:
提供一种基于同态的云辅助动态通用安全多方计算方法,其包括以下步骤:
S1、生成参与方的公钥、私钥和计算密钥;
S2、对参与方的数据消息进行加密后得到对应的密文;
S3、生成参与方的盲化参数和盲化密钥;
S4、将参与方的密文、公钥、计算密钥和盲化密钥组合成数据元组并上传至云服务器;
S5、通过需要执行联合计算的参与方向云服务器提出计算需求申请;选取计算函数和包括提出计算需求申请的参与方在内的N个计算参与方;
S6、通过云服务器根据数据元组中的密文、公钥、计算密钥和计算函数得到N个计算参与方联合运算结果的密文;
S7、通过云服务器根据数据元组中的盲化密钥对N个计算参与方联合运算结果的密文进行部分解密,得到部分解密密文并将其发送至提出计算需求申请的计算参与方;
S8、通过提出计算需求申请的计算参与方根据其他计算参与方的盲化参数对部分解密密文进行再解密,得到最终解密值,完成多方计算。
进一步地,步骤S1的具体方法包括以下子步骤:
S1-1、根据设定的安全参数生成阶数n,剩余类模数q,n次多项式φ(x)∈Z[x],φ(x)=xn+1;并将环Z[x]/<φ(x)>和环Zq[x]/<φ(x)>分别记为
S1-2、生成逐渐减小的模量组值
f(i):=pu(i)+1
获取可逆的公钥标准基量f(i);其中u(i)为从χ中随机选取的公钥基量;ddec为解密电路深度;:=为确定性运算;
S1-3、根据公式
h(i)=pg(i)(f(i))-1
获取公钥组量h(i);g(i)为从χ中随机选取的公钥随机化参数;
S1-4、分别根据公式
pk:=h(0)
生成公钥pk和私钥sk;
S1-5、根据公式
分别获取第一密钥组值
S1-6、根据公式
生成计算密钥ek。
进一步地,步骤S2的具体方法为:
根据公式
c:=hs+pe+m
获取加密后的的密文c;其中m为参与方的数据消息;h为由所有公钥组量h(i)组成的向量;s和e分别为χ上随机选取的两个多项式。
进一步地,步骤S3的具体方法为:
通过第j个参与方从χ上选择与其对应的盲化参数rj,其中盲化参数rj在
根据公式
生成第j个参与方的盲化密钥bkj;其中skj为第j个参与方的私钥。
进一步地,步骤S5中选取计算函数和包括提出计算需求申请的参与方在内的N个计算参与方的具体方法为:
通过提出计算需求申请的参与方指定计算函数和具体的计算参与方个数,或通过服务器根据提出计算需求申请的计算参与方指定的条件下自动选取计算函数和具体的计算参与方个数。
进一步地,步骤S6的具体方法为:
将计算函数拆分为加法运算和乘法运算;
对于加法运算:根据递推公式
获取中间参数
对于乘法运算:判断两密文对应的公钥集合是否存在交集,对于交集中存在的公钥,根据递推公式
获取中间参数
获取中间参数
完成所有加法运算和乘法运算,得到N个计算参与方联合运算结果的密文。
进一步地,步骤S7中通过云服务器根据数据元组中的盲化密钥对N个计算参与方联合运算结果的密文进行部分解密的具体方法为:
根据公式
得到第j个计算参与方获取的部分解密密文
进一步地,步骤S8的具体方法为:
根据公式
获取同模输出uf-j,取同模输出uf-j模p的结果,得到提出计算需求申请的计算参与方的输出,即最终解密值,完成多方计算;其中rj为第j个计算参与方的盲化参数;
进一步地,可逆元素p的取值为2。
本发明的有益效果为:本发明采用多密钥同态算法实现云辅助下的通用安全多方计算,能够有效减少参与方端的计算负担和通信轮数,降低协议复杂度,实现了安全多方计算与云环境的良好结合,使之既能达到多方计算的安全目标,又能充分利用云服务器的优势。本发明安全高效,仅需3轮通信,且支持计算参与方的动态变化。
附图说明
图1为本发明的流程示意图。
具体实施方式
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
如图1所示,该基于同态的云辅助动态通用安全多方计算方法包括以下步骤:
S1、生成参与方的公钥、私钥和计算密钥;
S2、对参与方的数据消息进行加密后得到对应的密文;
S3、生成参与方的盲化参数和盲化密钥;
S4、将参与方的密文、公钥、计算密钥和盲化密钥组合成数据元组并上传至云服务器;
S5、通过需要执行联合计算的参与方向云服务器提出计算需求申请;选取计算函数和包括提出计算需求申请的参与方在内的N个计算参与方;
S6、通过云服务器根据数据元组中的密文、公钥、计算密钥和计算函数得到N个计算参与方联合运算结果的密文;
S7、通过云服务器根据数据元组中的盲化密钥对N个计算参与方联合运算结果的密文进行部分解密,得到部分解密密文并将其发送至提出计算需求申请的计算参与方;
S8、通过提出计算需求申请的计算参与方根据其他计算参与方的盲化参数对部分解密密文进行再解密,得到最终解密值,完成多方计算。
步骤S1的具体方法包括以下子步骤:
S1-1、根据设定的安全参数生成阶数n,剩余类模数q,n次多项式φ(x)∈Z[x],φ(x)=xn+1;并将环Z[x]/<φ(x)>和环Zq[x]/<φ(x)>分别记为
S1-2、生成逐渐减小的模量组值
f(i):=pu(i)+1
获取可逆的公钥标准基量f(i);其中u(i)为从χ中随机选取的公钥基量;ddec为解密电路深度;:=为确定性运算;
S1-3、根据公式
h(i)=pg(i)(f(i))-1
获取公钥组量h(i);g(i)为从χ中随机选取的公钥随机化参数;
S1-4、分别根据公式
pk:=h(0)
生成公钥pk和私钥sk;
S1-5、根据公式
分别获取第一密钥组值
S1-6、根据公式
生成计算密钥ek。
步骤S2的具体方法为:根据公式
c:=hs+pe+m
获取加密后的的密文c;其中m为参与方的数据消息;h为由所有公钥组量h(i)组成的向量;s和e分别为χ上随机选取的两个多项式。
步骤S3的具体方法为:通过第j个参与方从χ上选择与其对应的盲化参数rj,其中盲化参数rj在
根据公式
生成第j个参与方的盲化密钥bkj;其中skj为第j个参与方的私钥。
步骤S5中选取计算函数和包括提出计算需求申请的参与方在内的N个计算参与方的具体方法为:通过提出计算需求申请的参与方指定计算函数和具体的计算参与方个数,或通过服务器根据提出计算需求申请的计算参与方指定的条件下自动选取计算函数和具体的计算参与方个数。
步骤S6的具体方法为:将计算函数拆分为加法运算和乘法运算;要求当模量值
对于加法运算:根据递推公式
获取中间参数
对于乘法运算:判断两密文对应的公钥集合是否存在交集,对于交集中存在的公钥,根据递推公式
获取中间参数
获取中间参数
完成所有加法运算和乘法运算,得到N个计算参与方联合运算结果的密文。
步骤S7中通过云服务器根据数据元组中的盲化密钥对N个计算参与方联合运算结果的密文进行部分解密的具体方法为:根据公式
得到第j个计算参与方获取的部分解密密文
步骤S8的具体方法为:根据公式
获取同模输出uf-j,取同模输出uf-j模p的结果,得到提出计算需求申请的计算参与方的输出,即最终解密值,完成多方计算;其中rj为第j个计算参与方的盲化参数;
在本发明的一个实施例中,可逆元素p的取值为2。参与方是指接入云服务器的终端,计算参与方是具体参与计算的终端,因此参与方的集合包括了计算参与方的集合。本方法在实施前,可以先根据设定的安全参数生成阶数n,n的取值为以2为底整数为幂的指数值。χ满足:是离散高斯分布,标准差是关于n的多项式函数,
在具体实施过程中,本发明支持计算参与方的动态增减,成员更新时无需重启整个协议,计算参与方只需再进行一步解密过程即可完成输出更新,对服务器来说,成员变更前的同态密文也可作为中间计算结果使用,计算量更小;另外,在部分数据更新的情况下,并不需要重启整个协议过程,例如:计算参与方追加消息时,只需将追加数据的密文上传,并添加原始密文与追加密文的同态运算过程,即可进行后续操作。
本发明效率更高,在计算复杂度上,本发明可用算法基于NTRU构建,因此加解密速度快,密文膨胀小,同时利用云服务器的性能优势,通过将同态运算外包,进一步减轻了参与方端的计算负担,使得参与方的加解密复杂度仅和自身数据、期望输出、参与方数量有关;通信复杂度上,协议的交互轮数为3轮,已达到有云参与情况下的最优轮次。
本发明安全性更好,本发明利用盲化密钥有效保证了参与方在部分解密权限授权到云服务器的同时,其私钥的机密性不被破坏,在面对诚实而好奇的敌手或任意参与方合谋攻击时,方案的安全性能够得到证明,且其安全性能够规约到算法的安全性上,有效保护了参与方隐私数据和相关的计算中间值不被其他参与方和云服务器获取。
综上所述,本发明采用多密钥同态算法实现云辅助下的通用安全多方计算,能够有效减少参与方端的计算负担和通信轮数,降低协议复杂度,实现了安全多方计算与云环境的良好结合,使之既能达到多方计算的安全目标,又能充分利用云服务器的优势。本发明安全高效,仅需3轮通信,且支持计算参与方的动态变化。
机译: 基于高效的基于云的安全计算使用同态加密的中位数
机译: 为语音到文本转换提供匿名和安全机制的新颖创新方法。本发明提供了一种通用且可扩展的隐私层,其利用了现有的基于云的自动语音识别(ASR)服务,并且可以适应新兴的语音到文本技术,例如自然语言处理(NLP),语音机器人和其他基于语音的人工语言。智能接口。本发明还允许在不牺牲法律,医学,金融和其他隐私敏感领域的情况下应用最新和最好的语音技术。
机译: 使用同态加密对中位数进行基于云的高效安全计算