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

文档序号:10538520阅读:266来源:国知局
一种多用户动态关键词可搜索加密方法
【专利摘要】一种多用户动态关键词可搜索加密方法,包括如下步骤:步骤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、输入删除凭证,进行删除操作。本发明提供一种动态更新性能较好、搜索效率较高的一种多用户动态关键词可搜索加密方法。
【专利说明】
一种多用户动态关键词可搜索加密方法
技术领域
[0001] 本发明属于信息安全可搜索加密领域,尤其是一种关键词可搜索加密方法。
【背景技术】
[0002] 随着云技术的快速发展,越来越多企业或个人倾向于将数据存于云服务器中。为 了保证上传数据的安全性,用户一般会对数据进行加密。但是加密后的数据失去了语义特 性,云服务器无法向用户提供搜索服务。关键词可搜索加密是一种特殊的加密技术,能够解 决上述问题。该技术能够实现合法用户搜索关键词密文,并且保证攻击者无法通过关键词 密文或者搜索凭证获得用户查询的关键词信息。
[0003]在云环境应用中,多用户共享数据是常见应用。例如,考虑如下场景,学校内的教 师可能会经常分享教学或者学术研究成果,为了方便管理和分享,可能会将数据存于云端, 并且可能希望仅仅该校教师能够读取、上传、搜索数据。该场景同样支持多对多模型,但是 用户数量被限制在一个组织团体内。现有的方案在多用户、动态更新、用户撤销、搜索效率 等方面存在不足。

【发明内容】

[0004] 为了克服现有关键词可搜索加密方法的动态更新性能较差、搜索效率较低的不 足,本发明提供一种动态更新性能较好、搜索效率较高的一种多用户动态关键词可搜索加 密方法。
[0005] 为了解决上述技术问题提出如下的技术方案:
[0006] -种多用户动态关键词可搜索加密方法,该方法包括如下步骤:
[0007] 步骤1、输入参数lk,生成系统参数,过程如下:
[0008] 初始化生成双线性群,两个随机向量机Η1:{0,1}%{0,1:Γ,Η2:{0,?Γ4 {0,1}*,哈希函数11:{0,1}*^;1,随机选取&,13,(^2 [),并将3,13,(3作为系统密钥歷保存;
[0009] MK={a,b,c} (1)
[0010] 步骤2、输入用户标识uid,输出用户私钥KUid与用户公钥PKUid,过程如下:
[0011] 授权机构为用户组中的用户分发密钥,随机选取KuldezP,然后根据公式(2)计算 PKuid,其中g为群6!的生成元:
[0012]
(2)
[0013] 授权机构通过安全信道将用户私钥Kuld分发给用户,并同时将用户标识与用户公 钥{uid,PKUid}分发给云服务器;
[0014] 步骤3、输入用户标识uid:云服务器根据用户标识uid,删除其对应的公钥PKuld即 可完成用户撤销操作;
[0015] 步骤4、输入文件集合F,关键词集合W,用户私钥Kuid与用户公钥PKuid,生成索引结 构I,用户完成与服务器的交互,开始构建加密索引,令A4PA d表示搜索数组和删除数组,令 TjPTd表示速查表,按照如下处理:
[0016] 4.1)构建Lw列表,Lw表示包含关键词w的文件链表,将L w中的节点
机存储于搜索数组As中,并对各项按公式(6)加密,其中addrs表示节点N在As中对应的位置, id表示文件id,其中?/?/?//: (/V,, ^ = 0 :随机选取riezp,其中P(w),F(w),G(w)的计算需要交 互执行·
[0017] (6)
[0018] 4.2)保存Lw列表中第一个节点信息到Ts,按公式(7)计算,其中addrd表示节点在Ad 中对应的位置,表示N在Ad中对应的节点;
[0019]
C7)
[0020] 4.3)构建Lf列表,Lf表示包含文件f的关键词链表,将A随机存储于删 除数组Ad中,并对各项按公式(8)加密,其中N +1表示N节点后一节点,N-JlJ为前一节点,其中 at-/也(A^f+1) .= .0,随机选取ri e Zp;
[0021]
(8)
[0022] 4.4)保存Lf列表中第一个节点信息到Td,按公式(9)计算:
[0023]
(9)
[0024] 4.5)令卬1,内,...,匕)为尨中未使用节点,对应的4(1中节点为卬 1'^2',...,匕'),
[0025] 令Ts[free]: = (addrs(Fz),0loglAl),并令
[0026] As[addrs(Fi)]: = {0lc)glAl,addrs(Fi-1) wddrXF/ )};其中 |A| 表示As与Ad的长度。
[0027] 4.6)Ad,As将剩余节点填充为随机字符串,最终将(As,T s,Ad,Td)传至云服务器;
[0028] 步骤5、输入用户私钥Kuld,关键词w,输出搜索凭证Iw,过程如下:
[0029]用户利用私钥,按公式(10)生成搜索凭证,并将搜索凭证交于服务器,Iw为搜索凭 证;
[0030]
(10)
[0031]步骤6、输入用户标识uid,搜索凭证Tw,输出满足条件的索引Iw,过程如下:
[0032]云服务器获得用户搜索凭证Iw,根据uid,查找对应的PKuld,分别按公式(11)计算:
[0033]
(11)
[0034] 云服务器从Ts中查询F(w),若不存在该项,则返回NULL,若Ts存在F(w),则令 (α,α]=「.[F(tr)]@G(H'),查找Ni = As[a],$v1,ri = As[a],计算
[0035] idi,(??? (况2) .:= % Φ //| (/5(u'),Γ|),对i 2,继续按上述步骤计算,直到ai+1 = 〇,最 终返回结果I = {idi, . . .,idm};
[0036] 步骤7、输入文件f,输入关键词集合W,用户私钥Kuld,输出添加凭证T A,过程如下:
[0037] 用户与服务器进行交互,交互过程在后文进行说明,交互结束后,用户生成F(x),G (X),P(x),其中xe {f,W1,W2,...},随机选取riezp,并按照公式(12)生成添加凭证Τα:
[0038]
(12)
[0039] 步骤8、输入添加凭证ΤΑ,进行添加操作,遍历心,\2, . . .λμL,对每个Μ做如下操作:
[0040] 8.1)查找free 列表中第后一个节点,即(φ,〇):=厂[./hv].,计算/?. [φ];
[0041] 8.2)更新free列表,即令厂[./;w]:=((f> 丨.0):
[0042] 8.3)取关键词对应文件列表中的头节点彳 不存在,则令αι,<都为0;
[0043] 8.4)将新节点放置到Φ并更新该点前向节点信息,
[0044]
[0045] 8 · 5)更新Ts信息,令 1: [1]] := (φ,φ*)編人[2];
[0046] 8 · 6)更新信息,令為[α;]:二(2? ,其中
[0047] (IV)4/ [<],若Ts[h[ 1 ]]不存在,则跳过该步骤;
[0048] 8.7)更新新增节点对应的删除列表中的信息,即令
[0049] 卜(Μ5]?卜 ,当i=l wl,贝1J用0代替
[0050] 8·8)若i = 1,则令rd[F(/)M:(pV0)???(/);
[0051 ] 步骤9、输入文件f,用户私钥Kuld,输出添加凭证Td,过程如下:
[0052]按公式(13)生成删除凭证,并向服务器发送
[0053]
(13 )
[0054] 步骤10、输入删除凭证TD,过程如下:
[0055]首先取出uid对应的用户公钥PKuid,按式(14)执行:
[0056]
(14)
[0057] 服务端取出Lf列表,即计算α>Γ,Ρ(/;)]Φ(;(/),并从T冲移除该项;
[0058] 遍历Lf列表,令l$i彡|Lf |,继续执行以下步骤:
[0059] 10.1)计算{α【,α:,α;,α.!,ανα ?、,μ}:=Ζ>???//:(/:>(/)· 1/,)^*
[0060] (Di;r) : =Ad[a7 i];
[00611 10.2)删除Di节点,即用随机字符串填充AdtV i];
[0062] 10.3)取得;1^6节点列表中最后一个节点,即((丨),〇):=7' 1[./><叫;
[0063] 10.4)更新1^[;1^6],令1^[;1^6]: = {€[4,0};
[0064] 10.5)若存在 N-i 节点,即 α5#〇,则 <|α5]:= ,其中
[0065] {Hr-i} : =As[a5],同时更新该节点在删除列表中的对应信息即
[0066] ,(,[~]:=狀具扎 3k: ? (乂,β4具我
[0067] 既,β2,β3, β4,β5,β6,μ*, r-'} := [α2 ]
[0068] 10.6)若不存在仏1节点,8卩€15 = 〇,且不存在叫1,即€[5 = 0,存在直接删除该节点对应 的ts项,即TsM;
[0069] 10.7)若不存在仏1节点,8卩€(5 = 〇,但是存在叫1,8卩€[5辛0,则删除节点是对应关键词 链表的头节点,需要更新Τ 8[μ],使得它指向N+1。即令
[0070] Γ[μ]:= Γ[μ]θ 1α4,α;| ? !α(ι,α,1 ;
[0071] 10.8)若存在叫节点,8卩€15辛〇,则令
[0072] [a;]:=.丨丨3,具 ? a:十(乂?丨3;,丨34爲十a4 ? a.sJh+VfJ,其中
[0073] ?β:1,β2,β3,β 4,β:5,β6,[0?];
[0074]
[0075] 进一步,所述步骤4和步骤7中,用户与云服务器交互执行,交互过程如下:
[0076] 交互1:首先用户遍历文件集合F= {fi,f2, . . .},W= {wi,W2, . . .},对集合中的每个 元素 Xi,首先随机选取neZp,按公式(3)计算:
[0077] Q(x:)=h(xf '' (3)
[0078] 将Q= {Q(x) I xe WI χeF},uid发送至云服务器,云服务器进行交互2;
[0079] 交互2:云服务器取出uid对应的PKuid,按公式⑷计算:
[0080] F7 (xi) =e (AKuid, Q(xi)) ,G7 (xi) =e (BKuid, Q(xi)) ,P7 (xi) =e (CKuid, Q(xi)) (4)
[0081] 服务器将?/&1),6/&1),? /&1)发送给用户,用户进行交互3;
[0082] 交互3:用户根据公式(5)计算:
[0083] F( V ) - F'{ v,)' , G(x,) = Ρ(χ,) = P^f (5)。
[0084] 本发明的有益效果为:动态更新性能较好、搜索效率较高。
【具体实施方式】
[0085]下面对本发明做进一步说明。
[0086] -种多用户动态关键词可搜索加密1方法,包括如下步骤:
[0087]步骤l、Setup(lk):输入参数lk,生成系统参数,过程如下:
[0088] 初始化生成双线性群Gi,G2,群ZP,两个随机向量机Η 1:{0,1}%{0,1:Γ,Η2:{0,?Γ4 {0,1}*,哈希函数11:{0,1}%61,随机选取&,13,(^2 [),并将3,13,(3作为系统密钥歷保存;
[0089] MK={a,b,c} (1)
[0090] 步骤2、1^7661^抑七6(11丨(1)41(祝,?1(心:输入用户标识11丨(1,输出用户私钥1(心与用 户公钥PK uld由授权机构执行,授权机构为用户组中的用户分发密钥,随机选取KuldezP,然 后根据公式(2)计算PK uld,其中g为群6:的生成元:
[0091]
(2)
[0092] 授权机构通过安全信道将用户私钥Kuld分发给用户,并同时将用户标识与用户公 钥{uid,PKUid}分发给云服务器;
[0093] 步骤3、1^¥〇1^(11丨(1):输入用户标识111(1
[0094]由云服务器执行,云服务器根据用户标识uid,删除其对应的公钥PKuld即可完成用 户撤销操作;
[0095] 步骤4、811丨1(1111(161$,1,1^(1;?1^(1)41,输入文件集合?,关键词集合1,用户私钥 Kuid与用户公钥PKuid,生成索引结构I;
[0096]用户与服务器交互执行,交互过程如下:
[0097]交互1:首先用户遍历文件集合F={fi,f2, . . .},W={wi,W2, . . .},对集合中的
[0098]
[0099] 每个元素 Xi,首先随机选取riezp,按公式(3)计算。
[0100]
(3)
[0101] 将Q={Q(x)|xew|xeF},uid发送至云服务器,云服务器进行交互2;
[0102] 交互2:云服务器取出uid对应的PKuid,按公式⑷计算。
[0103] F7 (xi) =e (AKuid, Q(xi)) ,G7 (xi) =e (BKuid, Q(xi)) ,P7 (xi) =e (CKuid, Q(xi)) (4)
[0104] 服务器将F' (Χι),ν (Χι),ρ' (Xl)发送给用户,用户进行交互3;
[0105]交互3:用户根据公式(5)计算。
[0106] F(x)=F/ (x)r,G(x)=G/ (x)r,P(x)=P/ (x)r (5)
[0107] 至此,用户完成与服务器的交互,开始构建加密索引,令As和Ad表示搜索数组和删 除数组,令Ts和Td表示速查表;
[0108] 4.1)构建Lw列表,Lw表示包含关键词w的文件链表,将Lw中的节点Μ為,…,~,丨随 机存储于搜索数组As中,并对各项按公式(6)加密,其中addrs表示节点Ν在As中对应的位置, id表示文件id,其中=_〇 ;随机选取riezp。
[0109]
<6)
[0110] 4.2)保存Lw列表中第一个节点信息到Ts,按公式(7)计算,其中addrd表示节点在Ad 中对应的位置,if表示N在Ad中对应的节点;
[0111]
(T): 5 L 、'」 人 ' I../ ^ \ 1 / / ' /
[0112] 4.3)构建Lf列表,Lf表示包含文件f的关键词链表,将随机存储于删 除数组Ad中,并对各项按公式(8)加密,其中N+1表示Ν节点后一节点,N-JlJ为前一节点,其中 "?/?//;, I /V,. i, j = 0,随机选取ri e Zp;
[0113]
(8)
[0114] 4.4)保存Lf列表中第一个节点信息到Td,按公式(9)计算:
[0115]
.(.:9)
[0116] 4.5)令卬1^2,"_$)为43中未使用节点,对应的六 (1中节点为卬1'^2',"_$'),
[0117] 令Ts[free]: = (addrs(Fz),0lc)glAl),并令
[0118] As[addrs(Fi) ]: = {〇loglAl ,addrs(Fi-i) ^ddraCFi7 )};
[0119] 4.6)Ad,As将剩余节点填充为随机字符串,最终将(As,T s,Ad,Td)传至云服务器;
[0120] 步骤5、36&代111'〇1?51^11(1(1^,¥)41\ ?,输入用户私钥1(祝,关键词¥,输出搜索凭证 Tw;
[0121] 由用户执行,用户利用私钥,按公式(10)生成搜索凭证Iw,并将搜索凭证交于服务 器;
[0122]
(10)
[0123] 步骤6、36&代11(1^(1,^1(心)41^输入用户标识1^(1,搜索凭证1\ ?,输出满足条件 的索引Iw。
[0124] 由云服务器执行,云服务器获得用户搜索凭证Tw,根据uid,查找对应的PKuld,分别 按公式(11)计算:
[0125]
(11;
[0126] 云服务器从Ts中查询F(w),若不存在该项,则返回NULL,若Ts存在F(w),则令 (α,α')二 ,查找Ni = As[a] =v1,ri,计算
[0127] idi,afiWr (,.'V2) := 1'丨@ //丨(/)(u'), /·;丨,对i彡2,继续按上述步骤计算,直到ai+1 = 〇,最 终返回结果I = {idi, . . .,idm};
[0128] 步骤7^(1(11'〇1?51^611(11,1(心)41^:输入文件€,输入关键词集合1,用户私钥1(心, 输出添加凭证Τα;
[0129] 用户与服务器进行交互,与BuildIndex(F,W,KUid;PK Uid) - I中交互过程相同,交互 结束后,用户生成F(x),G(x),P(x),其中xe {f,W1,W2,. . .},随机选取riezp,并按照公式 (12)生成添加凭证Τα:
[0130]
U2)
[0131] 步骤8、Add(TA):输入添加凭证ΤΑ,进行添加操作
[0132] 由云服务器执行,遍历心,\2, . · .λμ,对每个Μ做如下操作:
[0133] S. 1)查找free列表中第后一个节点,ΒΡ(φ,()):= 7: [./,伙],计算(φ.丨,<):=犮[φ];
[0134] 8.2)更新free列表,即令7;[/ΓΗ:=(φ 丨,()):
[0135] 8.3)取关键词对应文件列表中的头节点,(<1|,〇^:=7:^ /[1];|?>1,.[2],若1^1[1]] 不存在,则令αια丨都为0;
[0136] 8.4)将新节点放置到Φ并更新该点前向节点信息,
[0137]
[0138] 8 · 5)更新Ts信息,令7; [λ!: [1]] := (φ,:φ'):Φ\ [2]
[0139] 8·6)更新湾信息,令馬[α;] := (Α θ{〇,φ'ΟΛφ,〇,〇},),其中
[0140] (Α,Ο := 4 [<],若1 [λ,[ 1 ]]不存在,则跳过该步骤;
[0141] 8.7)更新新增节点对应的删除列表中的信息,即令
[0142]
,当i= |W|,则用〇代替4.;
[0143] 8.8)若1 = 1,则令7;[厂(/)]=((丨/,0)@(7(/);:
[0144] 步骤9、De ITokenGen (f,Kuid) -TD:输入文件f,用户私钥Kuid,输出添加凭证Td
[0145] 由用户执行,按公式(13)生成删除凭证,并向服务器发送
[0146]
(13)
[0147] 步骤10、Del(TD):输入删除凭证Td
[0148] 由云服务器执行,首先取出uid对应的用户公钥PKuld,按式(14)执行:
[0149]
(14)
[0150] 服务端取出Lf列表,即计算乃[F(/)]?C?:(/),并从Td中移除该项;
[0151] 遍历Lf列表,令l$i彡|Lf|,继续执行以下步骤:
[0152] 10.1)计算.!α!,α:,α;,οι4,oc.ya。,μ} := £); Φ//: (/)(/),/),其中
[0153] (Di,r): =Ad[a/i];
[0154] 10.2)删除〇1节点,即用随机字符串填充六(1[€^];
[0155] 10.3)取得free节点列表中最后一个节点,即_(φ,0:.):=._d./ree];
[0156] 10.4)更新1^[;1^6],令1^[;1^6]: = {€[4,0};
[0157] 10 · 5)若存在 N-!节点,gpagO,则< [0is]:=狀十 a4 ? ay ,,丨,其中 [0?58] {Hr-i}: =As[a5],同时更新该节点在删除列表中的对应信息即
[0159]
[0160] 為.[cstij]
[0161] 10.6)若不存在仏1节点,8卩€15 = 〇,且不存在仏1,即€[5 = 0,存在直接删除该节点对应 的Ts项,即TsM;
[0162] 10.7)若不存在N-!节点,SPa5 = 〇,但是存在N+1,即a5#〇,则删除节点是对应关键词 链表的头节点,需要更新Τ 8[μ],使得它指向N+1。即令
[0163]
[0164] ⑴⑷若存在化节点^卩如^^肩令
[0165]
[0166]
[0167] 10.9)令V 。
[0168] 本实例的多用户动态关键词可搜索加密方法,有权限访问数据的用户形成可信 组,组内用户各自持有用于搜索的密钥。利用该密钥,能够高效地实现文件搜索,文件索引 添加,文件索引删除。并且可随时撤销或者添加用户到可信组中。
【主权项】
1. 一种多用户动态关键词可搜索加密方法,其特征在于:该可搜素加密方法包括如下 步骤: 步骤1、输入参数lk,生成系统参数,过程如下: 初始化生成双线性群G1,62,群2[),两个随机向量机H1: {0,1 }*-{0,1Γ,Η2:{0,1 }*-{0, 1Γ,哈希函数h: {0,I ,随机选取a,b,c G Zp,并将a,b,c作为系统密钥MK保存; MK={a,b,c} (1) 步骤2、输入用户标识uid,输出用户私钥Kuid与用户公钥PKuid,过程如下: 授权机构为用户组中的用户分发密钥,随机选取KuidGZp,然后根据公式(2)计算PK uld, 其中g为群Gi的生成元:(2) 授权机构通过安全信道将用户私钥Kuid分发给用户,并同时将用户标识与公钥{uid, PKUid}分发给云服务器; 步骤3、输入用户标识uid:云服务器根据用户标识uid,删除其对应的公钥PKuid即可完 成用户撤销操作; 步骤4、输入文件集合F,关键词集合W,用户私钥Kuid与用户公钥PKuid,生成索引结构I, 用户完成与服务器的交互,开始构建加密索引,令As和Ad表示搜索数组和删除数组,令TdP Td表示速查表,按照如下处理: 4.1) 构建Lw列表,Lw表示包含关键词w的文件链表,将1^中的节点MA,_··,Αι|随机存 储于搜索数组As中,并对各项按公式(6)加密,其中addrs表示节点N在As中对应的位置,id表 示文件id,其中c/?/介(/V,.. = O :随机选取riezp,其中P(w),F(w),G(w)的计算需要交互执 行;(6) 4.2) 保存Lw列表中第一个节点信息到Ts,按公式(7)计算,其中addrd表示节点在Ad中对 应的位置,表示N在Ad中对应的节点;(7) 4.3) 构建Lf列表,Lf表示包含文件f的关键词链表,将Lf中的节点A…Z),随机存储 于删除数组Ad中,并对各项按公式(8)加密,其中N+1表示N节点后一节点,N-Jlj为前一节点, 其中:(" A'' Z. I I ) = 0,随机选取ri ε Zp ;I.. 斗旧令的力^^以为尨中未使用节点⑶应的六冲节点为的'^%...,^)々!^ [free]: = (addrs(Fz),0lQgA),并令 As[addrs(Fi)]: = {OlQglAl,addrs(Fi-i) ,addrXF/ )};其中A表示As与Ad的长度; 斗上^^将剩余节点填充为随机字符串屬终将^工^力彡传至云服务器; 步骤5、输入用户私钥Kuld,关键词w,输出搜索凭证Iw,过程如下: 用户利用私钥,按公式(10)生成搜索凭证Iw,并将搜索凭证交于服务器;(10) 步骤6、输入用户标识uid,搜索凭证Iw,输出满足条件的索引Iw,过程如下: 云服务器获得用户搜索凭证Iw,根据uid,查找对应的PKuld,分别按公式(11)计算:(11) 云服务器从Ts中查询F(W),若不存在该项,则返回NULL,若Ts存在F(W),则令 (a, Y卜 7;[F(η')] ? G(η'),查找N1 = As [α ],令¥1,r丄=As [α ],计算iCl1,〇-·, (#2) := V1 十 i/, (卟),η ), 对i彡2,继续按上述步骤计算,直到ai+1 = 〇,最终返回结果I = {idi, . . .,idm}; 步骤7、输入文件f,输入关键词集合W,用户私钥Kuid,输出添加凭证Ta,过程如下: 用户与服务器进行交互,交互过程在后文进行说明,交互结束后,用户生成F(X),G(x), P(x),其中xe {f,wi,W2,...},随机选取riezp,并按照公式(12)生成添加凭证Ta:(12) 步骤8、输入添加凭证Ta,进行添加操作,遍历A1,λ2,... λ!w!,对每个\做如下操作:[ 当i= |W|,则用〇代替4 ; 8 · 8)若i = 1,则令7:. [F(/:)] = (V, 0)十 G(/); 步骤9、输入文件f,用户私钥Kuid,输出添加凭证Td,过程如下: 按公式(13)生成删除凭证,并向服务器发送 (13) 步骤10、输入删除凭证TD,过程如下: 首先取出uid对应的用户公钥PKuid,按式(14)执行:(H) 服务端取出Lf列表,即计算a; := ra [$(/)]?G(/),并从Td中移除该项; 遍历Lf列表,令Ki彡I Lf I,继续执行以下步骤: 10 · 1)计算:,α.4,α、,α?,μ} := Z);十 //: (P(/),/-),其中(Di,r): = Ad[a i]; 10.2) 删除Di节点,即用随机字符串填充AdM i]; 10.3) 取得free节点列表中最后一个节点,即(.φ,〇) := J;: [/reel10.9)令a' i+1: =alo2.如权利要求1所述的一种多用户动态关键词可搜索加密方法,其特征在于:所述步骤 4和步骤7中,用户与云服务器交互执行,交互过程如下: 交互1 :首先用户遍历文件集合F= {fl,f2, . . . },W= {wi,W2, . . . },对集合中的每个元素 Xi,首先随机选取ne Zp,按公式⑶计算:(3) 将9={9(1)4£1|1£?},1^(1发送至云服务器,云服务器进行交互2; 交互2:云服务器取出uid对应的PKuid,按公式(4)计算: F7 (Xi)=e(AKUid,Q(Xi)),G'(Xi)=e(BKUid,Q(Xi)),P'(Xi)=e(CK Uid,Q(Xi))⑷服务 器将F' (Xl),G' (Xl),(X1)发送给用户,用户进行交互3; 交互3:用户根据公式(5)计算:
【文档编号】H04L9/30GK105897419SQ201610200952
【公开日】2016年8月24日
【申请日】2016年3月31日
【发明人】江颉, 林鹏, 陈铁明, 王小号, 陈波
【申请人】浙江工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1