基于带有存储结构的Bloom过滤器的关键词可搜索加密方法_3

文档序号:9350285阅读:来源:国知局
那么
[0111] 下面分析不终止的概率。
[0112] 假设敌手4在每次的询问过程都进行了p次密文询问q次搜索令牌询 问。那么挑战者S在询问1和2都不终止的概率为s2(p+nq),在挑战阶段不终止的概率 为I-S,因此在整个游戏过程不终止的概率为S2(p+nq) (1-8),求导计算出概率最大时的
来解决DDH问题。
[0113] 对本发明进行总结:
[0114] 本发明基于带有存储结构的Bloom过滤器的关键词可搜索加密方法,能够在加 密的数据集合上进行搜索查询,具体方法是,先为文件集合生成索引集合,再使用可搜索 加密对这些索引进行加密以隐藏索引内容,并且加密要满足如下性质:1)给定多个关键字 (即索引)的一个令牌,可以获得包含这些关键字的所有文件的指针;2)没有令牌,索引的 内容是隐藏的;3)只有具有相关密钥的用户才能生成令牌;4)检索过程除了暴露了哪些文 件共享某个关键字外,不会暴露任何有关文件和关键字的具体信息。可搜索加密的核心作 用是为云存储服务提供:一是用户自己控制其数据;二是数据的安全性质可以通过密码学 原理验证,而不是通过法律、物理设备来确定安全性。
[0115] 实施例:
[0116] 假设用户要将一个文档D,包含4个关键词:西安、杭州、北京、上海,存放在数据库 中,此后这个用户又将检索包含2个关键词:西安、杭州的文档,设Bloom过滤器中数组M的 大小为n= 12,哈希函数的个数为m= 3,
[0117] 首先通过步骤1系统参数初始化和步骤2用户密钥生成,
[0118] (1)用户上传文档阶段:
[0119] 利用3个不同的哈希函数分别计算出关键词组{北京,上海,杭州,西安}的哈希 值如下表:
[0120] 表1关键词哈希表
[0124] 根据索引M(大小为n)生成其对应的压缩索引矿(大小为n)为111110101001,
[0125] 然后将文档D的索引M存放到数据库的索引表中,压缩索引矿存放在压缩索引表 中。
[0126] (2)用户检索文档阶段
[0127] 计算西安、杭州的3个哈希值如表1所示,生成搜索令牌t= 〈]?m,其 中压缩索引!!^为limooooooo,将t上传到服务器进行匹配操作。
[0128] 当服务器对文档D的进行匹配时,有属于M,进行第二步匹配,统计M在 {1,2, 3, 4, 5}位处各个密文一共出现的次数如下表所示:
[0129] 表2密文频数表
[0130]
[0131] 将出现次数等于3的密文C1,C2,C3设为密文集,又因为密文集中元素的个数为 3大于待检索关键词的个数2,因此对密文集进行组合,构成新的密文集IC1,CJ,IC1,C3}, {C2,C3},最终对新构成的3个密文集进行第三步匹配,当密文集为IC1,C2}时,等式成立,因 此文档匹配成功,则输出文档D为需要找的文档。
【主权项】
1. 基于带有存储结构的Bloom过滤器的关键词可搜索加密方法,其特征在于,具体按 照以下步骤实施: 步骤1、系统参数初始化; 步骤2、用户密钥生成; 步骤3、检索索引生成; 步骤4、搜索令牌生成; 步骤5、云存储服务器关于密文关键词的搜索。2. 根据权利要求1所述的基于带有存储结构的Bloom过滤器的关键词可搜索加密方 法,其特征在于,所述步骤1具体过程为: 建立一个带有存储结构的Bloom过滤器,Bloom过滤器是由两部分构成,其一为一 个大小为η的数组M,其二为m个值域为[1,···,]!]的独立随机哈希函数Ii1, ···,)!",这里 的m个哈希函数都是从{0, IK映射到[1,一,η]中任意整数的函数,用数学函数表达为: Iii: {0, 1Γ- [1,···,]!],其中,i = 1,"'m,由云存储服务器Serv输入安全参数λ,选择 Gt为阶为大素数ρ的群,其中g是G ^勺生成元,选择一个哈希函数 从1到P-I的整数,输出公共参数P = W1, GT,g,H>。3. 根据权利要求1所述的基于带有存储结构的Bloom过滤器的关键词可搜索加密方 法,其特征在于,所述步骤2具体过程为:由用户端自主进行计算,接收云存储服务器Serv输出的公共参数P,随机选择 以乍为自己的私钥sk =〈X〉,保密。4. 根据权利要求1所述的基于带有存储结构的Bloom过滤器的关键词可搜索加密方 法,其特征在于,所述步骤3具体按照以下步骤实施: 步骤(3. 1)、设用户选择的待加密文档集合为D = (D1,…,Dn),用户选择待加密文档D 的关键词组W = (W1,…,wj,I < i < n,接收公共参数P和上一步生成的密钥sk,对于关 键词组W= {wd···^]中的每一个关键词WiQe [1,"*,1]),随机选择^(上的元素8;,计 算步骤(3. 2)、设密文Cwi = 山利用Bloom过滤器生成关键词组W= [W1,…,wj 的索引M和压缩索引索引M和压缩索引,的大小都为n,哈希函数的个数为m,计算:并将μ 所对应的密文插入到Μ[ μ d中; 步骤(3. 3)、根据数组M生成其对应的压缩索引Μ%即如果M的第i(i = 1,···,!〇个分 量中不空,则对应的将,的第i个分量标记为1,然后根据上传文档的先后顺序,将M插入 到数据库的索引表中,将,添加到数据库的压缩索引表中。5. 根据权利要求1所述的基于带有存储结构的Bloom过滤器的关键词可搜索加密方 法,其特征在于,所述步骤4具体按照以下步骤实施: 步骤(4. 1)、待搜索用户在用户端输入待搜索的关键词组、和密钥 sk,其中I1Sl,生成一个连接关键词组的搜索令牌t,索令牌t中的所有关键词为Wl,其中, i e [1,…,I1], K 1,对于所有待检索的关键词组来生成令牌,选择上的一个随机元素 r,计算:步骤(4. 2)、新生成一个压缩索引IT*,其大小为n,即IT*为一个大小为11的数组,并 且初始化的每一个元素都为〇,计算每一个关键词Wj的μ U= Iii(W^j),其中,;[£[1^·· ,m],j e [1,…,I1],并将标记为1,输出搜索令牌6. 根据权利要求1所述的基于带有存储结构的Bloom过滤器的关键词可搜索加密方 法,其特征在于,所述步骤5具体按照以下步骤实施: 步骤(5. 1)、云存储服务器Serv接收到待匹配的搜索令牌〈??Τ1,父:〇,服务器从数据库中检索所有存储文档对应的索引和压缩索引,设当前检索到的索引为M和压缩索引为Μ% 步骤(5. 2)、进行判断: (a) 判断压缩索引是否包含在,中,即£ /2,这里 U IM* (i) = 1},如果.Z1 G ./2,即炉包含在M*中,则进行下一步操作; (b) 根据压缩索引蘇气,对所有M[i]中存放的重复元素进行统计,其中i满足 ,找到所有重复个数等于m的元素,并将其作为密文集<cWi》(I S ? S ?),由于 存在哈希碰撞的情况,因此所得到的密文集中密文个数会存在大于待检索的关键词的个数 的情况,这时,需要对密文集进行组合形成一系列新的密文集,并保证密文集的个数 和待检索的关键词的个数相同,然后对新的密文集进行下一步操作; (C)对所有新生成的密文集进行如下判断,对于%》MAvg }., ? =〈Α??Τ》,判断下式是否成立:如果上式成立,则匹配成功,输出1给用户,反之输出0。
【专利摘要】本发明公开了一种基于带有存储结构的Bloom过滤器的关键词可搜索加密方法,步骤包括:步骤1、系统参数初始化;步骤2、用户密钥生成;步骤3、检索索引生成;步骤4、搜索令牌生成;步骤5、云存储服务器关于密文关键词的搜索,本发明使得用户能够利用连接关键词的陷门搜索加密文档,数据用户可以将自己的数据加密后,存放到云存储服务器,需要时候,可以通过关键词检索令牌检索到需要的密文数据,然后下载解密;本发明解决了现有技术中存在的现有的加密方法密文检索效率不高的问题。
【IPC分类】G06F17/30, G06F21/60
【公开号】CN105069358
【申请号】CN201510408233
【发明人】王尚平, 龙庚, 刘丽华
【申请人】西安理工大学
【公开日】2015年11月18日
【申请日】2015年7月13日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1