一种线性与非线性安全计算方法、存储装置以及智能终端与流程

文档序号:33129567发布日期:2023-02-01 07:22阅读:60来源:国知局
一种线性与非线性安全计算方法、存储装置以及智能终端与流程

1.本发明涉及安全外包计算领域,特别涉及一种线性与非线性安全计算方法、存储装置以及智能终端。


背景技术:

2.云计算以较低的成本为个人或组织提供了极大的灵活性和便利性。计算和存储资源有限的用户可以将大型计算和存储工作外包给云,这促进了外包计算的兴起。安全外包计算技术作为云计算的一种应用方式,已经得到了个人和企业的关注。外包计算技术是硬件条件有限的客户端将需要大量计算资源的任务外包给云服务器来实现计算任务。虽然外包计算在大数据时代拥有广阔的应用前景,但其广泛采用的主要障碍是数据隐私和安全问题。为了防止机密数据泄露,用户通常在将数据外包给云服务器之前对数据进行加密。这带来了一个新的挑战,即如何对加密数据进行算术运算。解决该问题主要用到了同态加密技术,其包括半同态加密技术和全同态加密技术。
3.目前,全同态加密技术(fully homomorphic encryption,fhe)允许在不使用解密密钥的情况下对加密数据进行直接计算且支持加法和乘法两种类型的运算。在全同态加密运算时,每一次同态运算都会给密文增加噪声,过多的噪声积累会导致无法解密密文。虽然引入自举运算可以减少密文中的噪声量,但这种方法面临着高昂的计算成本。
4.半同态加密技术(partially homomorphic encryption,phe)中的同态运算不会给密文增加任何噪声,这保证了结果的准确性,并减少了连续同态运算的计算开销。然而,由于phe只允许一种类型的同态运算,因此支持的外包计算功能有限。
5.采用额外计算或解密服务器的phe,其安全计算方法通过至少两个服务器的交互,将phe的单个同态运算扩展为多个同态运算,其中一个服务器负责加密数据的存储和计算,其他服务器提供解密或部分解密服务。该方法可以有效地实现同态加法和乘法,并且使云服务器能够以明文形式访问中间结果和最终输出,这克服了phe无法基于计算结果做出任何决定的限制。
6.但现有基于同态加密的安全外包计算方案存在以下几个问题:
7.(1)功能上受限,只对自然数进行操作,而不对负整数进行操作。
8.(2)泄漏大量底层数据信息,单个解密服务器的phe会造成单点故障问题。
9.(3)可用性上受限,只支持同态乘法或加法运算,不支持比较、取符号等非线性运算。


技术实现要素:

10.本发明要解决的技术问题是基于现有安全外包计算技术功能受限只能支持对加密自然数的计算,不能支持对加密负整数的计算,泄漏大量底层数据信息和可用性受限的问题,提供一种线性与非线性安全计算方法,该方法采用额外计算或解密服务器的phe进行安全外包计算;为了防止采用单个解密服务器的phe造成的隐私数据泄露问题,本方法采用
两个解密服务器,任意一个服务器都不能单独解密得到隐私数据;为了防止安全外包计算只适用于自然数的限制,本方法将所有正负整数都进行取模操作,再进行计算;为了提高安全外包计算的可用性,本方法提出了支持整数的比较和取符号等非线性安全外包计算协议。
11.为解决上述技术问题,本发明采用的技术方案为:
12.一种线性与非线性安全计算方法,该方法包括以下步骤:
13.步骤1、系统初始化:数据所有者do初始化pailliertd密码系统,并招募两个云服务器cp和csp;其中,云服务器cp为云平台,云服务器csp为计算服务提供商;
14.步骤2、数据所有者do加密用于安全外包计算的数据:数据所有者do调用pailliertd密码系统的加密算法enc加密m,其加密过程在形式上表示为:
[0015][0016]
其中,pk为pailliertd密码系统的公钥,m是用于安全外包计算的隐私数据;
[0017]
随后,数据所有者do将加密后的数据发送给云服务器cp;
[0018]
步骤3、安全外包乘法运算smul:云服务器cp收到数据所有者do发送的两个加密数据和后,计算得出x*y的加密结果其运算过程在形式上表示为:
[0019][0020]
其中,x和y代表未经加密的隐私数据;
[0021]
随后,根据安全外包计算的具体需求将x*y的加密结果返回给数据所有者do或留作进一步计算;
[0022]
步骤4、安全外包比较运算scmp:云服务器cp收到数据所有者do发送的两个加密数据和后,计算x和y之间大小比较结果u的加密值其运算过程在形式上表示为:
[0023][0024]
其中,若u=0,则代表着x≥y;若u=1,则代表着x<y;
[0025]
随后,根据安全外包计算的具体需求将x和y之间大小比较结果u的加密值返回给数据所有者do或留作进一步计算;
[0026]
步骤5、安全外包符号位获取运算ssba:云服务器cp收到数据所有者do发送的加密数据后,计算得出x的符号位s
x
和绝对值x
*
加密后的结果和其运算过程在形式上表示为:
[0027][0028]
其中,若s
x
=0,则代表x≥0,若s
x
=1,则代表x<0;x
*
代表x的绝对值,即x
*
=|x|;
[0029]
随后,根据安全外包计算的具体需求将计算得出的符号位加密值和绝对值加密值返回给数据所有者do或留作进一步计算;
[0030]
步骤6、安全外包除法运算sdiv:云服务器cp收到数据所有者do发送来的两个加密数据和后,计算得出x除以y的商q和余数e经加密后的结果和其运算过程在
形式上表示为:
[0031][0032]
其中,q是商,e是余数,满足x=q*y+e;
[0033]
随后,根据安全外包计算的具体需求将加密后的商和余数返回给数据所有者do或留作进一步计算;
[0034]
步骤7、得到安全外包计算最终结果:云服务器cp收到数据所有者do发送的数据,根据安全外包计算的具体需求进行一系列smul,scmp,ssba和sdiv运算,最后得到的加密结果返回给数据所有者do,数据所有者do用其私钥sk解密出安全外包计算最终的结果;数据所有者do调用解密算法dec解密得到隐私数据m,其解密过程在形式上表示为:其中,为加密后的数据。
[0035]
优选地,在所述步骤1中,为了保护数据所有者do的隐私,还包括:数据所有者do初始化pailliertd密码系统的公私钥对{pk,sk},并将私钥sk分为sk1和sk2;数据所有者do将{pk,sk1}发送给云服务器cp,将{pk,sk2}发送给云服务器csp;
[0036]
所述公钥pk=(g,n),其中n是值为p*q的正整数,p和q为比特长度相等的大素数,g是值为n+1的正整数;私钥sk=(λ,μ),其中λ为p-1和q-1的最小公倍数,即λ=p*q-p-q+1,μ是λ模n的逆元,即μ=λ-1
(modn);sk1和sk2满足sk1+sk2=0(modλ),sk1+sk2=1(modn);sk1是随机正整数,由中国剩余定理得出sk2=λ*μ+η*λ*n-sk1,其中η是非负整数。
[0037]
优选地,在所述步骤2中,所述加密算法enc的加密模型为:
[0038]
enc(pk,m)=gm*rn(modn2),
[0039]
其中,r为小于n的随机正整数。
[0040]
优选地,在所述步骤2中,隐私数据m∈[-2
l
,2
l
],且l远小于n;当m≥0时,m被加密为当m<0时,m被加密为其中,l表示数据域的大小。
[0041]
优选地,在所述步骤3中,smul运算过程包含以下三个步骤:
[0042]
(1)云服务器cp选取随机数r1和r2,计算x1←
pdec(sk1,x)和y1←
pdec(sk1,y),将《(x,x1),(y,y1)》发送给云服务器csp;其中,x和y分别为x+r1和y+r2的加密值,x1和y1分别为x和y的部分解密值;
[0043]
(2)csp计算x2←
pdec(sk2,x),y2←
pdec(sk2,y),x+r1←
tdec(x1,x2)和y+r2←
tdec(y1,y2);将发送给云服务器cp;其中,x2和y2分别为x和y的部分解密值;
[0044]
(3)cp计算和最终得到
[0045]
其中,部分解密函数pdec(sk1,x)通过拆分后的私钥sk1部分解密密文x,具体公式为完全解密函数tdec(y1,y2)利用部分解密结果y1和y2恢复秘密值,具体公式为tdec(y1,y2)=l(y1*y2modn2),其中l(x)为计算tdec(y1,y2)所需函数,具
体公式为
[0046]
优选地,在所述步骤4中,scmp运算过程包含以下三个步骤:
[0047]
(1)云服务器cp选取比特长度为σ的随机数r1,然后选取满足且的随机数r2;其中,σ为安全参数;随机选取π∈{0,1};当π=0时,云服务器cp计算当π=1时,云服务器cp计算然后计算d1←
pdec(sk1,d),发送《d,d1》给云服务器csp;
[0048]
(2)云服务器csp计算d2←
pdec(sk2,d)和d

tdec(d1,d2);若csp选取u0=0,计算u0的加密值,即否则csp选取u0=1,计算u0的加密值,即发送给云服务器cp;
[0049]
(3)若π=0,则最终结果否则
[0050]
优选地,在所述步骤5中,ssba运算过程包含以下四个步骤:
[0051]
(1)云服务器cp计算
[0052]
(2)云服务器cp和csp共同计算
[0053]
(3)云服务器cp计算和
[0054]
(4)云服务器cp和csp共同计算此时云服务器cp得到最终结果
[0055]
优选地,在所述步骤6中,sdiv运算过程包含以下几个步骤:
[0056]
(1)云服务器cp计算和
[0057]
(2)令i从l到0循环(3)-(7)步,其中l是输入的范围,满足x、y∈[-2
l
,2
l
],i∈{l,l-1,l-2,...,0};
[0058]
(3)云服务器cp使用来存储协议循环时每一轮产生的即cp计算
[0059]
(4)云服务器cp和csp共同计算
[0060]
(5)云服务器cp计算和其中,代表着第(4)步计算scmp的相反结果,即若u=0,则u'=1,若u=1,则u'=0;
[0061]
(6)云服务器cp和csp共同计算
[0062]
(7)云服务器cp计算
[0063]
(8)循环结束后云服务器cp得到最终结果和
[0064]
优选地,在所述步骤7中,所述解密算法dec的解密模型为:
[0065][0066]
其中,l(x)为计算所需函数,具体公式为
[0067]
本发明还提供了一种存储装置,该存储装置中存储着相关指令,云服务器cp和csp均可使用存储装置中的指令来执行如上述任一项所述的线性与非线性安全计算方法中的过程步骤。
[0068]
本发明还提供了一种智能终端,该智能终端包括如上述所述的存储装置和用于执行相关指令的设备,所述设备能加载并执行存储装置中的指令来满足如上述任一所述的线性与非线性安全计算方法中的步骤操作。
[0069]
与现有技术相比,本发明取得以下有益效果:
[0070]
(1)本发明能解决安全外包计算泄露隐私数据的问题,具体通过采用额外计算或解密服务器的phe安全计算方法将解密密钥分为两份,任意单独的密钥都不能正确解密密文,由此解决单一服务器得到未拆分的解密密钥导致的单点故障问题。
[0071]
(2)本发明能解决安全外包计算功能性受限的问题,通过采用整数取模的方式将负整数表示为与其对应的正整数形式,由此将安全外包计算的明文空间由正整数拓展到整数。
[0072]
(3)本发明能解决安全外包计算可用性的问题,通过提出一系列安全计算协议如安全外包乘法运算smul、安全外包比较运算scmp、安全外包符号位获取运算ssba和安全外包除法运算sdiv增加密文域上的计算方法,由此扩大安全外包计算的应用范围。
附图说明
[0073]
图1为本发明的一种线性与非线性安全计算方法的框架图;
[0074]
图2为本发明的一种线性与非线性安全计算方法的流程图。
具体实施方式
[0075]
下面结合附图和具体实施对本发明作进一步详细的说明。
[0076]
如图1和图2所示,本发明提供了一种线性与非线性安全计算方法,在不泄露隐私数据的情况下,在整数域上通过一系列安全外包计算方法实现安全外包计算;为实现整数域上的线性与非线性安全计算,结合附图1和附图2,本方法涉及数据所有者do,两个云服务器cp和csp等实体;本发明提供的一种线性与非线性安全计算方法具体包括如下步骤:
[0077]
步骤1、系统初始化:数据所有者do初始化pailliertd密码系统,并招募两个云服务器cp和csp;其中pailiertd密码系统中公钥pk=(g=36,n=35),私钥sk=(λ=24,μ=19);拆分后的私钥sk1=200,sk2=256,然后数据所有者do将{pk,sk1}发送给云服务器cp,将{pk,sk2}发送给云服务器csp;所述数据所有者do发布具体的安全计算任务如计算-1*1,比较1和2大小,求1的符号位和绝对值以及求3
÷
2的商和余数等。
[0078]
步骤2、数据所有者do加密用于安全外包计算的数据:数据所有者do调用pailliertd密码系统的加密算法enc加密要进行运算的数据,即liertd密码系统的加密算法enc加密要进行运算的数据,即和随后,数据所有者do将加密后的数据发送给云服务器cp。
[0079]
步骤3、安全外包乘法运算smul:云服务器cp收到数据所有者do发送来的两个加密数据和后,云服务器cp和csp计算得出x*y经过加密后的结果其运算过程如下:
[0080]
(1)云服务器cp选取随机数r1=2和r2=3,计算如下式子:
[0081][0082][0083]
将《(639,676),(359,151)》发送给云服务器csp。
[0084]
(2)云服务器csp计算如下式子:
[0085][0086][0087]
将发送给cp。
[0088]
(3)cp计算如下式子:
[0089]
和最终得到
[0090]
随后,没有进一步计算需求,且此时为最终结果;于是将x*y=-1*1经过加密后的结果返回给数据所有者do。
[0091]
步骤4、安全外包比较运算scmp:云服务器cp收到数据所有者do发送的两个加密数据和后,计算-1和1之间大小比较结果u=1的加密值其运算过程如下:
[0092]
(1)云服务器cp选取随机数r1=3,r2=16并从{0,1}中随机选取π=0。cp计算然后计算d1←
pdec(sk1,d)=926,发送《956,926》给云服务器csp;
[0093]
(2)云服务器csp计算d2←
pdec(sk2,d)=781和d

tdec(d1,d2)=13;此时计算发送给云服务器cp;
[0094]
(3)因为π=0,则最终结果
[0095]
随后,没有进一步计算需求,且此时为最终结果;于是将u=1经过加密后的结果返回给数据所有者do。
[0096]
步骤5、安全外包符号位获取运算ssba:云服务器cp收到数据所有者do发送的加密
数据后,计算得出1的符号位s
x
和绝对值x
*
加密后的结果和其运算过程如下:
[0097]
(1)云服务器cp计算
[0098]
(2)云服务器cp和csp共同计算
[0099]
(3)云服务器cp计算和
[0100]
(4)云服务器cp和csp共同计算此时cp得到最终结果
[0101]
随后,没有进一步计算需求,且此时为最终结果;于是将结果返回给数据所有者do。
[0102]
步骤6、安全外包除法运算sdiv:云服务器cp收到数据所有者do发送来的两个加密数据和后,计算得出3除以2的商q和余数e经加密后的结果和其运算过程如下:
[0103]
(1)云服务器cp计算和
[0104]
(2)令i从l=2到0循环以下步骤:
[0105]
(3)第一次循环i=2。云服务器cp计算云服务器cp和csp共同计算云服务器cp计算和云服务器cp和csp共同计算云服务器cp计算
[0106]
(4)第二次循环i=1。云服务器cp计算云服务器cp和csp共同计算云服务器cp计算和云服务器cp和csp共同计算云服务器cp计算
[0107]
(4)第三次循环i=0。云服务器cp计算云服务器cp和csp共同计算云服务器cp计算和云服务器cp和csp共同计算云服务器cp计算
[0108]
(5)循环结束后云服务器cp得到最终结果和
[0109]
随后,没有进一步计算需求,且此时为最终结果;于是将结果
返回给数据所有者do。
[0110]
步骤7、得到安全外包计算最终结果:云服务器cp收到数据所有者do发送的数据,根据具体问题进行一系列smul,scmp,ssba和sdiv运算,最后得到的结果返回给数据所有者do,数据所有者do用其私钥sk就能得到安全外包计算最终的结果。在本实施例中,具体的问题为:计算-1*1的结果,比较1和2的大小,求出1的符号和绝对值,求出3
÷
2的商和余数。
[0111]
计算-1*1的结果,数据所有者do根据私钥sk解密613,具体式子如下:由于所以其代表的是负数,将其进一步还原为34-n=-1。即-1*1的最终结果为-1。
[0112]
比较1和2的大小,数据所有者do根据私钥sk解密648。dec(sk,613)=1,结果为1代表着x<y,即1<2。
[0113]
求出1的符号和绝对值,数据所有者do根据私钥sk解密《18,648》。dec(sk,18)=0,dec(sk,648)=1。所以0代表着x≥0,1代表着x绝对值为1,即1≥0,1绝对值为1。
[0114]
求出3
÷
2的商和余数,数据所有者do根据私钥sk解密《648,648》。dec(sk,648)=1。第一个1代表了商q为1,第二个1代表了余数e为1,即3=2*1+1。
[0115]
本发明还提供一种存储装置,该存储装置中存储着相关指令,云服务器cp和csp都能使用存储装置中的指令来执行上述任一项所述的线性与非线性安全计算方法中的过程步骤。
[0116]
本发明提供一种智能终端,该终端包含前述的存储装置和用于执行相关指令的设备,所述设备能加载并执行存储装置中的指令来满足上述任一项所述的线性与非线性安全计算方法中的过程步骤。
[0117]
与现有技术相比,本发明取得以下有益效果:
[0118]
(1)本发明能解决安全外包计算泄露隐私数据的问题,具体通过采用额外计算或解密服务器的phe安全计算方法将解密密钥分为两份,任意单独的密钥都不能正确解密密文,由此解决单一服务器得到未拆分的解密密钥导致的单点故障问题。
[0119]
(2)本发明能解决安全外包计算功能性受限的问题,通过采用整数取模的方式将负整数表示为与其对应的正整数形式,由此将安全外包计算的明文空间由正整数拓展到整数。
[0120]
(3)本发明能解决安全外包计算可用性的问题,通过提出一系列安全计算协议如安全外包乘法运算smul、安全外包比较运算scmp、安全外包符号位获取运算ssba和安全外包除法运算sdiv增加密文域上的计算方法,由此扩大安全外包计算的应用范围。
[0121]
根据上述说明书的揭示和教导,本发明所属领域的技术人员还可以对上述实施方式进行变更和修改。因此,本发明并不局限于上面揭示和描述的具体实施方式,对发明的一些修改和变更也应当落入本发明的权利要求的保护范围内。此外,尽管本说明书中使用了一些特定的术语,但这些术语只是为了方便说明,并不对本发明构成任何限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1