[发明专利]一种多用户动态关键词可搜索加密方法有效
申请号: | 201610200952.7 | 申请日: | 2016-03-31 |
公开(公告)号: | CN105897419B | 公开(公告)日: | 2018-12-18 |
发明(设计)人: | 江颉;林鹏;陈铁明;王小号;陈波 | 申请(专利权)人: | 浙江工业大学 |
主分类号: | H04L9/30 | 分类号: | H04L9/30;H04L9/08;H04L29/06 |
代理公司: | 杭州斯可睿专利事务所有限公司 33241 | 代理人: | 王利强 |
地址: | 310014 浙江省*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 一种多用户动态关键词可搜索加密方法,包括如下步骤:步骤1、输入参数1k,生成系统参数;步骤2、输入用户标识uid,输出用户私钥Kuid与用户公钥PKuid;步骤3、输入用户标识uid,根据uid撤销用户;步骤4、输入文件集合F,关键词集合W,用户私钥Kuid与用户公钥PKuid,生成索引结构I;步骤5、输入用户私钥Kuid,关键词w,输出搜索凭证Tw;步骤6、输入用户标识uid,搜索凭证Tw,输出满足条件的索引Iw;步骤7、输入文件f,输入关键词集合W,用户私钥Kuid,输出添加凭证TA;步骤8、输入添加凭证TA,进行添加操作;步骤9、输入文件f,用户私钥Kuid,输出添加凭证Td;步骤10、输入删除凭证,进行删除操作。本发明提供一种动态更新性能较好、搜索效率较高的一种多用户动态关键词可搜索加密方法。 | ||
搜索关键词: | 一种 多用户 动态 关键词 搜索 加密 方法 | ||
【主权项】:
1.一种多用户动态关键词可搜索加密方法,其特征在于:该可搜素加密方法包括如下步骤:步骤1、输入参数1k,生成系统参数,过程如下:初始化生成双线性群G1,G2,群Zp,两个随机向量机H1:{0,1}*→{0,1}*,H2:{0,1}*→{0,1}*,哈希函数h:{0,1}*→G1,随机选取a,b,c∈Zp,并将a,b,c作为系统密钥MK保存;MK={a,b,c} (1)步骤2、输入用户标识uid,输出用户私钥Kuid与用户公钥PKuid,过程如下:授权机构为用户组中的用户分发密钥,随机选取Kuid∈Zp,然后根据公式(2)计算PKuid,其中g为群G1的生成元:授权机构通过安全信道将用户私钥Kuid分发给用户,并同时将用户标识与公钥{uid,PKuid}分发给云服务器;步骤3、输入用户标识uid:云服务器根据用户标识uid,删除其对应的公钥PKuid即可完成用户撤销操作;步骤4、输入文件集合F,关键词集合W,用户私钥Kuid与用户公钥PKuid,生成索引结构I,用户完成与服务器的交互,开始构建加密索引,令As和Ad表示搜索数组和删除数组,令Ts和Td表示速查表,按照如下处理:4.1)构建Lw列表,Lw表示包含关键词w的文件链表,将Lw中的节点随机存储于搜索数组As中,并对各项按公式(6)加密,其中addrs表示节点N在As中对应的位置,id表示文件id,其中随机选取ri∈Zp,其中P(w),F(w),G(w)的计算需要交互执行;4.2)保存Lw列表中第一个节点信息到Ts,按公式(7)计算,其中addrd表示节点在Ad中对应的位置,表示N1在Ad中对应的节点;4.3)构建Lf列表,Lf表示包含文件f的关键词链表,将Lf中的节点随机存储于删除数组Ad中,并对各项按公式(8)加密,其中N+1表示N节点后一节点,N‑1则为前一节点,其中随机选取ri∈Zp;4.4)保存Lf列表中第一个节点信息到Td,按公式(9)计算:4.5)令(F1,F2,...,Fz)为As中未使用节点,对应的Ad中节点为(F1',F2',...,Fz'),令Ts[free]=(addrs(Fz),0log|A|),并令As[addrs(Fi)]={0log|A|,addrs(Fi‑1),addrd(Fi′)};其中|A|表示As与Ad的长度;4.6)Ad,As将剩余节点填充为随机字符串,最终将(As,Ts,Ad,Td)传至云服务器;步骤5、输入用户私钥Kuid,关键词w,输出搜索凭证Tw,过程如下:用户利用私钥,按公式(10)生成搜索凭证Tw,并将搜索凭证交于服务器;步骤6、输入用户标识uid,搜索凭证Tw,输出满足条件的索引Iw,过程如下:云服务器获得用户搜索凭证Tw,根据uid,查找对应的PKuid,分别按公式(11)计算:云服务器从Ts中查询F(w),若不存在该项,则返回NULL,若Ts存在F(w),则令查找N1=As[α],令v1,r1=As[α],计算对i≥2,继续按上述步骤计算,直到αi+1=0,最终返回结果I={id1,...,idm};步骤7、输入文件f,输入关键词集合W,用户私钥Kuid,输出添加凭证TA,过程如下:用户与服务器进行交互,交互过程在后文进行说明,交互结束后,用户生成F(x),G(x),P(x),其中x∈{f,w1,w2,...},随机选取ri∈Zp,并按照公式(12)生成添加凭证TA:TA={F(f),G(f),λ1,λ2,...λ|w|}步骤8、输入添加凭证TA,进行添加操作,遍历λ1,λ2,...λ|w|,对每个λi做如下操作:8.1)查找free列表中第后一个节点,即计算8.2)更新free列表,即令8.3)取关键词对应文件列表中的头节点,若Ts[λi[1]]不存在,则令α1,都为0;8.4)将新节点放置到并更新该点前向节点信息,8.5)更新Ts信息,令Ts8.6)更新信息,令其中若Ts[λi[1]]不存在,则跳过该步骤;8.7)更新新增节点对应的删除列表中的信息,即令当i=|W|,则用0代替8.8)若i=1,则令步骤9、输入文件f,用户私钥Kuid,输出添加凭证Td,过程如下:按公式(13)生成删除凭证,并向服务器发送步骤10、输入删除凭证TD,过程如下:首先取出uid对应的用户公钥PKuid,按式(14)执行:服务端取出Lf列表,即计算并从Td中移除该项;遍历Lf列表,令1≤i≤|Lf|,继续执行以下步骤:10.1)计算其中(Di,r)=Ad[α′i];10.2)删除Di节点,即用随机字符串填充Ad[α′i];10.3)取得free节点列表中最后一个节点,即10.4)更新Ts[free],令Ts[free]={α4,0};10.5)若存在N‑1节点,即α5≠0,则其中{β1,β2,r‑1}=As[α5],同时更新该节点在删除列表中的对应信息即其中10.6)若不存在N‑1节点,即α5=0,且不存在N+1,即α5=0,存在直接删除该节点对应的Ts项,即Ts[μ];10.7)若不存在N‑1节点,即α5=0,但是存在N+1,即α5≠0,则删除节点是对应关键词链表的头节点,需要更新Ts[μ],使得它指向N+1,即令10.8)若存在N+1节点,即α5≠0,则令其中10.9)令α′i+1=α1。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江工业大学,未经浙江工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610200952.7/,转载请声明来源钻瓜专利网。
- 上一篇:一种消息推送的方法与设备
- 下一篇:用于通信的方法和装置