【技术实现步骤摘要】
细粒度的关键词加密及基于布隆过滤器的安全索引方法
[0001]本专利技术涉及一种密文搜索方法,尤其涉及一种细粒度的关键词加密及基于布隆过滤器的安全索引方法。
技术介绍
[0002]随着大数据时代的到来,云计算飞速发展,海量数据夜以继日持续产出,比如电子数据,移动定位数据等。这些数据纷乱繁杂并且海量,人们在大数据环境中处理有效信息更加困难,云存储因此问世,使得用户无需考虑本地物理存储空间不足的问题。但是由于云中数据是由外包公司进行管理,因此敏感数据的隐私性得到挑战,各类云中加密方案,密文搜索方案,以及应对海量数据的高效搜索方案应运而生。
[0003]实际应用中,每个用户都在云中存有一些加密文件,这些加密文件在需要时会被自己或其他用户检索并下载。
[0004]Boneh等人在2004年提出了公钥可搜索加密协议方案,协议实现了密文关键词检索功能。(Boneh D,Di Crescenzo G,Ostrovsky R,Persiano G.Public key encryption with keyword search.In:Camenisch LJ,Cachin C,eds.Proc.of the Advances in Cryptology—EUROCRYPT 2004.LNCS 3027,Berlin:Springer
‑
Verlag,2004.506
‑
522)。在他们的方案中,用户只能搜索用自己公钥加密的数据,不能搜索用其他用户公钥加密的数据,效率较低,实用性不
【技术保护点】
【技术特征摘要】
1.一种细粒度的关键词加密及基于布隆过滤器的安全索引方法,其特征在于:包括以下步骤;(1)系统初始化,包括步骤(1.1)
‑
(1.2);(1.1)输入安全参数k∈Z
+
,生成系统参数params;params=(P,Q,e,H(),H1(),H2()...,H
k
())其中,P和Q为从加法群G1中随机选取的两个元素,H()是G
14
→
G1的哈希函数,H1(),H2()...,H
k
()是随机选择的k个从乘法群G
T
中的元素映射到范围是[1,L
BF
]的位置的相互独立的哈希函数,G1、G
T
的阶都是素数p(|p|=k),L
BF
为布隆过滤器的长度,Z
+
为正整数;(1.2)对每个用户,确定其在云端存储的一批文件;对用户U,一批文件为s个,设置用户U的授权次数值tag
U
并初始化为0;对用户U的每个文件,设置一布隆过滤器并初始化为0,其中文件i对应的布隆过滤器为(2)生成密钥:输入安全参数k∈Z
+
和系统参数params,为每个用户生成公钥和私钥;其中,用户U的公钥为pk
U
、私钥为sk
U
;(3)用户对自己的每个文件构建关键词明文列表,用公钥加密得到密文列表,其中用户U的文件i加密方法为包括步骤(31)
‑
(33);(31)选取用户U的文件i,根据文件内容确定多个关键词明文;(32)对每个关键词明文,用系统参数params、用户U的公钥pk
U
生成对应的密文,其中用户U的文件i第j个密文,标记为C
U,i,j
,且,且,且分别为C
U,i,j
的第一部分密文到第四部分密文;(33)将生成的所有密文按顺序构成文件i的密文列表;(4)用户对自己的所有文件进行一次授权,云端对用户的每个文件生成一次授权布隆过滤器,其中用户U的文件i的一次授权布隆过滤器的生成方法包括步骤(41)
‑
(46);(41)用户U生成第一授权令牌auth1
U
=(x
U
′
,y
U
′
),x
′
U
、y
U
′
为私钥sk
U
中的两个元素;(42)根据第一授权令牌为用户U的文件i中每个密文计算第一中间密文值,其中第j个密文的第一中间密文值通过下式计算;(43)计算文件i中每个密文的第一表现值,其中第j个密文的第一表现值通过下式计算;(44)对每个密文的表现值,用系统参数params中的H1(),H2()...,H
k
()进行哈希映射得到k个第一定位值,其中,的k个第一定位值为(45)找到中,所有位置与定位值相同的元素,将其值置为1,得到一次授权布隆过滤器;
(46)当用户U所有文件均生成一次授权布隆过滤器后,修改用户U的授权次数值tag
U
=1;(5)当用户U查询一文件时,选择一个关键词明文生成陷门TD
U
=(td
3,U
,td
4,U
);td
3,U
、td
4,U
分别为陷门第一部分和陷门第二部分,该关键词明文位于关键词明文列表中的第l个;(6)云端验证用户及密文的合法性,验证通过后返回用户查询的文件,其中对用户U的验证包括步骤(61)
‑
(65);(61)验证用户U,若tag
U
=1则用户U合法,进行下一步,否则终止验证;(62)验证密文,对步骤(5)中的关键词明文生成密文对步骤(5)中的关键词明文生成密文计算下面等式;若等式相等,则密文合法,进行下一步,否则终止验证;(63)计算第一布隆查询值V1,(64)用系统参数params中的H1(),H2()...,H
k
()对V1进行哈希映射得到k个第一检测值H1(V1),H2(V1)...,H
k
(V1);(65)在中,查找位置与第一检测值相同的元素,若均为1,则将用户U查询的文件返回给用户U,否则终止验证。2.根据权利要求1所述的细粒度的关键词加密及基于布隆过滤器的安全索引方法,其特征在于:步骤(2)中,对用户U,公钥pk
U
和私钥sk
U
通过下式生成;pk
U
=(Q
U
′
,W
U
,W
U
′
)sk
U
=(x
U
′
,y
U
,y
U
′
)式中,sk
U
的三个元素x
U
′
、y
U
、y
U
′
为随机从中选取的三个数,是素数阶为p的整数加法群,pk
U
的三个元素Q
U
′
、W
U
、W
U
′
分别通过下式计算;Q
U
′
=x
【专利技术属性】
技术研发人员:廖永建,曾书涵,董英杰,王宏伟,何金霖,熊欢,
申请(专利权)人:电子科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。