【技术实现步骤摘要】
面向云环境的支持模糊关键词排序的可搜索加密方法
[0001]本专利技术涉及一种面向云环境的支持模糊关键词排序的可搜索加密方法。
技术介绍
[0002]随着大数据和云计算的发展,越来越多的用户和企业选择以加密的方式将数据存储在云服务器上。为了检索他们感兴趣的数据,可以采用可搜索加密这一重要技术。有时,数据属主希望在不泄露隐私的情况下将加密的数据共享给某些用户。
[0003]在现有技术中,可搜索加密方案一般分为对称可搜索加密和非对称可搜索加密。对称可搜索加密的效率高于非对称可搜索加密,但非对称可搜索加密适用于多人共享的场景,更符合实际性,因为对称可搜索加密需要数据用户将自己的加密密钥与多位数据用户共享,密钥的安全性大大降低,而仅仅在可搜索加密中引入公钥密码体制会极大的降低方案的效率。因此,如何设计出具有更高的效率并且更具有实际意义的可搜索加密的方案已经成为密码学界关注的热点。
技术实现思路
[0004]本专利技术的目的在于克服现有技术中存在的上述不足,而提供一种设计合理的面向云环境的支持模糊关键词排序的可搜索加密方法,设计了一个新的支持排序的模糊关键词可搜索属性基加密方案,具有更高的效率并且更具有实际意义。
[0005]本专利技术解决上述问题所采用的技术方案是:
[0006]一种面向云环境的支持模糊关键词排序的可搜索加密方法,其特征在于:包括如下步骤:
[0007]步骤一、系统建立与初始化,生成公共参数PP、主密钥MK、密钥K;
[0008]步骤二、生成索引阶段:数
【技术保护点】
【技术特征摘要】
1.一种面向云环境的支持模糊关键词排序的可搜索加密方法,其特征在于:包括如下步骤:步骤一、系统建立与初始化,生成公共参数PP、主密钥MK、密钥K;步骤二、生成索引阶段:数据拥有者根据明文文档集合D提取关键词集合W,生成反向索引表和模糊索引表,并把反向索引表和模糊索引表发给云服务器;步骤三、加密阶段:数据拥有者利用主密钥加密明文文档集合D,生成密文文档集合CT,并将密文文档集合CT发给云服务器;步骤四、生成陷门阶段:数据用户构造陷门,并将陷门加密后发给云服务器;步骤五、检索阶段:当云服务器收到加密后的陷门后,用自己的私钥解密获得陷门,并将所需文档根据相关度排序发给数据用户;步骤六、获取密钥阶段:数据用户发送自己的属性集给可信机构,如果数据用户的属性集可以通过访问控制结构,则可信机构把解密密钥发给数据用户;步骤七、解密阶段:数据用户解密返回的密文文档集,得到所需明文文档。2.根据权利要求1所述的面向云环境的支持模糊关键词排序的可搜索加密方法,其特征在于:步骤一中,公共参数生成步骤为:(1)数据拥有者运行setup函数,选择一个阶为素数p、生成元为g的双线性群G0,然后从素数p的最小非负完全剩余系集合Z
p
中选择三个随机数α,β,r,然后发布公共参数PP=G0,g,h=g
β
,e(g,g)
α
;(2)设置主密钥MK为(β,g
α
),然后选择一个安全参数λ,生成一个密钥K=(0,1)
λ
;(3)数据拥有者指定访问控制结构τ。3.根据权利要求1所述的面向云环境的支持模糊关键词排序的可搜索加密方法,其特征在于:所述的访问控制结构τ是一棵树,τ中的每个叶子节点由属性和阈值k
x
=1构成;非叶子节点是由其孩子节点和一个阈值构成的阈值门;设定num
x
是树中节点x的孩子节点的总数,k
x
是其阈值,设定0≤k
x
≤num
x
,若k
x
=1,阈值门为OR门,若k
x
=num
x
,阈值门为AND门。4.根据权利要求1所述的面向云环境的支持模糊关键词排序的可搜索加密方法,其特征在于:生成反向索引表的步骤为:(1)设定反向索引表的阶为(n+1)
×
(m+1);(2)设定反向索引表第一列(i+1,1)坐标的元素为加密文档号Enc
K
(id(D
i
),1≤i≤n;(3)设定反向索引表第一行(1,j+1)坐标的元素为加密英文关键字Enc
K
(W
i
),1≤j≤m;(4)反向索引表中其余元素(i+1,j+1)坐标的元素用文档D
i
和关键词W
j
的相关度分数RF(W
j
,D
i
)填充;(5)用随机数r乘以RF(W
j
,D
i
);(6)生成反向索引表。5.根据权利要求1所述的面向云环境的支持模糊关键词排序的可搜索加密方法,其特征在于:生成模糊索引表的步骤为:(1)设定模糊索引表为(Q+1)
×
(m+1)阶;(2)根据Shingle方法将中文关键字w
j
shingle成向量S
′
j
;(3)用Q个MinHash函数对向量S进行Q次最小哈希计算,获得Q个实数,用这Q个实数形成
签名向量;(4)设定模糊索引表第一行(1,j)为加密英文关键字Enc
K
(W
i
),1≤j≤m;(5)(6)生成模糊索引表。6.根据权利要求2所述的面向云环境的支持模糊关键词排序的可搜索加密方法,其特征在于:加密文档步骤为:为访问控制结构τ中的每一个节点x(包括叶子节点)选择一个多项式...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。