CN103401871B - 一种面向同态加密的密文定序方法及系统 - Google Patents

一种面向同态加密的密文定序方法及系统 Download PDF

Info

Publication number
CN103401871B
CN103401871B CN201310336834.5A CN201310336834A CN103401871B CN 103401871 B CN103401871 B CN 103401871B CN 201310336834 A CN201310336834 A CN 201310336834A CN 103401871 B CN103401871 B CN 103401871B
Authority
CN
China
Prior art keywords
ciphertext
client
storage server
server
proxy server
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.)
Active
Application number
CN201310336834.5A
Other languages
English (en)
Other versions
CN103401871A (zh
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.)
Suzhou University
Original Assignee
Suzhou 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 Suzhou University filed Critical Suzhou University
Priority to CN201310336834.5A priority Critical patent/CN103401871B/zh
Publication of CN103401871A publication Critical patent/CN103401871A/zh
Application granted granted Critical
Publication of CN103401871B publication Critical patent/CN103401871B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种面向同态加密的密文定序方法及系统,系统包括三方:客户端、存储服务器和代理,存储服务器和代理不能相互勾结。方法包括以下步骤。客户端采用SH.Keygen密钥生成运算,生成公钥pk及私钥sk,并将私钥sk发送给代理服务器,且客户端将数据加密并托管给存储服务器,客户端向存储服务器发送定序指令。存储服务器对要排序的密文做同态减运算得到密文csub=SH.Sub(pk,c1,c2),并将密文csub发送给代理服务器。代理服务器使用私钥sk对密文csub解密得到明文sub=SH.Dec(sk,csub),将sub与0比较确定密文的序,并将结果加密后通过存储服务器发送给客户端。客户端解密后得到密文对应的明文的序。整个过程中没有泄漏明文,虽然代理服务器得到明文的差,但并不能计算出差所对应的明文,整个计算过程是安全的。

Description

一种面向同态加密的密文定序方法及系统
技术领域
本发明涉及多方计算及密码学领域,具体涉及一种面向同态加密的密文定序方法及系统。
背景技术
物联网作为最近几年兴起的新技术,包括四大核心技术:RFID技术、传感器技术、通讯技术和云计算技术。当所有事物都与网络相关,物联网势必产生海量数据,因此传统的硬件架构服务器将很难满足数据管理和处理要求,必须依靠云计算。然而,通常情况下,海量数据不可能由拥有者持有,而是委托专门的数据存储服务机构存储。同时,云计算本身的计算过程也不发生在用户端,而是发生在服务器端。所有这一切都意味着数据的拥有者既不持有数据,也不掌握数据的加工过程。因此,数据的隐私保护就成为了一个不可忽视的问题。
传统的隐私保护策略是把数据经加密后再保存,这样数据持有人就无法了解数据的内容。但是,在物联网的时代,云计算不可避免要被引入。数据在云端计算,需要首先被解密,于是隐私保护就失去了应有的作用。如果数据可以不解密而直接处理,这样数据持有者和数据加工者都不能看到数据的真实内容,情况将发生质的改变。
同态加密是解决数据处理与隐私保护问题的一种技术,它由Rivest等人于1978年提出,在随后的30年间出现了ElGamal方案、Paillier方案等。但这些方案都不是真正意义上的全同态加密。直到2009年,Gentry在其博士论文中构造了一个真正意义上的安全的全同态加密方案,在该领域取得了突破性的进展。
同态加密技术不需要解密就能对已加密的数据进行处理,实现与对原始数据直接进行处理相同的效果。它允许人们对密文进行特定的代数运算得到仍然是加密的结果,与对明文进行同样的运算再将结果加密一样。换言之,这项技术令人们可以在加密的数据中进行操作,得出正确的结果,而在整个处理过程中无需对数据进行解密。
利用同态加密技术,用户可以将需要处理的数据以密文的形式交给云端服务器,服务器可以直接对密文数据进行处理而不需要用户来解密数据,处理后服务器以密文的形式将处理结果返回给用户,用户收到处理结果后对其进行同态解密,得到已经处理好的明文数据。这样,数据在服务器上及传输过程中都是以密文的形式存在,只有数据拥有者有私钥可以解密,可以看见明文,有效地保护了隐私数据。同态加密得到的密文是随机的,同一个明文每次加密得到的密文都不一样,所以密文的序无法直接确定,从而很多密文的操作不能进行。因此,如何安全地确定密文的序而不泄漏隐私数据,成为本领域研究的热点。
现有技术中,主要存在以下几种方案:Gentry的理想格上的同态加密方案、整数上的同态加密方案及LWE/RLWE上的同态加密方案。下面对上述几种方案作大致介绍。
Gentry的全同态加密方案通过以下几步实现:一、构造一个somewhat同态加密方案,该方案能够进行复杂度较低的运算;二,压缩somewhat方案的解密算法(降低复杂度),使其能够被该方案正确计算;三,应用自举转换,更新密文,即同态解密(在密文状态下进行解密运算),使得该方案能够进行任意计算。其中,一个方案不能计算任意复杂度的运算,是因为经过一定次数的计算,噪声增长太大以至于不能正确解密,所以控制噪声是构造全同态加密方案的一个关键步骤。Gentry通过压缩解密算法,即降低解密运算的复杂度。从而使Somewhat方案能够自举,在噪声增大到不能正确解密之前进行同态解密(在密文下进行解密运算),从而刷新密文,降低噪声,可以继续进行计算。
Gentry理想格上的原始方案,效率比较低。因此,Gentry使用理想格构造了一个全同态加密方案,提高了密钥生成操作的效率,提高了重加密(Recrypt)的效率,从提高到其中λ是安全参数。它使用NTL库实现了Gentry理想格上的全同态加密方案,其实验数据为:512维的格,公钥大小是17MB。随着维数的增加,公钥越来越大,例如32768维的格,公钥大小是2.25GB。KeyGen(密钥生成)从512维的2.5秒到32768维的2.2小时,Recrypt(重加密)从512维的6秒到32768维的31分钟。由此可见,效率仍然很低,与实际应用相距甚远。
2010年,Dijk等人提出了整数上的同态加密方案,即DGHV方案。它仅使用整数上的加和乘操作,相对于理想格概念更加简单易懂。此方案是按照Gentry构造全同态加密方案的蓝图来构造的,其安全性规约为寻找近似最大公约数问题的困难性。DGHV方案公钥大小在实践中为了抵抗格的攻击,每个公钥尺寸至少应该为232位,但这对于实践应用来说太大了。Coron等人在2011年对DGHV方案进行了改进,在公钥中用二次形式加密,而不是线性形式,将公钥大小降到了Coron等人在2012年又做了进一步的改进,将公钥尺寸降到了并对二次形式加密扩展,指出可以扩展到三次形式,甚至可以是任意固定次数,由此可以进一步约减公钥尺寸。
在2011年,Brakerski、Vaikuntanathan提出了基于LWE假设的全同态方案BV11a,LWE的困难性可以归约到任意格上的最短向量问题(SVP)。于LWE的somewhat同态方案使用了重线性化技术和维数-模约减技术。重线性化技术主要思想是将两个密文相乘的结果的一次、二次项用一个新的私钥t加密,然后改写密文相乘的式子就可以得到一个线性的式子,从而减小了相乘密文的大小。维数-模约减将密文(参数(n,logq))转化成密文(参数(k,logp)),对应的明文是一样的,但是k≤n,p≤q,从而缩短了密文,降低了解密复杂度,也降低了噪声,而且没有增加假设,以前方案都是通过压缩解密电路来降低解密复杂度的。此外,Brakerski、Vaikuntanathan将LWE上的同态方案迁移到RLWE上的BV11b,RLWE相比LWE效率更好。
RLWE方案在目前是较为完善的方案,但仍在存储密文上存在严重空间的浪费,一个密文多项式对应一个明文多项式,但是明文只能是常数项取要计算的数,其余取0。Gentry等人在2012年使用中国剩余定理提出打包技术(pack)。所谓打包技术,就是在一个密文里加密了多个明文,只要取合适的参数,可以将明文多项式的每个系数都利用,从而提高了密文存储的空间利用率,这样同态加和同态乘对应的明文操作就是对应位置的明文加和乘,从而提高了效率。
虽然近几年同态加密技术取得了突破性进展,但是仍然有一些缺点。其中主要缺点是:加密引入了随机噪声,所以得到的密文是随机密文,而密文不能直接比较大小,密文的序无法确定,从而很多计算无法支持,如排序、查询等。
鉴于上述原因,急需一种基于同态加密方案的,能够不泄漏明文数据即可定序的密文定序方法。
发明内容
本发明提供一种面向同态加密的密文定序方法,包括以下步骤:
S1、客户端采用SH.Keygen密钥生成运算,生成公钥pk及私钥sk,并将所述私钥sk发送给代理服务器,且所述客户端将数据加密并托管给存储服务器,客户端向存储服务器发送定序指令;
S2、存储服务器对要排序的密文做同态减运算得到密文csub=SH.Sub(pk,c1,c2),并将密文csub发送给代理服务器;
S3、代理服务器使用私钥sk对密文csub解密得到明文sub=SH.Dec(sk,csub),将sub与0比较从而确定密文的序,并将结果加密后通过存储服务器发送给客户端;
S4、客户端解密后得到密文对应的明文的序。
优选的,用存储服务器计算密文的差值,用代理服务器对密文的差值解密,从而在不泄漏明文的情况下确定密文的序。
优选的,本发明所选用的同态加密方案基于多项式环,并采用将多个明文加密到一个密文中的打包技术。
本发明还提供一种面向同态加密的密文定序系统,包括客户端、存储服务器及代理服务器,所述客户端分别连接存储服务器及代理服务器,所述存储服务器连接代理服务器,存储服务器和代理服务器不允许相互勾结。所述客户端,用于生成公钥pk及私钥sk,并将私钥sk发送给代理服务器,所述客户端将数据加密并托管给存储服务器,客户端向存储服务器发送定序指令。存储服务器对要排序的密文做同态减运算得到密文csub=SH.Sub(pk,c1,c2),并将密文csub发送给代理服务器。代理服务器使用私钥sk对密文csub解密得到明文sub=SH.Dec(sk,csub),将sub与0比较从而确定密文的序,并将结果加密后通过存储服务器发送给客户端。客户端解密后得到密文对应的明文的序。
通过本发明提供的面向同态加密的密文定序方法及系统,客户端将明文数据加密托管给存储服务器,存储服务器计算密文的差并将结果发送给代理服务器。代理服务器通过对密文的差解密并确定密文的序。代理服务器将结果加密发送给存储服务器,存储服务器再将结果发送给客户端。客户端解密后得到密文对应的明文的序。即使代理服务器端泄漏了密文的差,对方也不能计算出差值对应的明文,并且传输过程中都是密文形式。如此,可以在保证数据安全性的基础上,实现同态加密的密文定序。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的面向同态加密的密文定序方法操作流程图;
图2是本发明提供的面向同态加密的密文定序系统结构示意图。
具体实施方式
本发明采用目前效率比较高的RLWE上的同态加密方案,为了便于理解,下面对同态加密原理作出介绍。
首先是参数设置,本发明所选用的同态加密方案是在多项式环上的,所述多项式环R=Z[X]/F(x),Rq=R/qR=Zs[X]/F(X),密文空间为Rq。于此,所述F(X)取分圆多项式,F(X)=Φm(X)=(Xm-1)/(X-1),其中m是素数,这样选取是为了充分使用打包技术提高空间存储利用率。此外,F(X)的维数n=m-1,且密文多项式的系数都是取模q,则对应多项式的系数范围取(-q/2,q/2];在离散高斯分布中,σ是标准差。
明文空间取Rt=Zt[X]/F(X),t≡1(modm)(参数t的选取方式是为了使用打包技术),明文多项式的系数范围取(-t/2,t/2]。另外,定义最多能做的同态乘的次数为D、最多能做的同态加的次数为A、安全参数为κ。于此,κ被用作定义D及A值的依据。
上述参数的选取依据如下三个公式:
q ≥ 4 · ( 2 tσ 2 n ) D + 1 · ( 2 n ) D / 2 · A
c · q / σ = 2 2 n log 2 q log 2 δ
κ=log2tadv=1.8/log2δ-110
其中c与LWE攻击优势ε有关(c≈2.657对应ε=2-32,c≈3.758对应ε=2-64),δ是Hermite参数。
在参数已设置的前提下,可实现同态加密的基本方案。同态加密方案包括6个基本运算:密钥生成SH.Keygen,加密SH.Enc,解密SH.Dec,同态加SH.Add,同态减SH.Sub,同态乘SH.Mult。上述基本运算具体实现过程如下。
SH.Keygen(1κ):抽样一个环元素s←χ(s是多项式,系数抽样于高斯分布χ),定义私钥sk=s。抽样一个均匀随机的环元素a1←Rq(a1是多项式,系数抽样于(-q/2,q/2]上的均匀分布),e←χ(e是多项式,系数抽样于高斯分布χ),计算公钥pk=(a0=-(a1s+te),a1)。
SH.Enc(pk,m):输入公钥pk=(a0,a1),明文m∈Rq。抽样u,f,g←χ,计算密文ct=(c0,c1)=(a0u+tg+m,a1u+tf)
SH.Dec(sk,ct=(c0,c1,…,cδ)):输入私钥和密文,计算输出明文
SH.Add(pk,ct0,ct1):输入ct0=(c0,c1,…,cδ),(如果δ≠γ,短的密文补0(多项式))。计算并输出
c add = ( c 0 + c 0 ' , c 1 + c 1 ' , . . . , c max ( δ , γ ) + c max δ , γ ' ) ∈ R q max ( δ , γ ) + 1 .
SH.Sub(pk,ct0,ct1):输入ct0=(c0,c1,…,cδ),(如果δ≠γ,短的密文补0(多项式))。计算并输出
c add = ( c 0 + c 0 ' , c 1 + c 1 ' , . . . , c max ( δ , γ ) + c max δ , γ ' ) ∈ R q max ( δ , γ ) + 1 .
SHMult(pk,ct0,ct1):输入ct0=(c0,c1,…,cδ)引入符号变量v,计算输出密文
此外,在本发明同态加密方案的实施过程中,有明文及密文两个概念,下面对它们分别作出介绍。
目前,明文有两种表示,即聚合明文及明文槽。具体地,聚合明文即为上述基本方案中的明文,对应Rt中的元素,可直接被加密。明文槽与聚合明文相对应,明文槽中每个元素对应Ft[X]/(X-ζi)(其中ζm=1(modt))。
若聚合明文为A=(a0,a1,…an-1),对应明文槽为B=(b0,b1,…bn-1),则两者之间转换操作如下。
mapToSlots(A)(聚合明文→明文槽):bi=Amod(X-ζi+1)=A(ζi+1)modt,i=0,1,…,n-1;或者B=Vm·A(modt)(此处把A,B当作多项式系数构成的向量),其中,Vm是一个Vandermonde矩阵。
V m = 1 ( ξ ) 1 . . . ( ξ ) m - 2 1 ( ξ 2 ) 1 . . . ( ξ 2 ) m - 2 . . . . . . . . . . . . 1 ( ξ m - 1 ) 1 . . . ( ξ m - 1 ) m - 2
mapToPlain(B):明文槽→聚合明文:所以存在)。
如前所述,在采用打包技术后,对明文m的加密解密过程分别如下:加密过程:计算聚合明文m′=mapToPlain(m);计算密文c=SH.Enc(pk,m′);解密过程:解密计算明文槽
结合上述说明,若对明文A=(a0,a1,…an-1),B=(b0,b1,…bn-1)的密文c1,c2进行同态加和同态乘操作,则结果为:SH.Add(pk,c1,c2)对应的明文是(a0+b0,a1+b1,…,an-1+bn-1);SH.Mult(pk,c1,c2)对应的明文是(a0×b0,a1×b1,…,an-1×bn-1)。
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
图1是本发明提供的面向同态加密的密文定序方法操作流程图。如图1所示,本发明提供的面向同态加密的密文定序方法操作流程包括步骤S1~S4。
步骤S1:客户端采用SH.Keygen密钥生成运算,生成公钥pk及私钥sk,并将所述私钥sk发送给代理服务器,且所述客户端将数据加密并托管给存储服务器,客户端向存储服务器发送定序指令。
具体而言,假设有N个整数pi(1≤i≤N)需保存,多项式维数为n,则需2*(N+n-1)/n个多项式包含这N个整数。这些多项式分别为:A1=(p1,p2,...,pn),A2=(pn+1,...,p2*n),…,A(N+n-1)/n=(...,pN,0,...,0)以及B1=(p2,p3,...,pn+1),B2=(pn+2,...,p2*n+1),…,B(N+n-1)/n=(...,pN,p1,0,...,0)。
于此,客户端对所述Ai,Bi分别加密,密文为:cai=SH.Enc(pk,Ai),cbi=SH.Enc(pk,Bi)。则客户端将密文cai、cbi以及排序命令发送给存储服务器。
步骤S2:存储服务器对要排序的密文做同态减运算得到密文csub=SH.Sub(pk,c1,c2),并将密文csub发送给代理服务器。
具体而言,就是对cai、cbi做同态减运算得到密文csi=SH.Sub(pk,cai,cbi),并将csi发送到代理服务器。
步骤S3:代理服务器使用私钥sk对密文csub解密得到明文sub=SH.Dec(sk,csub),将sub与0比较从而确定密文的序,并将结果加密后通过存储服务器发送给客户端。
具体而言,代理服务器对csi进行解密操作得到明文mi=SH.Dec(sk,csi)(1≤i≤(N+n-1)/n)。所述代理服务器根据mi计算的过程如下。
首先将mi的系数赋值给数组sub[N-1],则sub[i]=pi-pi+1(1≤i≤N-1)。若以数组count[i](1≤i≤N)表示N个数中比pi小的数的个数,count[i]初始化为0,则count[i]的获取算法为:
根据计算结果,代理服务器生成(N+n-1)/n个多项式:C1=(count[1],count[2],...,count[n]),C2=(count[n+1],...,count[2*n]),…,C(N+n-1)/n=(...,count[N],0,...,0)。于此,Ci(1≤i≤(N+n-1)/n)即为密文的序,代理服务器对Ci加密得到密文cci=SH.Enc(pk,Ci)(1≤i≤(N+n-1)/n)后,将cci发送给存储服务器,存储服务器再将cci发送给客户端。
步骤S4:客户端解密后得到密文对应的明文的序。
具体而言,客户端接收cci后进行解密,确定N个数pi(1≤i≤N)的序,即将pi按count[i]从小到大顺序排列。
下面以具体实施例的方式对本发明中的选用同态加密方案作出说明。
根据同态加密方案,首先设定参数,各参数具体如下。安全参数κ=124、m=4093(为素数),则F(X)=(X4093-1)/(X-1)=1+X+X2+…+X4092。q=1214016184670760162110415361561593072877,t=49117,σ=8。
接下来客户端分别生成公钥pk及私钥sk。具体过程为:首先根据SH.Keygen(1κ)生成一个4092维多项式s,其系数在区间[-3σ,3σ]上,则私钥sk=s=(3,8,…,2);生成一个4092维多项式a1,其系数在区间(-q/2,q/2]上,a1=(423404355235116856555555167762195386809,…),生成一个4092维多项式e,其系数在区间[-3σ,3σ]上,a0=-(a1s+te),a0是4092维多项式,则公钥pk=(a0,a1),a0=(440887651312370057012525862984617506645,…)。于此,客户端将生成的公钥pk与存储服务器及代理服务器共享。
客户端取M1=(1,2,1,2,…,1,2),M2=(3,5,3,5,…,3,5)作为明文槽,所述M1及M2都是4092维的多项式。客户端根据M1及M2计算聚合明文M1′=mapToPlain(M1)=Vm -1·M1(modt),M2′=mapToPlain(M2)=Vm -1·M2(modt)。此处把M1,M2看作向量计算,故计算出的M1′,M2′是多项式的系数组成的向量。其中,M1′=(24557,49111,19639,…,41932,14036,29472)、M2′=(49115,49105,39278,…,34747,28072,9827)。客户端对M1′加密得到密文C1=(c0,c1)=SH.Enc(pk,M1′)=(a0u+tg+M1′,a1u+tf);对M2′加密得到密文C2=(c0′,c1′)=SH.Enc(pk,M2′)=(a0u+tg+M2′,a1u+tf)。其中u,f,g都是4092维多项式,系数在区间[-3σ,3σ]上。于此,u,f,g互不相同,每次加密用到的u,f,g也互不相同。在本实施例中,c0=(586620753588339234973602812925054718650,…),
c1=(1141969234009093438058022647203673097920,…),
c0′=(135348756844128699332423215683738518148,…),
c1′=(1131118755602207910779440309271035341572,…)。
客户端将密文C1及C2发送到存储服务器后,若存储服务器对密文C1及C2执行同态加操作,其实现过程如下。将上面的两个密文相加,得到密文cadd=SH.Add(pk,C1,C2)=(c0+c0′,c1+c1′)=(ca0,ca1)。其中,ca0,ca1都是4092维多项式,该运算是多项式相加,并且系数是取模q的。于此,
ca0=(721969510432467934306026028608793236798,…),
ca1=(1059071804940541186727047594913115366615,…)。
若存储服务器对密文C1及C2执行同态减操作,其实现过程如下。将密文C1及C2相减,得到密文csub=SH.Sub(pk,C1,C2)=(c0-c0′,c1-c1′)=(cs0,cs1)。cs0,cs1都是4092维多项式,该运算是多项式相减。于此,
cs0=(451271996744210535641179597241316200502,…),
cs1=(10850478406885527278582337932637756348,…)。
若存储服务器对密文C1及C2执行同态乘操作,其实现过程如下。将密文C1及C2相乘,得到密文cmul=SH.Mult(pk,C1,C2)=(cm0,cm1,cm2),cm0=c0·c0′,
cm1=c0·c1′+c1·c0′,cm2=c1·c1′。cm0,cm1,cm2都是4092维多项式,该运算是多项式相乘。于此,cm0=(591688405333644575646320703692950252009,…),
cm1=(627299015660246759041698663584316597822,…),
cm2=(20327310415622663535937687443840454861,…)。
于本实施例中,若代理服务器对同态加得到的密文解密,则得到聚合明文Ma=SH.Dec(sk,cadd),然后将Ma转换成明文槽Ma′=mapToSlots(Ma)=(4,7,4,7,…,4,7)。类似地:对同态减得到的密文做同样的解密运算,得到明文槽为(-2,-3,-2,-3…,-2,-3);对同态乘得到的密文做同样的解密运算,得到明文槽为(3,10,3,10,…,3,10)。
图2是本发明提供的面向同态加密的密文定序系统结构示意图。如图2所示,本发明提供的面向同态加密的密文定序系统包括客户端1、存储服务器2及代理服务器3,所述客户端1分别连接存储服务器2及代理服务器3,所述存储服务器2连接代理服务器3。所述客户端1,用于生成公钥pk及私钥sk,所述私钥sk发送给代理服务器3,并将数据加密并托管给存储服务器2,客户端1向存储服务器2发送定序指令,还用于解密经代理服务器2加密的密文的序,并获得所述密文对应明文的序。所述存储服务器2,用于对要定序的密文做同态减SH.Sub运算,并将运算得到的密文发送给代理服务器3。所述代理服务器3,用于接收存储服务器发送来的密文的差,对密文的差做解密SH.Dec运算,然后对差值做处理得到密文的序,并将所述密文的序加密后通过存储服务器2发送给客户端1。关于上述系统的操作流程同上述方法所述,故于此不再赘述。
综上所述,通过本发明较佳实施例提供的面向同态加密的密文定序方法及系统,在多方参与计算的环境下,将密文的差发送给代理服务器。并且在不泄漏明文的情况下,由代理服务器对密文的差进行解密,并利用这些差值来确定同态密文的序。并且由于同态加密方案的密文具有随机性,不能直接比较大小,因而本发明存储服务器做密文相减,再由代理将密文的差进行解密。之后代理服务器将处理结果加密,通过存储服务器发送给客户端,客户端解密得到最终的明文结果。因此,由本发明提供的同态加密的密文定序方法,可以在保证数据安全性的基础上,实现同态加密的密文定序。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (4)

1.一种面向同态加密的密文定序方法,其特征在于,包括以下步骤:
S1、客户端采用SH.Keygen密钥生成运算,生成公钥pk及私钥sk,并将所述私钥sk发送给代理服务器,且所述客户端将数据加密并托管给存储服务器,客户端向存储服务器发送定序指令;
S2、存储服务器对要排序的密文做同态减运算得到密文csub=SH.Sub(pk,c1,c2),并将密文csub发送给代理服务器;
S3、代理服务器使用私钥sk对密文csub解密得到明文sub=SH.Dec(sk,csub),将sub与0比较从而确定密文的序,并将结果加密后通过存储服务器发送给客户端;
S4、客户端解密后得到密文对应的明文的序;
其中c1、c2,为步骤S1中,客户端发给存储服务器的所要排序的密文。
2.根据权利要求1所述的方法,其特征在于,用存储服务器计算密文的差值,用代理服务器对密文的差值解密,从而在不泄漏明文的情况下确定密文的序。
3.根据权利要求1所述的方法,其特征在于,本发明所选用的同态加密方案基于多项式环,并采用将多个明文加密到一个密文中的打包技术。
4.一种面向同态加密的密文定序系统,其特征在于,包括客户端、存储服务器及代理服务器,所述客户端分别连接存储服务器及代理服务器,所述存储服务器连接代理服务器,并且存储服务器和代理服务器不允许相互勾结,
所述客户端,用于生成公钥pk及私钥sk,所述私钥sk发送给代理服务器,所述客户端将数据加密并托管给存储服务器,客户端向存储服务器发送定序指令,
还用于解密经代理服务器加密的密文的序,并获得所述密文对应明文的序;
所述存储服务器,用于存储密文数据,执行同态减操作SH.Sub,并将密文的差值发送给代理服务器;
所述代理服务器,用于接收存储服务器发送来的密文的差值,对密文的差做解密运算SH.Dec,将解密结果与0比较从而确定密文的序,并将结果加密发送给存储服务器。
CN201310336834.5A 2013-08-05 2013-08-05 一种面向同态加密的密文定序方法及系统 Active CN103401871B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310336834.5A CN103401871B (zh) 2013-08-05 2013-08-05 一种面向同态加密的密文定序方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310336834.5A CN103401871B (zh) 2013-08-05 2013-08-05 一种面向同态加密的密文定序方法及系统

Publications (2)

Publication Number Publication Date
CN103401871A CN103401871A (zh) 2013-11-20
CN103401871B true CN103401871B (zh) 2016-08-10

Family

ID=49565397

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310336834.5A Active CN103401871B (zh) 2013-08-05 2013-08-05 一种面向同态加密的密文定序方法及系统

Country Status (1)

Country Link
CN (1) CN103401871B (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104917611B (zh) * 2014-03-13 2019-04-23 航天信息股份有限公司 用于云计算的数据加解密处理方法和装置
CN104980271B (zh) * 2014-04-10 2018-04-17 深圳中电长城信息安全系统有限公司 一种云计算中基于Batch RSA的乘法运算方法及系统
CN105447361B (zh) * 2014-08-27 2018-08-21 华为技术有限公司 加密和相似性度量的方法、终端及服务器
US9641318B2 (en) * 2015-01-06 2017-05-02 Google Inc. Systems and methods for a multiple value packing scheme for homomorphic encryption
US10778657B2 (en) 2015-12-10 2020-09-15 Nokia Technologies Oy Schemes of homomorphic re-encryption
CN108476136B (zh) * 2016-01-18 2021-01-05 三菱电机株式会社 密文转换装置、计算机能读取的记录介质和密文转换方法
CN106452743B (zh) * 2016-09-26 2020-01-31 深圳市紫光同创电子有限公司 通信密钥获取方法及装置、通信报文解密方法及装置
CN106506165B (zh) * 2016-11-02 2019-06-21 西安电子科技大学 基于同态加密的虚拟资产匿名排序方法
CN106571905B (zh) * 2016-11-02 2019-05-17 南京邮电大学 一种数值型数据同态保序加密方法
CN106534313B (zh) * 2016-11-17 2019-09-13 浙江工商大学 面向云端数据发布保护安全及隐私的频度测定方法和系统
CN106790145B (zh) * 2016-12-28 2019-02-12 优刻得科技股份有限公司 一种云端数据托管系统及云端数据托管方法
US10630655B2 (en) * 2017-05-18 2020-04-21 Robert Bosch Gmbh Post-quantum secure private stream aggregation
CN107707608A (zh) * 2017-07-26 2018-02-16 日照职业技术学院 一种家居物联网控制系统
CN110309674B (zh) * 2019-07-04 2021-10-01 浙江理工大学 一种基于全同态加密的排序方法
CN112395624B (zh) * 2019-08-19 2022-02-25 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和电子设备
CN112307499B (zh) * 2020-10-30 2024-04-12 中山大学 一种云计算中加密数据频繁项集的挖掘方法
CN112231737B (zh) * 2020-11-05 2023-08-22 深圳技术大学 数据安全比较协议实现方法、系统、电子装置及存储介质
CN114465708B (zh) * 2022-03-17 2023-07-21 北京绪方科技有限公司 隐私数据处理方法及装置、系统、电子设备、存储介质
CN115348017B (zh) * 2022-10-18 2023-02-07 阿里巴巴(中国)有限公司 密文处理方法以及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110110525A1 (en) * 2009-11-10 2011-05-12 International Business Machines Corporation Fully homomorphic encryption method based on a bootstrappable encryption scheme, computer program and apparatus
CN102984156A (zh) * 2012-11-30 2013-03-20 无锡赛思汇智科技有限公司 一种可验证的分布式隐私数据比较与排序方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110110525A1 (en) * 2009-11-10 2011-05-12 International Business Machines Corporation Fully homomorphic encryption method based on a bootstrappable encryption scheme, computer program and apparatus
CN102984156A (zh) * 2012-11-30 2013-03-20 无锡赛思汇智科技有限公司 一种可验证的分布式隐私数据比较与排序方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Secure and private sequence comparisons;Mikhail J. Atallah;《WPES "03 Proceedings of the 2003 ACM workshop on Privacy in the electronic society》;20031231;第39-44页 *
基于全同态加密的秘密数据比较方案;汤全有;《信息工程大学学报》;20121231;第13卷(第6期);第654-657页 *

Also Published As

Publication number Publication date
CN103401871A (zh) 2013-11-20

Similar Documents

Publication Publication Date Title
CN103401871B (zh) 一种面向同态加密的密文定序方法及系统
US20200228309A1 (en) Homomorphic encryption
CN103957109B (zh) 一种云数据隐私保护安全重加密方法
Chandu et al. Design and implementation of hybrid encryption for security of IOT data
Fu et al. Large universe attribute based access control with efficient decryption in cloud storage system
US9813243B1 (en) Methods and apparatus for password-based secret sharing schemes
Li et al. PDA: a privacy‐preserving dual‐functional aggregation scheme for smart grid communications
CN103731261A (zh) 加密重复数据删除场景下的密钥分发方法
CN106230590A (zh) 一种多授权机构的密文策略属性基加密方法
CN104836657B (zh) 一种具有高效解密特性的基于身份匿名广播加密方法
CN102710661B (zh) 云存储与聚合架构及其数据存储与聚合方法
CN103684742A (zh) 一种基于循环矩阵变换的支持密文计算的加密方法
CN104320393A (zh) 重加密可控的高效属性基代理重加密方法
CN108847934A (zh) 一种多维量子同态加密方法
CN111639345B (zh) 基于同态加密的安全的多方云计算的方法和系统
Chatterjee et al. Cryptography in cloud computing: a basic approach to ensure security in cloud
Gafsi et al. High securing cryptography system for digital image transmission
Susilo et al. Lattice-based HRA-secure attribute-based proxy re-encryption in standard model
Ma et al. Lattice-based identity-based homomorphic conditional proxy re-encryption for secure big data computing in cloud environment
Liu et al. Quantum protocol for millionaire problem
Zhang et al. FDO-ABE: a fully decentralized lightweight access control architecture for mobile edge computing
Tyagi et al. Analysis and Implementation of AES and RSA for cloud
CN109495478A (zh) 一种基于区块链的分布式安全通信方法及系统
CN108768923A (zh) 一种基于量子可逆逻辑线路的加密算法的聊天实时加密方法
Liu et al. Leveraging carbon nanotube technologies in developing physically unclonable function for cyber-physical system authentication

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: Suzhou City, Jiangsu province 215123 Xiangcheng District Ji Road No. 8

Patentee after: Soochow University

Address before: 215123 Suzhou Industrial Park, Jiangsu Road, No. 199

Patentee before: Soochow University