CN105897419A - 一种多用户动态关键词可搜索加密方法 - Google Patents

一种多用户动态关键词可搜索加密方法 Download PDF

Info

Publication number
CN105897419A
CN105897419A CN201610200952.7A CN201610200952A CN105897419A CN 105897419 A CN105897419 A CN 105897419A CN 201610200952 A CN201610200952 A CN 201610200952A CN 105897419 A CN105897419 A CN 105897419A
Authority
CN
China
Prior art keywords
uid
user
node
voucher
addr
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610200952.7A
Other languages
English (en)
Other versions
CN105897419B (zh
Inventor
江颉
林鹏
陈铁明
王小号
陈波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University of Technology ZJUT
Original Assignee
Zhejiang University of Technology ZJUT
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang University of Technology ZJUT filed Critical Zhejiang University of Technology ZJUT
Priority to CN201610200952.7A priority Critical patent/CN105897419B/zh
Publication of CN105897419A publication Critical patent/CN105897419A/zh
Application granted granted Critical
Publication of CN105897419B publication Critical patent/CN105897419B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种多用户动态关键词可搜索加密方法,包括如下步骤:步骤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、输入删除凭证,进行删除操作。本发明提供一种动态更新性能较好、搜索效率较高的一种多用户动态关键词可搜索加密方法。

Description

一种多用户动态关键词可搜索加密方法
技术领域
本发明属于信息安全可搜索加密领域,尤其是一种关键词可搜索加密方法。
背景技术
随着云技术的快速发展,越来越多企业或个人倾向于将数据存于云服务器中。为了保证上传数据的安全性,用户一般会对数据进行加密。但是加密后的数据失去了语义特性,云服务器无法向用户提供搜索服务。关键词可搜索加密是一种特殊的加密技术,能够解决上述问题。该技术能够实现合法用户搜索关键词密文,并且保证攻击者无法通过关键词密文或者搜索凭证获得用户查询的关键词信息。
在云环境应用中,多用户共享数据是常见应用。例如,考虑如下场景,学校内的教师可能会经常分享教学或者学术研究成果,为了方便管理和分享,可能会将数据存于云端,并且可能希望仅仅该校教师能够读取、上传、搜索数据。该场景同样支持多对多模型,但是用户数量被限制在一个组织团体内。现有的方案在多用户、动态更新、用户撤销、搜索效率等方面存在不足。
发明内容
为了克服现有关键词可搜索加密方法的动态更新性能较差、搜索效率较低的不足,本发明提供一种动态更新性能较好、搜索效率较高的一种多用户动态关键词可搜索加密方法。
为了解决上述技术问题提出如下的技术方案:
一种多用户动态关键词可搜索加密方法,该方法包括如下步骤:
步骤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中对应的位置,表示N在Ad中对应的节点;
4.3)构建Lf列表,Lf表示包含文件f的关键词链表,将随机存储于删除数组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[α],计算
id1,对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
步骤8、输入添加凭证TA,进行添加操作,遍历λ12,...λ|w|,对每个λi做如下操作:
8.1)查找free列表中第后一个节点,即计算
8.2)更新free列表,即令
8.3)取关键词对应文件列表中的头节点,若Tsi[1]]不存在,则令α1,都为0;
8.4)将新节点放置到并更新该点前向节点信息,
8.5)更新Ts信息,令
8.6)更新信息,令其中
若Tsi[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,则其中
12,r-1}:=As5],同时更新该节点在删除列表中的对应信息即
其中
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
进一步,所述步骤4和步骤7中,用户与云服务器交互执行,交互过程如下:
交互1:首先用户遍历文件集合F={f1,f2,...},W={w1,w2,...},对集合中的每个元素xi,首先随机选取ri∈Zp,按公式(3)计算:
将Q={Q(x)|x∈W|x∈F},uid发送至云服务器,云服务器进行交互2;
交互2:云服务器取出uid对应的PKuid,按公式(4)计算:
F′(xi)=e(AKuid,Q(xi)),G′(xi)=e(BKuid,Q(xi)),P′(xi)=e(CKuid,Q(xi))(4)
服务器将F′(xi),G′(xi),P′(xi)发送给用户,用户进行交互3;
交互3:用户根据公式(5)计算:
本发明的有益效果为:动态更新性能较好、搜索效率较高。
具体实施方式
下面对本发明做进一步说明。
一种多用户动态关键词可搜索加密1方法,包括如下步骤:
步骤1、Setup(1k):输入参数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、KeyGenerate(uid)→Kuid,PKuid:输入用户标识uid,输出用户私钥Kuid与用户公钥PKuid由授权机构执行,授权机构为用户组中的用户分发密钥,随机选取Kuid∈Zp,然后根据公式(2)计算PKuid,其中g为群G1的生成元:
授权机构通过安全信道将用户私钥Kuid分发给用户,并同时将用户标识与用户公钥{uid,PKuid}分发给云服务器;
步骤3、Revoke(uid):输入用户标识uid
由云服务器执行,云服务器根据用户标识uid,删除其对应的公钥PKuid即可完成用户撤销操作;
步骤4、BuildIndex(F,W,Kuid;PKuid)→I,输入文件集合F,关键词集合W,用户私钥Kuid与用户公钥PKuid,生成索引结构I;
用户与服务器交互执行,交互过程如下:
交互1:首先用户遍历文件集合F={f1,f2,...},W={w1,w2,...},对集合中的
每个元素xi,首先随机选取ri∈Zp,按公式(3)计算。
将Q={Q(x)|x∈W|x∈F},uid发送至云服务器,云服务器进行交互2;
交互2:云服务器取出uid对应的PKuid,按公式(4)计算。
F′(xi)=e(AKuid,Q(xi)),G′(xi)=e(BKuid,Q(xi)),P′(xi)=e(CKuid,Q(xi))(4)
服务器将F′(xi),G′(xi),P′(xi)发送给用户,用户进行交互3;
交互3:用户根据公式(5)计算。
F(x)=F′(x)r,G(x)=G′(x)r,P(x)=P′(x)r (5)
至此,用户完成与服务器的交互,开始构建加密索引,令As和Ad表示搜索数组和删除数组,令Ts和Td表示速查表;
4.1)构建Lw列表,Lw表示包含关键词w的文件链表,将Lw中的节点随机存储于搜索数组As中,并对各项按公式(6)加密,其中addrs表示节点N在As中对应的位置,id表示文件id,其中随机选取ri∈Zp
4.2)保存Lw列表中第一个节点信息到Ts,按公式(7)计算,其中addrd表示节点在Ad中对应的位置,表示N在Ad中对应的节点;
4.3)构建Lf列表,Lf表示包含文件f的关键词链表,将随机存储于删除数组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′)};
4.6)Ad,As将剩余节点填充为随机字符串,最终将(As,Ts,Ad,Td)传至云服务器;
步骤5、SearchTokenGen(Kuid,w)→Tw,输入用户私钥Kuid,关键词w,输出搜索凭证Tw
由用户执行,用户利用私钥,按公式(10)生成搜索凭证Tw,并将搜索凭证交于服务器;
步骤6、Search(uid,Tw,PKuid)→Iw:输入用户标识uid,搜索凭证Tw,输出满足条件的索引Iw
由云服务器执行,云服务器获得用户搜索凭证Tw,根据uid,查找对应的PKuid,分别按公式(11)计算:
云服务器从Ts中查询F(w),若不存在该项,则返回NULL,若Ts存在F(w),则令查找N1=As[α]=v1,r1,计算
id1,对i≥2,继续按上述步骤计算,直到αi+1=0,最终返回结果I={id1,...,idm};
步骤7、AddTokenGen(f,W,Kuid)→TA:输入文件f,输入关键词集合W,用户私钥Kuid,输出添加凭证TA
用户与服务器进行交互,与BuildIndex(F,W,Kuid;PKuid)→I中交互过程相同,交互结束后,用户生成F(x),G(x),P(x),其中x∈{f,w1,w2,...},随机选取ri∈Zp,并按照公式(12)生成添加凭证TA
步骤8、Add(TA):输入添加凭证TA,进行添加操作
由云服务器执行,遍历λ12,...λ|w|,对每个λi做如下操作:
8.1)查找free列表中第后一个节点,即计算
8.2)更新free列表,即令
8.3)取关键词对应文件列表中的头节点,若Tsi[1]]不存在,则令α1,都为0;
8.4)将新节点放置到并更新该点前向节点信息,
8.5)更新Ts信息,令
8.6)更新信息,令其中
若Tsi[1]]不存在,则跳过该步骤;
8.7)更新新增节点对应的删除列表中的信息,即令
当i=|W|,则用0代替
8.8)若i=1,则令
步骤9、DelTokenGen(f,Kuid)→TD:输入文件f,用户私钥Kuid,输出添加凭证Td
由用户执行,按公式(13)生成删除凭证,并向服务器发送
步骤10、Del(TD):输入删除凭证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,则其中
12,r-1}:=As5],同时更新该节点在删除列表中的对应信息即
其中
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
本实例的多用户动态关键词可搜索加密方法,有权限访问数据的用户形成可信组,组内用户各自持有用于搜索的密钥。利用该密钥,能够高效地实现文件搜索,文件索引添加,文件索引删除。并且可随时撤销或者添加用户到可信组中。

Claims (2)

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的生成元:
PK u i d = { AK u i d = g a / K u i d , BK u i d = g b / K u i d , CK u i d = g c / K u i d } - - - ( 2 )
授权机构通过安全信道将用户私钥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)的计算需要交互执行;
N i : = { ( id i , addr s ( N i + 1 ) ) ⊕ H 1 ( P ( w ) , r i ) , r i } - - - ( 6 )
4.2)保存Lw列表中第一个节点信息到Ts,按公式(7)计算,其中addrd表示节点在Ad中对应的位置,表示N在Ad中对应的节点;
T s [ F ( w ) ] : = ( addr s ( N 1 ) , addr d ( N 1 * ) ) ⊕ G ( w ) - - - ( 7 )
4.3)构建Lf列表,Lf表示包含文件f的关键词链表,将Lf中的节点随机存储于删除数组Ad中,并对各项按公式(8)加密,其中N+1表示N节点后一节点,N-1则为前一节点,其中随机选取ri∈Zp
D i : = { addr d ( D i + 1 ) , addr d ( N - 1 * ) , addr d ( N + 1 * ) , addr s ( N ) , addr s ( N - 1 ) , addr s ( N + 1 ) , F ( w ) ⊕ H 2 ( P ( f ) , r i ) , r i } - - - ( 8 )
4.4)保存Lf列表中第一个节点信息到Td,按公式(9)计算:
T d [ F ( f ) ] : = addr d ( D 1 ) ⊕ G ( f ) - - - ( 9 )
4.5)令(F1,F2,...,Fz)为As中未使用节点,对应的Ad中节点为(F1',F02,...,F′z),令Ts[free]:=(addrs(Fz),0logA),并令
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,并将搜索凭证交于服务器;
T w = { u i d , T = h ( w ) K u i d } - - - ( 10 )
步骤6、输入用户标识uid,搜索凭证Tw,输出满足条件的索引Iw,过程如下:
云服务器获得用户搜索凭证Tw,根据uid,查找对应的PKuid,分别按公式(11)计算:
F ( w ) = e ( AK u i d , T w ) G ( w ) = e ( BK u i d , T w ) P ( w ) = e ( CK u i d , T w ) - - - ( 11 )
云服务器从Ts中查询F(w),若不存在该项,则返回NULL,若Ts存在F(w),则令查找N1=As[α],令v1,r1=As[α],计算id1,对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
T A : = { F ( f ) , G ( f ) , λ 1 , λ 2 , ... λ | w | } A = F ( w i ) , G ( w i ) , { i d ( f ) , 0 } ⊕ H 1 ( P ( w i ) , r i ) , r i , { 0 , 0 , 0 , 0 , 0 , 0 , F ( w i ) } ⊕ H 2 ( P ( f ) , r i ′ ) , r i ′ - - - ( 12 )
步骤8、输入添加凭证TA,进行添加操作,遍历λ12,...λ|w|,对每个λi做如下操作:
8.1)查找free列表中第后一个节点,即计算
8.2)更新free列表,即令
8.3)取关键词对应文件列表中的头节点,若Tsi[1]]不存在,则令α1,都为0;
8.4)将新节点放置到并更新该点前向节点信息,
8.5)更新Ts信息,令
8.6)更新信息,令其中若Tsi[1]]不存在,则跳过该步骤;
8.7)更新新增节点对应的删除列表中的信息,即令当i=|W|,则用0代替
8.8)若i=1,则令
步骤9、输入文件f,用户私钥Kuid,输出添加凭证Td,过程如下:
按公式(13)生成删除凭证,并向服务器发送
T D = { u i d , T = h ( f ) K u i d } - - - ( 13 )
步骤10、输入删除凭证TD,过程如下:
首先取出uid对应的用户公钥PKuid,按式(14)执行:
F ( f ) = e ( AK u i d , T f ) G ( f ) = e ( BK u i d , T f ) P ( f ) = e ( CK u i d , T f ) - - - ( 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,则其中{β12,r-1}:=As5],同时更新该节点在删除列表中的对应信息即其中
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
2.如权利要求1所述的一种多用户动态关键词可搜索加密方法,其特征在于:所述步骤4和步骤7中,用户与云服务器交互执行,交互过程如下:
交互1:首先用户遍历文件集合F={f1,f2,...},W={w1,w2,...},对集合中的每个元素xi,首先随机选取ri∈Zp,按公式(3)计算:
Q ( x i ) = h ( x ) K u i d / r i - - - ( 3 )
将Q={Q(x)|x∈W|x∈F},uid发送至云服务器,云服务器进行交互2;
交互2:云服务器取出uid对应的PKuid,按公式(4)计算:
F′(xi)=e(AKuid,Q(xi)),G′(xi)=e(BKuid,Q(xi)),P′(xi)=e(CKuid,Q(xi)) (4)服务器将F′(xi),G′(xi),P′(xi)发送给用户,用户进行交互3;
交互3:用户根据公式(5)计算:
F ( x i ) = F ′ ( x i ) r i , G ( x i ) = G ′ ( x i ) r i , P ( x i ) = P ′ ( x i ) r i - - - ( 5 ) .
CN201610200952.7A 2016-03-31 2016-03-31 一种多用户动态关键词可搜索加密方法 Active CN105897419B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610200952.7A CN105897419B (zh) 2016-03-31 2016-03-31 一种多用户动态关键词可搜索加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610200952.7A CN105897419B (zh) 2016-03-31 2016-03-31 一种多用户动态关键词可搜索加密方法

Publications (2)

Publication Number Publication Date
CN105897419A true CN105897419A (zh) 2016-08-24
CN105897419B CN105897419B (zh) 2018-12-18

Family

ID=57011892

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610200952.7A Active CN105897419B (zh) 2016-03-31 2016-03-31 一种多用户动态关键词可搜索加密方法

Country Status (1)

Country Link
CN (1) CN105897419B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106789007A (zh) * 2016-12-16 2017-05-31 中国科学院软件研究所 一种基于密文检索的网络信息审查方法与系统
CN108920968A (zh) * 2018-06-29 2018-11-30 南京理工大学 一种基于连接关键词的文件可搜索加密方法
CN110166466A (zh) * 2019-05-28 2019-08-23 湖南大学 一种可高效更新权限的多用户可搜索加密方法和系统
CN110489998A (zh) * 2019-08-21 2019-11-22 青岛大学 一种可搜索加密方法、装置、设备及可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104022866A (zh) * 2014-05-22 2014-09-03 西安理工大学 云存储中多用户密文关键词可搜索的加密方法
CN104852801A (zh) * 2015-02-13 2015-08-19 陕西师范大学 一种可搜索的公钥加密方法
CN105049196A (zh) * 2015-07-13 2015-11-11 西安理工大学 云存储中指定位置的多个关键词可搜索的加密方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104022866A (zh) * 2014-05-22 2014-09-03 西安理工大学 云存储中多用户密文关键词可搜索的加密方法
CN104852801A (zh) * 2015-02-13 2015-08-19 陕西师范大学 一种可搜索的公钥加密方法
CN105049196A (zh) * 2015-07-13 2015-11-11 西安理工大学 云存储中指定位置的多个关键词可搜索的加密方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
WENJUN LUO, YAQIONG CHEN, YOUSHENG ZHOU: "Dynamic Searchable Encryption with Multi-User Private Search for Cloud Computing", 《2015 IEEE INTERNATIONAL CONFERENCE ON COMPUTER AND INFORMATION TECHNOLOGY; UBIQUITOUS COMPUTING AND COMMUNICATIONS》 *
ZHIQUAN LV,MIN ZHANG,DENGGUO FENG: "Multi-User Searchable Encryption with Efficient Access Control for Cloud Storage", 《2014 IEEE 6TH INTERNATIONAL CONFERENCE ON CLOUD COMPUTING TECHNOLOGY AND SCIENCE》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106789007A (zh) * 2016-12-16 2017-05-31 中国科学院软件研究所 一种基于密文检索的网络信息审查方法与系统
CN106789007B (zh) * 2016-12-16 2020-02-11 中国科学院软件研究所 一种基于密文检索的网络信息审查方法与系统
CN108920968A (zh) * 2018-06-29 2018-11-30 南京理工大学 一种基于连接关键词的文件可搜索加密方法
CN110166466A (zh) * 2019-05-28 2019-08-23 湖南大学 一种可高效更新权限的多用户可搜索加密方法和系统
CN110166466B (zh) * 2019-05-28 2020-02-21 湖南大学 一种可高效更新权限的多用户可搜索加密方法和系统
CN110489998A (zh) * 2019-08-21 2019-11-22 青岛大学 一种可搜索加密方法、装置、设备及可读存储介质
CN110489998B (zh) * 2019-08-21 2021-02-26 青岛大学 一种可搜索加密方法、装置、设备及可读存储介质

Also Published As

Publication number Publication date
CN105897419B (zh) 2018-12-18

Similar Documents

Publication Publication Date Title
Ge et al. Towards achieving keyword search over dynamic encrypted cloud data with symmetric-key based verification
CN108494768B (zh) 一种支持访问控制的密文搜索方法及系统
He et al. Secure dynamic searchable symmetric encryption with constant client storage cost
Baldimtsi et al. Sorting and searching behind the curtain
CN111143471B (zh) 一种基于区块链的密文检索方法
CN112270006A (zh) 电商平台中隐藏搜索模式和访问模式的可搜索加密方法
CN108062485A (zh) 一种面向多服务器多用户的模糊关键字搜索方法
Egorov et al. ZeroDB white paper
CN114826703B (zh) 基于区块链的数据搜索细粒度访问控制方法及系统
US11290264B2 (en) Secure and efficient multi-server oblivious random access machine in a malicious execution environment
CN105897419A (zh) 一种多用户动态关键词可搜索加密方法
CN112332979B (zh) 云计算环境中的密文搜索方法及系统、设备
CN106559422A (zh) 基于密钥协商的多维密文区间查询方法
Ying et al. Reliable policy updating under efficient policy hidden fine-grained access control framework for cloud data sharing
Peng et al. LS-RQ: A lightweight and forward-secure range query on geographically encrypted data
Yang et al. Assure deletion supporting dynamic insertion for outsourced data in cloud computing
Zhang et al. A dynamic searchable symmetric encryption scheme for multiuser with forward and backward security
Huang et al. A searchable encryption scheme for outsourcing cloud storage
Xu et al. Dynamic chameleon authentication tree for verifiable data streaming in 5G networks
CN113904823B (zh) 常数级授权计算复杂度的属性基可搜索加密方法及系统
Rizomiliotis et al. Simple forward and backward private searchable symmetric encryption schemes with constant number of roundtrips
Karvelas et al. Efficient privacy-preserving big data processing through proxy-assisted ORAM
CN115913725A (zh) 基于异或加密链的前向安全动态可搜索加密方法及系统
CN113132345B (zh) 具有可搜索功能的代理隐私集合求交方法
CN114640458A (zh) 云边协同环境下细粒度的多用户安全可搜索加密方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant