CN115664631A - 一种线性与非线性安全计算方法、存储装置以及智能终端 - Google Patents

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

Info

Publication number
CN115664631A
CN115664631A CN202211337454.9A CN202211337454A CN115664631A CN 115664631 A CN115664631 A CN 115664631A CN 202211337454 A CN202211337454 A CN 202211337454A CN 115664631 A CN115664631 A CN 115664631A
Authority
CN
China
Prior art keywords
cloud server
data
calculation
csp
computing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211337454.9A
Other languages
English (en)
Inventor
赵搏文
祝遥
肖阳
裴庆祺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Lianrong Information Technology Co ltd
Guangzhou Institute of Technology of Xidian University
Original Assignee
Guangzhou Lianrong Information Technology Co ltd
Guangzhou Institute of Technology of Xidian University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Lianrong Information Technology Co ltd, Guangzhou Institute of Technology of Xidian University filed Critical Guangzhou Lianrong Information Technology Co ltd
Priority to CN202211337454.9A priority Critical patent/CN115664631A/zh
Publication of CN115664631A publication Critical patent/CN115664631A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明公开了一种线性与非线性安全计算方法、存储装置以及智能终端,属于安全外包计算领域,本发明以云平台CP为中心,数据所有者DO在CP上发布相应的安全外包计算任务,然后CP招募计算服务提供商CSP,利用其强大算力来实现安全外包计算任务。在本方法中,数据所有者DO在加密其隐私数据后,根据具体计算需求向云平台CP发布不同的外包计算任务,然后CP和计算服务提供商CSP调用不同的安全外包计算方法得到加密后的最终结果并将其发送给DO,DO收到加密的最终结果后可用其私钥解密,解决了现有安全外包计算技术功能受限只能支持对加密自然数的计算,不能支持对加密负整数的计算,泄漏大量底层数据信息和可用性受限仅支持加法或乘法不支持非线性运算的问题。

Description

一种线性与非线性安全计算方法、存储装置以及智能终端
技术领域
本发明涉及安全外包计算领域,特别涉及一种线性与非线性安全计算方法、存储装置以及智能终端。
背景技术
云计算以较低的成本为个人或组织提供了极大的灵活性和便利性。计算和存储资源有限的用户可以将大型计算和存储工作外包给云,这促进了外包计算的兴起。安全外包计算技术作为云计算的一种应用方式,已经得到了个人和企业的关注。外包计算技术是硬件条件有限的客户端将需要大量计算资源的任务外包给云服务器来实现计算任务。虽然外包计算在大数据时代拥有广阔的应用前景,但其广泛采用的主要障碍是数据隐私和安全问题。为了防止机密数据泄露,用户通常在将数据外包给云服务器之前对数据进行加密。这带来了一个新的挑战,即如何对加密数据进行算术运算。解决该问题主要用到了同态加密技术,其包括半同态加密技术和全同态加密技术。
目前,全同态加密技术(Fully homomorphic encryption,FHE)允许在不使用解密密钥的情况下对加密数据进行直接计算且支持加法和乘法两种类型的运算。在全同态加密运算时,每一次同态运算都会给密文增加噪声,过多的噪声积累会导致无法解密密文。虽然引入自举运算可以减少密文中的噪声量,但这种方法面临着高昂的计算成本。
半同态加密技术(Partially homomorphic encryption,PHE)中的同态运算不会给密文增加任何噪声,这保证了结果的准确性,并减少了连续同态运算的计算开销。然而,由于PHE只允许一种类型的同态运算,因此支持的外包计算功能有限。
采用额外计算或解密服务器的PHE,其安全计算方法通过至少两个服务器的交互,将PHE的单个同态运算扩展为多个同态运算,其中一个服务器负责加密数据的存储和计算,其他服务器提供解密或部分解密服务。该方法可以有效地实现同态加法和乘法,并且使云服务器能够以明文形式访问中间结果和最终输出,这克服了PHE无法基于计算结果做出任何决定的限制。
但现有基于同态加密的安全外包计算方案存在以下几个问题:
(1)功能上受限,只对自然数进行操作,而不对负整数进行操作。
(2)泄漏大量底层数据信息,单个解密服务器的PHE会造成单点故障问题。
(3)可用性上受限,只支持同态乘法或加法运算,不支持比较、取符号等非线性运算。
发明内容
本发明要解决的技术问题是基于现有安全外包计算技术功能受限只能支持对加密自然数的计算,不能支持对加密负整数的计算,泄漏大量底层数据信息和可用性受限的问题,提供一种线性与非线性安全计算方法,该方法采用额外计算或解密服务器的PHE进行安全外包计算;为了防止采用单个解密服务器的PHE造成的隐私数据泄露问题,本方法采用两个解密服务器,任意一个服务器都不能单独解密得到隐私数据;为了防止安全外包计算只适用于自然数的限制,本方法将所有正负整数都进行取模操作,再进行计算;为了提高安全外包计算的可用性,本方法提出了支持整数的比较和取符号等非线性安全外包计算协议。
为解决上述技术问题,本发明采用的技术方案为:
一种线性与非线性安全计算方法,该方法包括以下步骤:
步骤1、系统初始化:数据所有者DO初始化PaillierTD密码系统,并招募两个云服务器CP和CSP;其中,云服务器CP为云平台,云服务器CSP为计算服务提供商;
步骤2、数据所有者DO加密用于安全外包计算的数据:数据所有者DO调用PaillierTD密码系统的加密算法Enc加密m,其加密过程在形式上表示为:
Figure BDA0003915030530000021
其中,pk为PaillierTD密码系统的公钥,m是用于安全外包计算的隐私数据;
随后,数据所有者DO将加密后的数据
Figure BDA0003915030530000022
发送给云服务器CP;
步骤3、安全外包乘法运算SMUL:云服务器CP收到数据所有者DO发送的两个加密数据
Figure BDA0003915030530000031
Figure BDA0003915030530000032
后,计算得出x*y的加密结果
Figure BDA0003915030530000033
其运算过程在形式上表示为:
Figure BDA0003915030530000034
其中,x和y代表未经加密的隐私数据;
随后,根据安全外包计算的具体需求将x*y的加密结果
Figure BDA0003915030530000035
返回给数据所有者DO或留作进一步计算;
步骤4、安全外包比较运算SCMP:云服务器CP收到数据所有者DO发送的两个加密数据
Figure BDA0003915030530000036
Figure BDA0003915030530000037
后,计算x和y之间大小比较结果u的加密值
Figure BDA0003915030530000038
其运算过程在形式上表示为:
Figure BDA0003915030530000039
其中,若u=0,则代表着x≥y;若u=1,则代表着x<y;
随后,根据安全外包计算的具体需求将x和y之间大小比较结果u的加密值
Figure BDA00039150305300000310
返回给数据所有者DO或留作进一步计算;
步骤5、安全外包符号位获取运算SSBA:云服务器CP收到数据所有者DO发送的加密数据
Figure BDA00039150305300000311
后,计算得出x的符号位sx和绝对值x*加密后的结果
Figure BDA00039150305300000312
Figure BDA00039150305300000313
其运算过程在形式上表示为:
Figure BDA00039150305300000314
其中,若sx=0,则代表x≥0,若sx=1,则代表x<0;x*代表x的绝对值,即x*=|x|;
随后,根据安全外包计算的具体需求将计算得出的符号位加密值
Figure BDA00039150305300000315
和绝对值加密值
Figure BDA00039150305300000316
返回给数据所有者DO或留作进一步计算;
步骤6、安全外包除法运算SDIV:云服务器CP收到数据所有者DO发送来的两个加密数据
Figure BDA00039150305300000317
Figure BDA00039150305300000318
后,计算得出x除以y的商q和余数e经加密后的结果
Figure BDA00039150305300000319
Figure BDA00039150305300000320
其运算过程在形式上表示为:
Figure BDA00039150305300000321
其中,q是商,e是余数,满足x=q*y+e;
随后,根据安全外包计算的具体需求将加密后的商
Figure BDA0003915030530000041
和余数
Figure BDA0003915030530000042
返回给数据所有者DO或留作进一步计算;
步骤7、得到安全外包计算最终结果:云服务器CP收到数据所有者DO发送的数据,根据安全外包计算的具体需求进行一系列SMUL,SCMP,SSBA和SDIV运算,最后得到的加密结果返回给数据所有者DO,数据所有者DO用其私钥sk解密出安全外包计算最终的结果;数据所有者DO调用解密算法Dec解密
Figure BDA0003915030530000043
得到隐私数据m,其解密过程在形式上表示为:
Figure BDA0003915030530000044
其中,
Figure BDA0003915030530000045
为加密后的数据。
优选地,在所述步骤1中,为了保护数据所有者DO的隐私,还包括:数据所有者DO初始化PaillierTD密码系统的公私钥对{pk,sk},并将私钥sk分为sk1和sk2;数据所有者DO将{pk,sk1}发送给云服务器CP,将{pk,sk2}发送给云服务器CSP;
所述公钥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,其中η是非负整数。
优选地,在所述步骤2中,所述加密算法Enc的加密模型为:
Enc(pk,m)=gm*rN(modN2),
其中,r为小于N的随机正整数。
优选地,在所述步骤2中,隐私数据m∈[-2l,2l],且l远小于N;当m≥0时,m被加密为
Figure BDA0003915030530000046
当m<0时,m被加密为
Figure BDA0003915030530000047
其中,l表示数据域的大小。
优选地,在所述步骤3中,SMUL运算过程包含以下三个步骤:
(1)云服务器CP选取随机数r1和r2,计算
Figure BDA0003915030530000048
X1←PDec(sk1,X)和Y1←PDec(sk1,Y),将<(X,X1),(Y,Y1)>发送给云服务器CSP;其中,X和Y分别为x+r1和y+r2的加密值,X1和Y1分别为X和Y的部分解密值;
(2)CSP计算X2←PDec(sk2,X),Y2←PDec(sk2,Y),x+r1←TDec(X1,X2)和y+r2←TDec(Y1,Y2);将
Figure BDA0003915030530000051
发送给云服务器CP;其中,X2和Y2分别为X和Y的部分解密值;
(3)CP计算
Figure BDA0003915030530000052
Figure BDA0003915030530000053
最终得到
Figure BDA0003915030530000054
其中,部分解密函数PDec(sk1,X)通过拆分后的私钥sk1部分解密密文X,具体公式为
Figure BDA0003915030530000055
完全解密函数TDec(Y1,Y2)利用部分解密结果Y1和Y2恢复秘密值,具体公式为TDec(Y1,Y2)=L(Y1*Y2modN2),其中L(x)为计算TDec(Y1,Y2)所需函数,具体公式为
Figure BDA0003915030530000056
优选地,在所述步骤4中,SCMP运算过程包含以下三个步骤:
(1)云服务器CP选取比特长度为σ的随机数r1,然后选取满足
Figure BDA0003915030530000057
Figure BDA0003915030530000058
的随机数r2;其中,σ为安全参数;随机选取π∈{0,1};当π=0时,云服务器CP计算
Figure BDA0003915030530000059
当π=1时,云服务器CP计算
Figure BDA00039150305300000510
然后计算D1←PDec(sk1,D),发送<D,D1>给云服务器CSP;
(2)云服务器CSP计算D2←PDec(sk2,D)和d←TDec(D1,D2);若
Figure BDA00039150305300000511
CSP选取u0=0,计算u0的加密值,即
Figure BDA00039150305300000512
否则CSP选取u0=1,计算u0的加密值,即
Figure BDA00039150305300000513
发送
Figure BDA00039150305300000514
给云服务器CP;
(3)若π=0,则最终结果
Figure BDA00039150305300000515
否则
Figure BDA00039150305300000516
优选地,在所述步骤5中,SSBA运算过程包含以下四个步骤:
(1)云服务器CP计算
Figure BDA00039150305300000517
(2)云服务器CP和CSP共同计算
Figure BDA00039150305300000518
(3)云服务器CP计算
Figure BDA00039150305300000519
Figure BDA00039150305300000520
(4)云服务器CP和CSP共同计算
Figure BDA00039150305300000521
此时云服务器CP得到最终结果
Figure BDA0003915030530000061
优选地,在所述步骤6中,SDIV运算过程包含以下几个步骤:
(1)云服务器CP计算
Figure BDA0003915030530000062
Figure BDA0003915030530000063
(2)令i从l到0循环(3)-(7)步,其中l是输入的范围,满足x、y∈[-2l,2l],i∈{l,l-1,l-2,...,0};
(3)云服务器CP使用
Figure BDA00039150305300000617
来存储协议循环时每一轮产生的
Figure BDA0003915030530000064
即CP计算
Figure BDA0003915030530000065
(4)云服务器CP和CSP共同计算
Figure BDA0003915030530000066
(5)云服务器CP计算
Figure BDA0003915030530000067
Figure BDA0003915030530000068
其中,
Figure BDA0003915030530000069
代表着第(4)步计算SCMP的相反结果,即若u=0,则u'=1,若u=1,则u'=0;
(6)云服务器CP和CSP共同计算
Figure BDA00039150305300000610
(7)云服务器CP计算
Figure BDA00039150305300000611
(8)循环结束后云服务器CP得到最终结果
Figure BDA00039150305300000612
Figure BDA00039150305300000613
优选地,在所述步骤7中,所述解密算法Dec的解密模型为:
Figure BDA00039150305300000614
其中,L(x)为计算
Figure BDA00039150305300000615
所需函数,具体公式为
Figure BDA00039150305300000616
本发明还提供了一种存储装置,该存储装置中存储着相关指令,云服务器CP和CSP均可使用存储装置中的指令来执行如上述任一项所述的线性与非线性安全计算方法中的过程步骤。
本发明还提供了一种智能终端,该智能终端包括如上述所述的存储装置和用于执行相关指令的设备,所述设备能加载并执行存储装置中的指令来满足如上述任一所述的线性与非线性安全计算方法中的步骤操作。
与现有技术相比,本发明取得以下有益效果:
(1)本发明能解决安全外包计算泄露隐私数据的问题,具体通过采用额外计算或解密服务器的PHE安全计算方法将解密密钥分为两份,任意单独的密钥都不能正确解密密文,由此解决单一服务器得到未拆分的解密密钥导致的单点故障问题。
(2)本发明能解决安全外包计算功能性受限的问题,通过采用整数取模的方式将负整数表示为与其对应的正整数形式,由此将安全外包计算的明文空间由正整数拓展到整数。
(3)本发明能解决安全外包计算可用性的问题,通过提出一系列安全计算协议如安全外包乘法运算SMUL、安全外包比较运算SCMP、安全外包符号位获取运算SSBA和安全外包除法运算SDIV增加密文域上的计算方法,由此扩大安全外包计算的应用范围。
附图说明
图1为本发明的一种线性与非线性安全计算方法的框架图;
图2为本发明的一种线性与非线性安全计算方法的流程图。
具体实施方式
下面结合附图和具体实施对本发明作进一步详细的说明。
如图1和图2所示,本发明提供了一种线性与非线性安全计算方法,在不泄露隐私数据的情况下,在整数域上通过一系列安全外包计算方法实现安全外包计算;为实现整数域上的线性与非线性安全计算,结合附图1和附图2,本方法涉及数据所有者DO,两个云服务器CP和CSP等实体;本发明提供的一种线性与非线性安全计算方法具体包括如下步骤:
步骤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的商和余数等。
步骤2、数据所有者DO加密用于安全外包计算的数据:数据所有者DO调用PaillierTD密码系统的加密算法Enc加密要进行运算的数据,即
Figure BDA0003915030530000071
Figure BDA0003915030530000081
Figure BDA0003915030530000082
随后,数据所有者DO将加密后的数据发送给云服务器CP。
步骤3、安全外包乘法运算SMUL:云服务器CP收到数据所有者DO发送来的两个加密数据
Figure BDA0003915030530000083
Figure BDA0003915030530000084
后,云服务器CP和CSP计算得出x*y经过加密后的结果
Figure BDA0003915030530000085
其运算过程如下:
(1)云服务器CP选取随机数r1=2和r2=3,计算如下式子:
Figure BDA0003915030530000086
Figure BDA0003915030530000087
将<(639,676),(359,151)>发送给云服务器CSP。
(2)云服务器CSP计算如下式子:
Figure BDA0003915030530000088
Figure BDA0003915030530000089
Figure BDA00039150305300000810
发送给CP。
(3)CP计算如下式子:
Figure BDA00039150305300000811
Figure BDA00039150305300000812
最终得到
Figure BDA00039150305300000813
随后,没有进一步计算需求,且此时为最终结果;于是将x*y=-1*1经过加密后的结果
Figure BDA00039150305300000814
返回给数据所有者DO。
步骤4、安全外包比较运算SCMP:云服务器CP收到数据所有者DO发送的两个加密数据
Figure BDA00039150305300000815
Figure BDA00039150305300000816
后,计算-1和1之间大小比较结果u=1的加密值
Figure BDA00039150305300000817
其运算过程如下:
(1)云服务器CP选取随机数r1=3,r2=16并从{0,1}中随机选取π=0。CP计算
Figure BDA00039150305300000818
然后计算D1←PDec(sk1,D)=926,发送<956,926>给云服务器CSP;
(2)云服务器CSP计算D2←PDec(sk2,D)=781和d←TDec(D1,D2)=13;此时
Figure BDA0003915030530000091
计算
Figure BDA0003915030530000092
发送
Figure BDA0003915030530000093
给云服务器CP;
(3)因为π=0,则最终结果
Figure BDA0003915030530000094
随后,没有进一步计算需求,且此时为最终结果;于是将u=1经过加密后的结果
Figure BDA0003915030530000095
返回给数据所有者DO。
步骤5、安全外包符号位获取运算SSBA:云服务器CP收到数据所有者DO发送的加密数据
Figure BDA0003915030530000096
后,计算得出1的符号位sx和绝对值x*加密后的结果
Figure BDA0003915030530000097
Figure BDA0003915030530000098
其运算过程如下:
(1)云服务器CP计算
Figure BDA0003915030530000099
(2)云服务器CP和CSP共同计算
Figure BDA00039150305300000910
(3)云服务器CP计算
Figure BDA00039150305300000911
Figure BDA00039150305300000912
(4)云服务器CP和CSP共同计算
Figure BDA00039150305300000913
此时CP得到最终结果
Figure BDA00039150305300000914
随后,没有进一步计算需求,且此时为最终结果;于是将结果
Figure BDA00039150305300000915
返回给数据所有者DO。
步骤6、安全外包除法运算SDIV:云服务器CP收到数据所有者DO发送来的两个加密数据
Figure BDA00039150305300000916
Figure BDA00039150305300000917
后,计算得出3除以2的商q和余数e经加密后的结果
Figure BDA00039150305300000918
Figure BDA00039150305300000919
其运算过程如下:
(1)云服务器CP计算
Figure BDA00039150305300000920
Figure BDA00039150305300000921
(2)令i从l=2到0循环以下步骤:
(3)第一次循环i=2。云服务器CP计算
Figure BDA00039150305300000922
云服务器CP和CSP共同计算
Figure BDA00039150305300000923
云服务器CP计算
Figure BDA0003915030530000101
Figure BDA0003915030530000102
云服务器CP和CSP共同计算
Figure BDA0003915030530000103
云服务器CP计算
Figure BDA0003915030530000104
(4)第二次循环i=1。云服务器CP计算
Figure BDA0003915030530000105
云服务器CP和CSP共同计算
Figure BDA0003915030530000106
云服务器CP计算
Figure BDA0003915030530000107
Figure BDA0003915030530000108
云服务器CP和CSP共同计算
Figure BDA0003915030530000109
云服务器CP计算
Figure BDA00039150305300001010
(4)第三次循环i=0。云服务器CP计算
Figure BDA00039150305300001011
云服务器CP和CSP共同计算
Figure BDA00039150305300001012
云服务器CP计算
Figure BDA00039150305300001013
Figure BDA00039150305300001014
云服务器CP和CSP共同计算
Figure BDA00039150305300001015
云服务器CP计算
Figure BDA00039150305300001016
(5)循环结束后云服务器CP得到最终结果
Figure BDA00039150305300001017
Figure BDA00039150305300001018
随后,没有进一步计算需求,且此时为最终结果;于是将结果
Figure BDA00039150305300001019
返回给数据所有者DO。
步骤7、得到安全外包计算最终结果:云服务器CP收到数据所有者DO发送的数据,根据具体问题进行一系列SMUL,SCMP,SSBA和SDIV运算,最后得到的结果返回给数据所有者DO,数据所有者DO用其私钥sk就能得到安全外包计算最终的结果。在本实施例中,具体的问题为:计算-1*1的结果,比较1和2的大小,求出1的符号和绝对值,求出3÷2的商和余数。
计算-1*1的结果,数据所有者DO根据私钥sk解密613,具体式子如下:
Figure BDA00039150305300001020
由于
Figure BDA00039150305300001021
所以其代表的是负数,将其进一步还原为34-N=-1。即-1*1的最终结果为-1。
比较1和2的大小,数据所有者DO根据私钥sk解密648。Dec(sk,613)=1,结果为1代表着x<y,即1<2。
求出1的符号和绝对值,数据所有者DO根据私钥sk解密<18,648>。Dec(sk,18)=0,Dec(sk,648)=1。所以0代表着x≥0,1代表着x绝对值为1,即1≥0,1绝对值为1。
求出3÷2的商和余数,数据所有者DO根据私钥sk解密<648,648>。Dec(sk,648)=1。第一个1代表了商q为1,第二个1代表了余数e为1,即3=2*1+1。
本发明还提供一种存储装置,该存储装置中存储着相关指令,云服务器CP和CSP都能使用存储装置中的指令来执行上述任一项所述的线性与非线性安全计算方法中的过程步骤。
本发明提供一种智能终端,该终端包含前述的存储装置和用于执行相关指令的设备,所述设备能加载并执行存储装置中的指令来满足上述任一项所述的线性与非线性安全计算方法中的过程步骤。
与现有技术相比,本发明取得以下有益效果:
(1)本发明能解决安全外包计算泄露隐私数据的问题,具体通过采用额外计算或解密服务器的PHE安全计算方法将解密密钥分为两份,任意单独的密钥都不能正确解密密文,由此解决单一服务器得到未拆分的解密密钥导致的单点故障问题。
(2)本发明能解决安全外包计算功能性受限的问题,通过采用整数取模的方式将负整数表示为与其对应的正整数形式,由此将安全外包计算的明文空间由正整数拓展到整数。
(3)本发明能解决安全外包计算可用性的问题,通过提出一系列安全计算协议如安全外包乘法运算SMUL、安全外包比较运算SCMP、安全外包符号位获取运算SSBA和安全外包除法运算SDIV增加密文域上的计算方法,由此扩大安全外包计算的应用范围。
根据上述说明书的揭示和教导,本发明所属领域的技术人员还可以对上述实施方式进行变更和修改。因此,本发明并不局限于上面揭示和描述的具体实施方式,对发明的一些修改和变更也应当落入本发明的权利要求的保护范围内。此外,尽管本说明书中使用了一些特定的术语,但这些术语只是为了方便说明,并不对本发明构成任何限制。

Claims (10)

1.一种线性与非线性安全计算方法,其特征在于,该方法包括以下步骤:
步骤1、系统初始化:数据所有者DO初始化PaillierTD密码系统,并招募两个云服务器CP和CSP;其中,云服务器CP为云平台,云服务器CSP为计算服务提供商;
步骤2、数据所有者DO加密用于安全外包计算的数据:数据所有者DO调用PaillierTD密码系统的加密算法Enc加密m,其加密过程在形式上表示为:
Figure FDA0003915030520000011
其中,pk为PaillierTD密码系统的公钥,m是用于安全外包计算的隐私数据;
随后,数据所有者DO将加密后的数据
Figure FDA0003915030520000012
发送给云服务器CP;
步骤3、安全外包乘法运算SMUL:云服务器CP收到数据所有者DO发送的两个加密数据
Figure FDA0003915030520000013
Figure FDA0003915030520000014
后,计算得出x*y的加密结果
Figure FDA0003915030520000015
其运算过程在形式上表示为:
Figure FDA0003915030520000016
其中,x和y代表未经加密的隐私数据;
随后,根据安全外包计算的具体需求将x*y的加密结果
Figure FDA0003915030520000017
返回给数据所有者DO或留作进一步计算;
步骤4、安全外包比较运算SCMP:云服务器CP收到数据所有者DO发送的两个加密数据
Figure FDA00039150305200000110
Figure FDA0003915030520000019
后,计算x和y之间大小比较结果u的加密值
Figure FDA0003915030520000018
其运算过程在形式上表示为:
Figure FDA00039150305200000111
其中,若u=0,则代表着x≥y;若u=1,则代表着x<y;
随后,根据安全外包计算的具体需求将x和y之间大小比较结果u的加密值
Figure FDA00039150305200000112
返回给数据所有者DO或留作进一步计算;
步骤5、安全外包符号位获取运算SSBA:云服务器CP收到数据所有者DO发送的加密数据
Figure FDA00039150305200000113
后,计算得出x的符号位sx和绝对值x*加密后的结果
Figure FDA00039150305200000116
Figure FDA00039150305200000114
其运算过程在形式上表示为:
Figure FDA00039150305200000115
其中,若sx=0,则代表x≥0,若sx=1,则代表x<0;x*代表x的绝对值,即x*=|x|;
随后,根据安全外包计算的具体需求将计算得出的符号位加密值
Figure FDA0003915030520000021
和绝对值加密值
Figure FDA0003915030520000022
返回给数据所有者DO或留作进一步计算;
步骤6、安全外包除法运算SDIV:云服务器CP收到数据所有者DO发送来的两个加密数据
Figure FDA0003915030520000023
Figure FDA0003915030520000024
后,计算得出x除以y的商q和余数e经加密后的结果
Figure FDA0003915030520000026
Figure FDA0003915030520000025
其运算过程在形式上表示为:
Figure FDA0003915030520000027
其中,q是商,e是余数,满足x=q*y+e;
随后,根据安全外包计算的具体需求将加密后的商
Figure FDA0003915030520000028
和余数
Figure FDA0003915030520000029
返回给数据所有者DO或留作进一步计算;
步骤7、得到安全外包计算最终结果:云服务器CP收到数据所有者DO发送的数据,根据安全外包计算的具体需求进行一系列SMUL,SCMP,SSBA和SDIV运算,最后得到的加密结果返回给数据所有者DO,数据所有者DO用其私钥sk解密出安全外包计算最终的结果;数据所有者DO调用解密算法Dec解密
Figure FDA00039150305200000210
得到隐私数据m,其解密过程在形式上表示为:
Figure FDA00039150305200000211
其中,
Figure FDA00039150305200000212
为加密后的数据。
2.根据权利要求1所述的线性与非线性安全计算方法,其特征在于,在所述步骤1中,为了保护数据所有者DO的隐私,还包括:数据所有者DO初始化PaillierTD密码系统的公私钥对{pk,sk},并将私钥sk分为sk1和sk2;数据所有者DO将{pk,sk1}发送给云服务器CP,将{pk,sk2}发送给云服务器CSP;
所述公钥pk=(g,N),其中N是值为p*q的正整数,p和q为比特长度相等的大素数,g是值为N+1的正整数;私钥sk=(λ,μ),其中λ为p-1和q-1的最小公倍数,即λ=p*q-p-q+1,μ是λ模N的逆元,即μ=λ-1(mod N);sk1和sk2满足sk1+sk2=0(modλ),sk1+sk2=1(mod N);sk1是随机正整数,由中国剩余定理得出sk2=λ*μ+η*λ*N-sk1,其中η是非负整数。
3.根据权利要求1所述的线性与非线性安全计算方法,其特征在于,
在所述步骤2中,所述加密算法Enc的加密模型为:
Enc(pk,m)=gm*rN(mod N2),
其中,r为小于N的随机正整数;
在所述步骤2中,隐私数据m∈[-2l,2l],且l远小于N;当m≥0时,m被加密为
Figure FDA0003915030520000036
当m<0时,m被加密为
Figure FDA0003915030520000037
其中,l表示数据域的大小。
4.根据权利要求1所述的线性与非线性安全计算方法,其特征在于,在所述步骤3中,SMUL运算过程包含以下三个步骤:
(1)云服务器CP选取随机数r1和r2,计算
Figure FDA0003915030520000038
X1←PDec(sk1,X)和Y1←PDec(sk1,Y),将<(X,X1),(Y,Y1)>发送给云服务器CSP;其中,X和Y分别为x+r1和y+r2的加密值,X1和Y1分别为X和Y的部分解密值;
(2)CSP计算X2←PDec(sk2,X),Y2←PDec(sk2,Y),x+r1←TDec(X1,X2)和y+r2←TDec(Y1,Y2);将
Figure FDA0003915030520000039
发送给云服务器CP;其中,X2和Y2分别为X和Y的部分解密值;
(3)CP计算
Figure FDA0003915030520000031
Figure FDA0003915030520000032
Figure FDA00039150305200000310
最终得到
Figure FDA00039150305200000311
其中,部分解密函数PDec(sk1,X)通过拆分后的私钥sk1部分解密密文X,具体公式为
Figure FDA00039150305200000313
完全解密函数TDec(Y1,Y2)利用部分解密结果Y1和Y2恢复秘密值,具体公式为TDec(Y1,Y2)=L(Y1*Y2mod N2),其中L(x)为计算TDec(Y1,Y2)所需函数,具体公式为
Figure FDA0003915030520000033
5.根据权利要求1所述的线性与非线性安全计算方法,其特征在于,在所述步骤4中,SCMP运算过程包含以下三个步骤:
(1)云服务器CP选取比特长度为σ的随机数r1,然后选取满足
Figure FDA0003915030520000034
Figure FDA0003915030520000035
的随机数r2;其中,σ为安全参数;随机选取π∈{0,1};当π=0时,云服务器CP计算
Figure FDA00039150305200000312
当π=1时,云服务器CP计算
Figure FDA0003915030520000042
然后计算D1←PDec(sk1,D),发送<D,D1>给云服务器CSP;
(2)云服务器CSP计算D2←PDec(sk2,D)和d←TDec(D1,D2);若
Figure FDA0003915030520000041
CSP选取u0=0,计算u0的加密值,即
Figure FDA00039150305200000423
否则CSP选取u0=1,计算u0的加密值,即
Figure FDA0003915030520000043
发送
Figure FDA0003915030520000044
给云服务器CP;
(3)若π=0,则最终结果
Figure FDA0003915030520000045
否则
Figure FDA0003915030520000046
6.根据权利要求1所述的线性与非线性安全计算方法,其特征在于,在所述步骤5中,SSBA运算过程包含以下四个步骤:
(1)云服务器CP计算
Figure FDA0003915030520000047
(2)云服务器CP和CSP共同计算
Figure FDA0003915030520000048
(3)云服务器CP计算
Figure FDA0003915030520000049
Figure FDA00039150305200000410
(4)云服务器CP和CSP共同计算
Figure FDA00039150305200000411
此时云服务器CP得到最终结果
Figure FDA00039150305200000412
7.根据权利要求1所述的线性与非线性安全计算方法,其特征在于,在所述步骤6中,SDIV运算过程包含以下几个步骤:
(1)云服务器CP计算
Figure FDA00039150305200000413
Figure FDA00039150305200000414
(2)令i从l到0循环(3)-(7)步,其中l是输入的范围,满足x、y∈[-2l,2l],i∈{l,l-1,l-2,...,0};
(3)云服务器CP使用
Figure FDA00039150305200000415
来存储协议循环时每一轮产生的
Figure FDA00039150305200000416
即CP计算
Figure FDA00039150305200000417
(4)云服务器CP和CSP共同计算
Figure FDA00039150305200000418
(5)云服务器CP计算
Figure FDA00039150305200000419
Figure FDA00039150305200000420
其中,
Figure FDA00039150305200000421
代表着第(4)步计算SCMP的相反结果,即若u=0,则u′=1,若u=1,则u′=0;
(6)云服务器CP和CSP共同计算
Figure FDA00039150305200000422
(7)云服务器CP计算
Figure FDA0003915030520000052
(8)循环结束后云服务器CP得到最终结果
Figure FDA0003915030520000053
Figure FDA0003915030520000054
8.根据权利要求1所述的线性与非线性安全计算方法,其特征在于,在所述步骤7中,所述解密算法Dec的解密模型为:
Figure FDA0003915030520000055
其中,L(x)为计算
Figure FDA0003915030520000056
所需函数,具体公式为
Figure FDA0003915030520000051
9.一种存储装置,该存储装置中存储着相关指令,其特征在于,云服务器CP和CSP均可使用存储装置中的指令来执行如权利要求1-8任一项所述的线性与非线性安全计算方法中的过程步骤。
10.一种智能终端,该智能终端包括如权利要求9所述的存储装置和用于执行相关指令的设备,其特征在于,所述设备能加载并执行存储装置中的指令来满足权利要求1-8任一所述的线性与非线性安全计算方法中的步骤操作。
CN202211337454.9A 2022-10-28 2022-10-28 一种线性与非线性安全计算方法、存储装置以及智能终端 Pending CN115664631A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211337454.9A CN115664631A (zh) 2022-10-28 2022-10-28 一种线性与非线性安全计算方法、存储装置以及智能终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211337454.9A CN115664631A (zh) 2022-10-28 2022-10-28 一种线性与非线性安全计算方法、存储装置以及智能终端

Publications (1)

Publication Number Publication Date
CN115664631A true CN115664631A (zh) 2023-01-31

Family

ID=84994327

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211337454.9A Pending CN115664631A (zh) 2022-10-28 2022-10-28 一种线性与非线性安全计算方法、存储装置以及智能终端

Country Status (1)

Country Link
CN (1) CN115664631A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117391754A (zh) * 2023-12-12 2024-01-12 国网数字科技控股有限公司 电力市场交易的结算方法、相关装置及计算机存储介质
CN117520970A (zh) * 2024-01-05 2024-02-06 同盾科技有限公司 基于多方安全计算的符号位确定方法、装置、系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117391754A (zh) * 2023-12-12 2024-01-12 国网数字科技控股有限公司 电力市场交易的结算方法、相关装置及计算机存储介质
CN117520970A (zh) * 2024-01-05 2024-02-06 同盾科技有限公司 基于多方安全计算的符号位确定方法、装置、系统
CN117520970B (zh) * 2024-01-05 2024-03-29 同盾科技有限公司 基于多方安全计算的符号位确定方法、装置、系统

Similar Documents

Publication Publication Date Title
US10291392B2 (en) Method and system for encrypting data
Liu et al. Secure and privacy preserving keyword searching for cloud storage services
EP3566385B1 (en) Homomorphic white box system and method for using same
CN115664631A (zh) 一种线性与非线性安全计算方法、存储装置以及智能终端
CN103023637B (zh) 一种云存储中可撤销的关键字搜索公钥加密及搜索方法
CN107359979B (zh) 基于截断多项式的对称全同态加密方法
Moghaddam et al. A hybrid encryption algorithm based on RSA small-e and efficient-RSA for cloud computing environments
CN104486315A (zh) 一种基于内容属性的可撤销密钥外包解密方法
US8462939B2 (en) RNS-based cryptographic system and method
WO2015078533A1 (en) Method and system for encrypting data
US11108543B2 (en) Method for encrypting data for distributed storage
Sridokmai et al. The homomorphic other property of Paillier cryptosystem
CN110851845A (zh) 一种轻量级单用户多数据的全同态数据封装方法
WO2013156758A1 (en) Method of encrypting data
CN110750797A (zh) 基于组合加密的云数据库加密方法
CN111639345A (zh) 基于同态加密的安全的多方云计算的方法和系统
Raghunandan et al. Comparative analysis of encryption and decryption techniques using mersenne prime numbers and phony modulus to avoid factorization attack of RSA
CN107463849B (zh) 基于单服务器的隐私信息恢复方法
CN114073037B (zh) Rlwe明文的压缩和未察觉地扩展
EP2395698B1 (en) Implicit certificate generation in the case of weak pseudo-random number generators
Gondaliya et al. Hybrid security RSA algorithm in application of web service
Ciss et al. A factoring and discrete logarithm based cryptosystem
CN112507349A (zh) 数据加密存储、加密搜索、应用的方法及其相关设备
Harn et al. Threshold cryptosystem with multiple secret sharing policies
Wang et al. Adaptive RSA encryption algorithm for smart grid

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination