一种多关键词搜索加密方法及系统技术方案

技术编号:36853298 阅读:10 留言:0更新日期:2023-03-15 17:32
本发明专利技术公开了一种多关键词搜索加密方法及系统,涉及加密搜索技术领域,首先服务器获取客户端发送的验证链VIC、关键词链KIC和加密文件集合F

【技术实现步骤摘要】
一种多关键词搜索加密方法及系统


[0001]本专利技术涉及加密搜索
,更具体的说是涉及一种多关键词搜索加密方法及系统。

技术介绍

[0002]现今社会,用户通常有存储大量文件的需求。为了使用户能够便捷地从大量文件中快速定位到目标文件,现有技术提供了文件搜索功能。以文件存储在云端服务器为例,用户可以在云端搜索界面输入文件关键词,云端服务器根据该文件关键词进行文件搜索,搜索出与文件关键词相匹配的多个文件,并反馈给用户,从而使得用户能够高效访问。
[0003]然而,在终端的文件较多时,遍历所有文件需要消耗的时间很长,搜索文件的效率较低,不能及时为用户提供所需的文件,用户的文件搜索体验较差,并且搜索的准确性、安全性等均无法保证。
[0004]基于此,如何提供一种效率更高、搜索结果更准确、更完整、更安全的的文件搜索方法,是本领域技术人员亟需解决的问题。

技术实现思路

[0005]有鉴于此,本专利技术提供了一种多关键词搜索加密方法及系统。
[0006]为了实现上述目的,本专利技术提供如下技术方案:
[0007]一种多关键词搜索加密方法,其特征在于,包括以下步骤:
[0008]步骤1、服务器获取客户端发送的验证链VIC、关键词链KIC和加密文件集合F
i

,对存储内容进行设置;
[0009]步骤2、服务器获取客户端发送的搜索陷门Tw;
[0010]步骤3、服务器依据所述搜索陷门Tw进行搜索,并将搜索结果发送至客户端。
[0011]可选的,所述步骤1中,客户端的加密文件集合F
i

的生成方法为:
[0012]客户端确定安全参数λ和数据文件集合F
i

[0013]客户端根据所述安全参数λ生成密钥k1,k2,k3和私钥sk;
[0014]客户端选取对称加密算法,并对数据文件集合F
i
进行加密,得到加密文件集合F
i


[0015]可选的,所述步骤1中,客户端的验证链VIC的生成方法为:
[0016]根据所述安全参数λ生成哈希函数H和伪随机函数F;
[0017]基于伪随机函数F,对客户端身份u
l
采用密钥k2进行处理,得到处理后的客户端身份ku
l

[0018]对处理后的客户端身份ku
l
分别进行1至Clen次哈希操作,得到验证链其中,Clen表示验证链的长度,H
c
(ku
l
)表示验证链中第c个结点;
[0019]客户端的关键词链KIC的生成方法为:
[0020]对验证链中每个结点进行哈希函数运算,哈希函数为H1={h|h:{0,1}
λ

{0,1}
λ
},
得到每个关键词结点地址,对于第k个关键词w
k
,令其关键词结点地址为Add_Key
k

[0021]选取对称加密算法对关键词w
k
进行加密,得到加密关键词
[0022]随机生成下一关键词结点地址rt
k+1
,rt
k+1
是长度为λ的0和1组成的字符串,用于指向下一个关键词结点;
[0023]依据所述数据文件集合F
i
,生成多位图索引
[0024]使用HMAC函数压缩密钥k3、多位图索引和加密关键词生成验证函数
[0025]对于包含关键词w
k
的每个文件f
j

,使用HMAC函数压缩密钥k3、文件f
j

和加密关键词生成文件验证函数存入集合中;
[0026]得到关键词w
k
生成的结点
[0027]基于所有关键词生成的结点,得到关键词链
[0028]可选的,所述步骤2中,搜索陷门Tw的生成方法为:
[0029]基于伪随机函数F,对客户端身份u
l
采用密钥k2进行处理,得到处理后的客户端身份ku
l

[0030]对处理后的客户端身份ku
l
进行C
l
次哈希操作,得到验证链中第C
l
个结点令其表示为Key;
[0031]客户端对每个查询关键词进行加密,生成加密后的查询关键词集合W
q


[0032]客户端基于查询关键词集合W
q
,设置关键词匹配阈值Thr,其中Thr表示W
q
中关键词数量的二进制形式;
[0033]得到Tw={Key,W

q
,Thr}。
[0034]可选的,所述步骤3具体为:
[0035]服务器依据搜索陷门Tw找到对应的验证链从对应的关键词链中依次搜索结点;
[0036]根据结点地址Add_Key,访问验证链中所有的结点,判断对应的关键词链的关键词是否为查询关键词,用W
q

存储查询成功的加密关键词集合;
[0037]取回W
q

中所有结点信息将其中的多位图索引nbs做与运算,若运算结果等于Thr,表示查询文件满足查询需求,用集合F
q

存储加密文件;
[0038]对于每个匹配成功的加密关键词w
k

∈W
q

和密文f
j

∈F
q

,从中取回相应的验证函数存入集合中;
[0039]得到关键词w
k
的结点信息集合
[0040]基于搜索陷门Tw中包含的所有关键词,得到搜索陷门Tw所包含的所有结点信息RES={res}
Tw

[0041]服务器将RES、F
q

、W
q

发送至客户端。
[0042]可选的,还包括步骤4,客户端对服务器发送的搜索结果进行验证,具体方法为:
[0043]根据服务器发送的搜索结果,判断每一个w
k

∈W
q

是否满足:
[0044][0045]若满足,则计算所有nbs的与运算结果,判断得到的结果是否与返回结果中的F
q

对应相等;
[0046]若相等,对于每个w
k

∈W
q

和f
j

∈F
q

,验证是否满足:
[0047][0048]若满足,则验证成功,客户端接受云服务器返回的搜索结果,否则验证失败。...

【技术保护点】

【技术特征摘要】
1.一种多关键词搜索加密方法,其特征在于,包括以下步骤:步骤1、服务器获取客户端发送的验证链VIC、关键词链KIC和加密文件集合F
i

,对存储内容进行设置;步骤2、服务器获取客户端发送的搜索陷门Tw;步骤3、服务器依据所述搜索陷门Tw进行搜索,并将搜索结果发送至客户端。2.根据权利要求1所述的一种多关键词搜索加密方法,其特征在于,所述步骤1中,客户端的加密文件集合F
i

的生成方法为:客户端确定安全参数λ和数据文件集合F
i
;客户端根据所述安全参数λ生成密钥k1,k2,k3和私钥sk;客户端选取对称加密算法,并对数据文件集合F
i
进行加密,得到加密文件集合F
i

。3.根据权利要求2所述的一种多关键词搜索加密方法,其特征在于,所述步骤1中,客户端的验证链VIC的生成方法为:根据所述安全参数λ生成哈希函数H和伪随机函数F;基于伪随机函数F,对客户端身份u
l
采用密钥k2进行处理,得到处理后的客户端身份ku
l
;对处理后的客户端身份ku
l
分别进行1至Clen次哈希操作,得到验证链其中,Clen表示验证链的长度,H
c
(ku
l
)表示验证链中第c个结点;客户端的关键词链KIC的生成方法为:对验证链中每个结点进行哈希函数运算,哈希函数为H1={h|h:{0,1}
λ

{0,1}
λ
},得到每个关键词结点地址,对于第k个关键词w
k
,令其关键词结点地址为Add_Key
k
;选取对称加密算法对关键词w
k
进行加密,得到加密关键词随机生成下一关键词结点地址rt
k+1
,rt
k+1
是长度为λ的0和1组成的字符串,用于指向下一个关键词结点;依据所述数据文件集合F
i
,生成多位图索引使用HMAC函数压缩密钥k3、多位图索引和加密关键词生成验证函数对于包含关键词w
k
的每个文件f
j

,使用HMAC函数压缩密钥k3、文件f
j

和加密关键词生成文件验证函数存入集合中;得到关键词w
k
生成的结点基于所有关键词生成的结点,得到关键词链4.根据权利要求1所述的一种多关键词搜索加密方法,其特征在于,所述步骤2中,搜索陷门Tw的生成方法为:基于伪随机函数F,对客户端身份u
l
采用密钥k2进行处理,得到处理后的客户端身份ku
l
;对处理后的客户端身份ku
l
进行C
l
次哈希操作,得到验证链中第C
l
个结点H
Cl
(ku
l
),令其表示为Key;
客户端对每个查询关键词进行加密,生成加密后的查询关键词集合W
q

;客户端基于查询关键词集合W
q
,设置关键词匹配阈值Thr,其中Thr表示W
q
中关键词数量的二进制形式;得到Tw={Key,W
q

,Thr}。5.根据权利要求4所述的一种多关键词搜索加密方法,其特征在于,所述步骤3具体为:服务器依据搜索陷门Tw找到对应的验证链从对应的关键词链中依次搜索结点;根据结点地址Add_Key,访问验证链中所有的结点,判断对应的关键词链的关键词是否为查询关键词,用W
q

存储查询成功的加密关键词集合;取回...

【专利技术属性】
技术研发人员:闫玺玺尹沛张静赵宗渠冯苏伟汤永利
申请(专利权)人:河南理工大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1