【技术实现步骤摘要】
一种适用于数据库管理系统的可搜索加密方法及系统
[0001]本专利技术属于可搜索加密
,尤其涉及一种适用于数据库管理系统的可搜索加密方法及系统。
技术介绍
[0002]目前,随着人们在云端存储数据的不断普及,人们把越来越多的数据存储到云端的同时,其数据的安全性与可靠性就受到了前所未有的关注程度。虽然利用加密技术将文件加密存储于云端可有效的保证数据的保密性,但是通过这种方式用户的数据则丧失了许多的可操作性。例如,对文件进行搜索仅仅只需将关键字直接进行匹配即可,但对于加密后的数据,则无法进行这种操作。因此,为了能够提供密文搜索方法,大量的可搜索加密方式孕育而出,不过目前所提出适用于数据库管理系统的可搜索加密方法主要是基于英文单词来进行的,并且多数方案都是仅仅支持精确搜索方案以及单关键词搜索。
[0003]对于实际使用的系统的需求来说,往往希望搜索的内容不仅仅是单个的,更希望是通过多个关键字进行联合的搜索。与此同时,在进行搜索操作时,又是会产生一些细微的文字格式或者输入错误,但是通常的精确搜索无法容忍这种错误的出现, ...
【技术保护点】
【技术特征摘要】
1.一种适用于数据库管理系统的可搜索加密方法,其特征在于,所述适用于数据库管理系统的可搜索加密方法包括以下步骤:步骤一,初始化系统;步骤二,参数处理与密钥产生;步骤三,用户u对文件加密、关键字和安全索引的生成;步骤四,查询过程;步骤五,用户关于密文的解密,获取所需文档。2.如权利要求1所述的适用于数据库管理系统的可搜索加密方法,其特征在于,步骤一中,所述初始化系统,包括:系统参数初始化,输入安全参数λ,根据安全参数产生系统公共参数CP=(SEA,λ),对称加密方案SEA=(Gen,Enc,Dec)。3.如权利要求1所述的适用于数据库管理系统的可搜索加密方法,其特征在于,步骤二中,所述参数处理与密钥产生,包括:数据拥有者根据公共参数CP,哈希函数H:{0,1}
λ
×
{0,1}
*
→
{0,1}
λ
是一个单向陷门函数,伪随机函数F:{0,1}
λ
×
{0,1}
*
→
{0,1}
λ
;令令成为一个随机oracle的哈希表,初始状态为系统密钥K,选取产生k4←
SEA.KeyGen(1
λ
),然后得到系统密钥K=(k1,k2,k3,k4)。4.如权利要求1所述的适用于数据库管理系统的可搜索加密方法,其特征在于,步骤三中,所述用户u对文件加密、关键字和安全索引的生成,包括:用户u输入文档集合D=(D1,...,D
N
),用户按照以下步骤进行计算:(1)对文档集合D=(D1,...,D
N
),其中的是其中一个文档,ω为文档的关键词,D
′
=(ω
′1,...,ω
′
len(D)
)是D的一组唯一关键词;为每个文档D
i
∈D随机均匀地选取一个唯一的标识符ID(D
i
)∈{0,1}
μ
,加密文档D
i
,得到C
i
←
SEA.Enc(k4,D
i
);;(2)对文档中的每个关键字ω
i
计算其概率标签prt
i
=tag(ω
i
),存储在系统中;prt的计算过程如下,选取计算prt1′
:=H(H(k1||ω)||prt2′
),,得到prt=(prt1′
,prt2′
);(3)将密文文档C和概率标签prt的集合建立索引,存储在数据库中。5.如权利要求1所述的适用于数据库管理系统的可搜索加密方法,其特征在于,步骤四中,所述查询过程,包括:(1)在关键字查询过程中,用户输入要查询的关键字ω和系统密钥K;(2)数据库得到关键字ω和系统密钥K后,计算陷门trd:=H(k1||ω),分析prt
i
=(prt1′
,prt2′
),并计算prt1′
:=H(trd||prt2);如果prt1=prt1′
,则输出b:=1,否则输出b:=0;(3)根据关键字ω和系统密钥K以及要确定的文档长度L,对i∈[1,L],计算det
i
:=H(k2||ω)|
i
,得到确定标签集合DeT:=(det1,...,det
L
);对i∈[1,L],计算exk
i
:=H(k3||i),得到提取密钥集合ExK:=(exk1,...,exk
L
);(4)根据确定标签集合DeT和提取密钥集合ExK,对所有i∈[1,L],选取
计算令endet
i
:=(endet
i,1
,endet
i,2
),得到加密后的确定标签EnDeT:=(endet1,...,endet
L
);(5)根据加密后的确定标签选择对应要求查询的第i位关键字,解析EnDeT:=(endet1,...,endet
L
)和endet
i
:=(endet
i,1
,endet
i,2
),输出),输出提取DeT中第i位的元素,从而得到要查询的关键字标签。6.如权利要求1所述的适用于数据库管理系统的可搜索加密方法,其特征在于,步骤五中,所述用户关于密文的解密,获取所需文档,包括:用户输入得到的含有所需关键字ω
i
的密文C
i
和系统密钥K,通过解密算法得到明文D
i
←
SEA.Dec(k4,C
i
).。7.如权利要求1所述的适用于数据库管理系统的可搜索加密方法,其特征在于,所述适用于数据库管理系统的可搜索加密方法,还包括:(1)数学符号:使用表示所有正实数;如果任何正多项式结合存在函数neg1:可忽略不计;A为概率算法,那么y
←
A(x),其中y表示均匀随机分布带和x为输入值;令S为一个有限的集合那么表示s均匀地选自S;对于正整数m和n(m<n),[m,n]表示为集合{m,m+1,...,n};对于二进制比特串x和y,使用x||y表示级联;(2)对称密码基元:伪随机函数:对于密钥函数F:{0,1}
λ
×
{0,1}
m
→
{0,1}
n
,如果F在λ中是多项式可计算的,并且对于任何的多项式概率时间PPT算法A,使得其中FunC[m,n]是一组所有的{0,1}
m
→
{0,1}
n
函数,则F是伪随机的;对称密钥加密方案SEA:对于对称密钥加密方案SEA=(Gen,Enc,Dec),如果对于任何PPT算法A,都有PPT算法A,都有其中,Enc
K
(lr(
·
,
·
,b))是oracle中的左右选择,对于输出(x0,x1);如果b=0,则C0←
Enc
K
(x0),如果b=1,则C1←
Enc
K
(x1),满足上述条件,SEA在LOR
‑
CPA中最安全的;(3)可搜索加密SSE的符号1)令ω为关键词,是一组关键词;2)令D=(ω1,...,ω
len(D)
)是一个文档,D=(D1,...,D
N
)是一个文档集合;C=(C1,...,C
N
)是密文集合,其中C
i
是D
i
生成的密文,i∈[1,N];令D
′
=(ω
′1,...,ω
′
len(D)
)是D的一组唯一关键词;即对于任何,i,j∈[1,len(D
′
)](i<j),都有ω
′
i
≠ω
′
j
;3)令ID(D
i
)∈{0,1}
μ
为文件D
i
的标识符;4)对于文档集合D=(D1,...,D
N
),令D(ω)={ID(D
i
)|ω∈D
i
},搜索顺序为w=(ω
l
,...,ω
q
),使D(w)=(D(ω
l
),...,D(ω
q
));5)令T为一组关键词集合(ω1,...,ω
M
)的标签集合;令ID(tag)∈{0,1}
μ
为tag的标识符;对于一个标签集合T=(tag1,...,tag
N
);令T(ω)={ID(tag
i
)|tag
i
包括ω,i∈[1,N]};对于搜索顺序(ω1,...,ω
N
),令T(w)=(T(ω1),...,T(ω
N
))。8.如权利要求1所述的适用于数据库管理系统的可搜索加密方法,其特征在于,所述适
用于数据库管理系统的可搜索加密方法,还包括:所述加密方案由十个多项式算法KeyGen,Enc,Dec,Tag,Trapdo...
【专利技术属性】
技术研发人员:赵兴文,于浩洋,李晖,蔡佳音,郝帅红,
申请(专利权)人:西安电子科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。