国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種多用戶動(dòng)態(tài)關(guān)鍵詞可搜索加密方法

      文檔序號(hào):10538520閱讀:314來(lái)源:國(guó)知局
      一種多用戶動(dòng)態(tài)關(guān)鍵詞可搜索加密方法
      【專利摘要】一種多用戶動(dòng)態(tài)關(guān)鍵詞可搜索加密方法,包括如下步驟:步驟1、輸入?yún)?shù)1k,生成系統(tǒng)參數(shù);步驟2、輸入用戶標(biāo)識(shí)uid,輸出用戶私鑰Kuid與用戶公鑰PKuid;步驟3、輸入用戶標(biāo)識(shí)uid,根據(jù)uid撤銷(xiāo)用戶;步驟4、輸入文件集合F,關(guān)鍵詞集合W,用戶私鑰Kuid與用戶公鑰PKuid,生成索引結(jié)構(gòu)I;步驟5、輸入用戶私鑰Kuid,關(guān)鍵詞w,輸出搜索憑證Tw;步驟6、輸入用戶標(biāo)識(shí)uid,搜索憑證Tw,輸出滿足條件的索引Iw;步驟7、輸入文件f,輸入關(guān)鍵詞集合W,用戶私鑰Kuid,輸出添加憑證TA;步驟8、輸入添加憑證TA,進(jìn)行添加操作;步驟9、輸入文件f,用戶私鑰Kuid,輸出添加憑證Td;步驟10、輸入刪除憑證,進(jìn)行刪除操作。本發(fā)明提供一種動(dòng)態(tài)更新性能較好、搜索效率較高的一種多用戶動(dòng)態(tài)關(guān)鍵詞可搜索加密方法。
      【專利說(shuō)明】
      一種多用戶動(dòng)態(tài)關(guān)鍵詞可搜索加密方法
      技術(shù)領(lǐng)域
      [0001] 本發(fā)明屬于信息安全可搜索加密領(lǐng)域,尤其是一種關(guān)鍵詞可搜索加密方法。
      【背景技術(shù)】
      [0002] 隨著云技術(shù)的快速發(fā)展,越來(lái)越多企業(yè)或個(gè)人傾向于將數(shù)據(jù)存于云服務(wù)器中。為 了保證上傳數(shù)據(jù)的安全性,用戶一般會(huì)對(duì)數(shù)據(jù)進(jìn)行加密。但是加密后的數(shù)據(jù)失去了語(yǔ)義特 性,云服務(wù)器無(wú)法向用戶提供搜索服務(wù)。關(guān)鍵詞可搜索加密是一種特殊的加密技術(shù),能夠解 決上述問(wèn)題。該技術(shù)能夠?qū)崿F(xiàn)合法用戶搜索關(guān)鍵詞密文,并且保證攻擊者無(wú)法通過(guò)關(guān)鍵詞 密文或者搜索憑證獲得用戶查詢的關(guān)鍵詞信息。
      [0003]在云環(huán)境應(yīng)用中,多用戶共享數(shù)據(jù)是常見(jiàn)應(yīng)用。例如,考慮如下場(chǎng)景,學(xué)校內(nèi)的教 師可能會(huì)經(jīng)常分享教學(xué)或者學(xué)術(shù)研究成果,為了方便管理和分享,可能會(huì)將數(shù)據(jù)存于云端, 并且可能希望僅僅該校教師能夠讀取、上傳、搜索數(shù)據(jù)。該場(chǎng)景同樣支持多對(duì)多模型,但是 用戶數(shù)量被限制在一個(gè)組織團(tuán)體內(nèi)?,F(xiàn)有的方案在多用戶、動(dòng)態(tài)更新、用戶撤銷(xiāo)、搜索效率 等方面存在不足。

      【發(fā)明內(nèi)容】

      [0004] 為了克服現(xiàn)有關(guān)鍵詞可搜索加密方法的動(dòng)態(tài)更新性能較差、搜索效率較低的不 足,本發(fā)明提供一種動(dòng)態(tài)更新性能較好、搜索效率較高的一種多用戶動(dòng)態(tài)關(guān)鍵詞可搜索加 密方法。
      [0005] 為了解決上述技術(shù)問(wèn)題提出如下的技術(shù)方案:
      [0006] -種多用戶動(dòng)態(tài)關(guān)鍵詞可搜索加密方法,該方法包括如下步驟:
      [0007] 步驟1、輸入?yún)?shù)lk,生成系統(tǒng)參數(shù),過(guò)程如下:
      [0008] 初始化生成雙線性群,兩個(gè)隨機(jī)向量機(jī)Η1:{0,1}%{0,1:Γ,Η2:{0,?Γ4 {0,1}*,哈希函數(shù)11:{0,1}*^;1,隨機(jī)選取&,13,(^2 [),并將3,13,(3作為系統(tǒng)密鑰歷保存;
      [0009] MK={a,b,c} (1)
      [0010] 步驟2、輸入用戶標(biāo)識(shí)uid,輸出用戶私鑰KUid與用戶公鑰PKUid,過(guò)程如下:
      [0011] 授權(quán)機(jī)構(gòu)為用戶組中的用戶分發(fā)密鑰,隨機(jī)選取KuldezP,然后根據(jù)公式(2)計(jì)算 PKuid,其中g(shù)為群6!的生成元:
      [0012]
      (2)
      [0013] 授權(quán)機(jī)構(gòu)通過(guò)安全信道將用戶私鑰Kuld分發(fā)給用戶,并同時(shí)將用戶標(biāo)識(shí)與用戶公 鑰{uid,PKUid}分發(fā)給云服務(wù)器;
      [0014] 步驟3、輸入用戶標(biāo)識(shí)uid:云服務(wù)器根據(jù)用戶標(biāo)識(shí)uid,刪除其對(duì)應(yīng)的公鑰PKuld即 可完成用戶撤銷(xiāo)操作;
      [0015] 步驟4、輸入文件集合F,關(guān)鍵詞集合W,用戶私鑰Kuid與用戶公鑰PKuid,生成索引結(jié) 構(gòu)I,用戶完成與服務(wù)器的交互,開(kāi)始構(gòu)建加密索引,令A(yù)4PA d表示搜索數(shù)組和刪除數(shù)組,令 TjPTd表示速查表,按照如下處理:
      [0016] 4.1)構(gòu)建Lw列表,Lw表示包含關(guān)鍵詞w的文件鏈表,將L w中的節(jié)點(diǎn)
      機(jī)存儲(chǔ)于搜索數(shù)組As中,并對(duì)各項(xiàng)按公式(6)加密,其中addrs表示節(jié)點(diǎn)N在As中對(duì)應(yīng)的位置, id表示文件id,其中?/?/?//: (/V,, ^ = 0 :隨機(jī)選取riezp,其中P(w),F(xiàn)(w),G(w)的計(jì)算需要交 互執(zhí)行·
      [0017] (6)
      [0018] 4.2)保存Lw列表中第一個(gè)節(jié)點(diǎn)信息到Ts,按公式(7)計(jì)算,其中addrd表示節(jié)點(diǎn)在Ad 中對(duì)應(yīng)的位置,表示N在Ad中對(duì)應(yīng)的節(jié)點(diǎn);
      [0019]
      C7)
      [0020] 4.3)構(gòu)建Lf列表,Lf表示包含文件f的關(guān)鍵詞鏈表,將A隨機(jī)存儲(chǔ)于刪 除數(shù)組Ad中,并對(duì)各項(xiàng)按公式(8)加密,其中N +1表示N節(jié)點(diǎn)后一節(jié)點(diǎn),N-JlJ為前一節(jié)點(diǎn),其中 at-/也(A^f+1) .= .0,隨機(jī)選取ri e Zp;
      [0021]
      (8)
      [0022] 4.4)保存Lf列表中第一個(gè)節(jié)點(diǎn)信息到Td,按公式(9)計(jì)算:
      [0023]
      (9)
      [0024] 4.5)令卬1,內(nèi),...,匕)為尨中未使用節(jié)點(diǎn),對(duì)應(yīng)的4(1中節(jié)點(diǎn)為卬 1'^2',...,匕'),
      [0025] 令Ts[free]: = (addrs(Fz),0loglAl),并令
      [0026] As[addrs(Fi)]: = {0lc)glAl,addrs(Fi-1) wddrXF/ )};其中 |A| 表示As與Ad的長(zhǎng)度。
      [0027] 4.6)Ad,As將剩余節(jié)點(diǎn)填充為隨機(jī)字符串,最終將(As,T s,Ad,Td)傳至云服務(wù)器;
      [0028] 步驟5、輸入用戶私鑰Kuld,關(guān)鍵詞w,輸出搜索憑證Iw,過(guò)程如下:
      [0029]用戶利用私鑰,按公式(10)生成搜索憑證,并將搜索憑證交于服務(wù)器,Iw為搜索憑 證;
      [0030]
      (10)
      [0031]步驟6、輸入用戶標(biāo)識(shí)uid,搜索憑證Tw,輸出滿足條件的索引Iw,過(guò)程如下:
      [0032]云服務(wù)器獲得用戶搜索憑證Iw,根據(jù)uid,查找對(duì)應(yīng)的PKuld,分別按公式(11)計(jì)算:
      [0033]
      (11)
      [0034] 云服務(wù)器從Ts中查詢F(w),若不存在該項(xiàng),則返回NULL,若Ts存在F(w),則令 (α,α]=「.[F(tr)]@G(H'),查找Ni = As[a],$v1,ri = As[a],計(jì)算
      [0035] idi,(??? (況2) .:= % Φ //| (/5(u'),Γ|),對(duì)i 2,繼續(xù)按上述步驟計(jì)算,直到ai+1 = 〇,最 終返回結(jié)果I = {idi, . . .,idm};
      [0036] 步驟7、輸入文件f,輸入關(guān)鍵詞集合W,用戶私鑰Kuld,輸出添加憑證T A,過(guò)程如下:
      [0037] 用戶與服務(wù)器進(jìn)行交互,交互過(guò)程在后文進(jìn)行說(shuō)明,交互結(jié)束后,用戶生成F(x),G (X),P(x),其中xe {f,W1,W2,...},隨機(jī)選取riezp,并按照公式(12)生成添加憑證Τα:
      [0038]
      (12)
      [0039] 步驟8、輸入添加憑證ΤΑ,進(jìn)行添加操作,遍歷心,\2, . . .λμL,對(duì)每個(gè)Μ做如下操作:
      [0040] 8.1)查找free 列表中第后一個(gè)節(jié)點(diǎn),即(φ,〇):=廠[./hv].,計(jì)算/?. [φ];
      [0041] 8.2)更新free列表,即令廠[./;w]:=((f> 丨.0):
      [0042] 8.3)取關(guān)鍵詞對(duì)應(yīng)文件列表中的頭節(jié)點(diǎn)彳 不存在,則令αι,<都為0;
      [0043] 8.4)將新節(jié)點(diǎn)放置到Φ并更新該點(diǎn)前向節(jié)點(diǎn)信息,
      [0044]
      [0045] 8 · 5)更新Ts信息,令 1: [1]] := (φ,φ*)編人[2];
      [0046] 8 · 6)更新信息,令為[α;]:二(2? ,其中
      [0047] (IV)4/ [<],若Ts[h[ 1 ]]不存在,則跳過(guò)該步驟;
      [0048] 8.7)更新新增節(jié)點(diǎn)對(duì)應(yīng)的刪除列表中的信息,即令
      [0049] 卜(Μ5]?卜 ,當(dāng)i=l wl,貝1J用0代替
      [0050] 8·8)若i = 1,則令rd[F(/)M:(pV0)???(/);
      [0051 ] 步驟9、輸入文件f,用戶私鑰Kuld,輸出添加憑證Td,過(guò)程如下:
      [0052]按公式(13)生成刪除憑證,并向服務(wù)器發(fā)送
      [0053]
      (13 )
      [0054] 步驟10、輸入刪除憑證TD,過(guò)程如下:
      [0055]首先取出uid對(duì)應(yīng)的用戶公鑰PKuid,按式(14)執(zhí)行:
      [0056]
      (14)
      [0057] 服務(wù)端取出Lf列表,即計(jì)算α>Γ,Ρ(/;)]Φ(;(/),并從T沖移除該項(xiàng);
      [0058] 遍歷Lf列表,令l$i彡|Lf |,繼續(xù)執(zhí)行以下步驟:
      [0059] 10.1)計(jì)算{α【,α:,α;,α.!,ανα ?、,μ}:=Ζ>???//:(/:>(/)· 1/,)^*
      [0060] (Di;r) : =Ad[a7 i];
      [00611 10.2)刪除Di節(jié)點(diǎn),即用隨機(jī)字符串填充AdtV i];
      [0062] 10.3)取得;1^6節(jié)點(diǎn)列表中最后一個(gè)節(jié)點(diǎn),即((丨),〇):=7' 1[./><叫;
      [0063] 10.4)更新1^[;1^6],令1^[;1^6]: = {€[4,0};
      [0064] 10.5)若存在 N-i 節(jié)點(diǎn),即 α5#〇,則 <|α5]:= ,其中
      [0065] {Hr-i} : =As[a5],同時(shí)更新該節(jié)點(diǎn)在刪除列表中的對(duì)應(yīng)信息即
      [0066] ,(,[~]:=狀具扎 3k: ? (乂,β4具我
      [0067] 既,β2,β3, β4,β5,β6,μ*, r-'} := [α2 ]
      [0068] 10.6)若不存在仏1節(jié)點(diǎn),8卩€15 = 〇,且不存在叫1,即€[5 = 0,存在直接刪除該節(jié)點(diǎn)對(duì)應(yīng) 的ts項(xiàng),即TsM;
      [0069] 10.7)若不存在仏1節(jié)點(diǎn),8卩€(5 = 〇,但是存在叫1,8卩€[5辛0,則刪除節(jié)點(diǎn)是對(duì)應(yīng)關(guān)鍵詞 鏈表的頭節(jié)點(diǎn),需要更新Τ 8[μ],使得它指向N+1。即令
      [0070] Γ[μ]:= Γ[μ]θ 1α4,α;| ? !α(ι,α,1 ;
      [0071] 10.8)若存在叫節(jié)點(diǎn),8卩€15辛〇,則令
      [0072] [a;]:=.丨丨3,具 ? a:十(乂?丨3;,丨34爲(wèi)十a(chǎn)4 ? a.sJh+VfJ,其中
      [0073] ?β:1,β2,β3,β 4,β:5,β6,[0?];
      [0074]
      [0075] 進(jìn)一步,所述步驟4和步驟7中,用戶與云服務(wù)器交互執(zhí)行,交互過(guò)程如下:
      [0076] 交互1:首先用戶遍歷文件集合F= {fi,f2, . . .},W= {wi,W2, . . .},對(duì)集合中的每個(gè) 元素 Xi,首先隨機(jī)選取neZp,按公式(3)計(jì)算:
      [0077] Q(x:)=h(xf '' (3)
      [0078] 將Q= {Q(x) I xe WI χeF},uid發(fā)送至云服務(wù)器,云服務(wù)器進(jìn)行交互2;
      [0079] 交互2:云服務(wù)器取出uid對(duì)應(yīng)的PKuid,按公式⑷計(jì)算:
      [0080] F7 (xi) =e (AKuid, Q(xi)) ,G7 (xi) =e (BKuid, Q(xi)) ,P7 (xi) =e (CKuid, Q(xi)) (4)
      [0081] 服務(wù)器將?/&1),6/&1),? /&1)發(fā)送給用戶,用戶進(jìn)行交互3;
      [0082] 交互3:用戶根據(jù)公式(5)計(jì)算:
      [0083] F( V ) - F'{ v,)' , G(x,) = Ρ(χ,) = P^f (5)。
      [0084] 本發(fā)明的有益效果為:動(dòng)態(tài)更新性能較好、搜索效率較高。
      【具體實(shí)施方式】
      [0085]下面對(duì)本發(fā)明做進(jìn)一步說(shuō)明。
      [0086] -種多用戶動(dòng)態(tài)關(guān)鍵詞可搜索加密1方法,包括如下步驟:
      [0087]步驟l、Setup(lk):輸入?yún)?shù)lk,生成系統(tǒng)參數(shù),過(guò)程如下:
      [0088] 初始化生成雙線性群Gi,G2,群ZP,兩個(gè)隨機(jī)向量機(jī)Η 1:{0,1}%{0,1:Γ,Η2:{0,?Γ4 {0,1}*,哈希函數(shù)11:{0,1}%61,隨機(jī)選取&,13,(^2 [),并將3,13,(3作為系統(tǒng)密鑰歷保存;
      [0089] MK={a,b,c} (1)
      [0090] 步驟2、1^7661^抑七6(11丨(1)41(祝,?1(心:輸入用戶標(biāo)識(shí)11丨(1,輸出用戶私鑰1(心與用 戶公鑰PK uld由授權(quán)機(jī)構(gòu)執(zhí)行,授權(quán)機(jī)構(gòu)為用戶組中的用戶分發(fā)密鑰,隨機(jī)選取KuldezP,然 后根據(jù)公式(2)計(jì)算PK uld,其中g(shù)為群6:的生成元:
      [0091]
      (2)
      [0092] 授權(quán)機(jī)構(gòu)通過(guò)安全信道將用戶私鑰Kuld分發(fā)給用戶,并同時(shí)將用戶標(biāo)識(shí)與用戶公 鑰{uid,PKUid}分發(fā)給云服務(wù)器;
      [0093] 步驟3、1^¥〇1^(11丨(1):輸入用戶標(biāo)識(shí)111(1
      [0094]由云服務(wù)器執(zhí)行,云服務(wù)器根據(jù)用戶標(biāo)識(shí)uid,刪除其對(duì)應(yīng)的公鑰PKuld即可完成用 戶撤銷(xiāo)操作;
      [0095] 步驟4、811丨1(1111(161$,1,1^(1;?1^(1)41,輸入文件集合?,關(guān)鍵詞集合1,用戶私鑰 Kuid與用戶公鑰PKuid,生成索引結(jié)構(gòu)I;
      [0096]用戶與服務(wù)器交互執(zhí)行,交互過(guò)程如下:
      [0097]交互1:首先用戶遍歷文件集合F={fi,f2, . . .},W={wi,W2, . . .},對(duì)集合中的
      [0098]
      [0099] 每個(gè)元素 Xi,首先隨機(jī)選取riezp,按公式(3)計(jì)算。
      [0100]
      (3)
      [0101] 將Q={Q(x)|xew|xeF},uid發(fā)送至云服務(wù)器,云服務(wù)器進(jìn)行交互2;
      [0102] 交互2:云服務(wù)器取出uid對(duì)應(yīng)的PKuid,按公式⑷計(jì)算。
      [0103] F7 (xi) =e (AKuid, Q(xi)) ,G7 (xi) =e (BKuid, Q(xi)) ,P7 (xi) =e (CKuid, Q(xi)) (4)
      [0104] 服務(wù)器將F' (Χι),ν (Χι),ρ' (Xl)發(fā)送給用戶,用戶進(jìn)行交互3;
      [0105]交互3:用戶根據(jù)公式(5)計(jì)算。
      [0106] F(x)=F/ (x)r,G(x)=G/ (x)r,P(x)=P/ (x)r (5)
      [0107] 至此,用戶完成與服務(wù)器的交互,開(kāi)始構(gòu)建加密索引,令A(yù)s和Ad表示搜索數(shù)組和刪 除數(shù)組,令Ts和Td表示速查表;
      [0108] 4.1)構(gòu)建Lw列表,Lw表示包含關(guān)鍵詞w的文件鏈表,將Lw中的節(jié)點(diǎn)Μ為,…,~,丨隨 機(jī)存儲(chǔ)于搜索數(shù)組As中,并對(duì)各項(xiàng)按公式(6)加密,其中addrs表示節(jié)點(diǎn)Ν在As中對(duì)應(yīng)的位置, id表示文件id,其中=_〇 ;隨機(jī)選取riezp。
      [0109]
      <6)
      [0110] 4.2)保存Lw列表中第一個(gè)節(jié)點(diǎn)信息到Ts,按公式(7)計(jì)算,其中addrd表示節(jié)點(diǎn)在Ad 中對(duì)應(yīng)的位置,if表示N在Ad中對(duì)應(yīng)的節(jié)點(diǎn);
      [0111]
      (T): 5 L 、'」 人 ' I../ ^ \ 1 / / ' /
      [0112] 4.3)構(gòu)建Lf列表,Lf表示包含文件f的關(guān)鍵詞鏈表,將隨機(jī)存儲(chǔ)于刪 除數(shù)組Ad中,并對(duì)各項(xiàng)按公式(8)加密,其中N+1表示Ν節(jié)點(diǎn)后一節(jié)點(diǎn),N-JlJ為前一節(jié)點(diǎn),其中 "?/?//;, I /V,. i, j = 0,隨機(jī)選取ri e Zp;
      [0113]
      (8)
      [0114] 4.4)保存Lf列表中第一個(gè)節(jié)點(diǎn)信息到Td,按公式(9)計(jì)算:
      [0115]
      .(.:9)
      [0116] 4.5)令卬1^2,"_$)為43中未使用節(jié)點(diǎn),對(duì)應(yīng)的六 (1中節(jié)點(diǎn)為卬1'^2',"_$'),
      [0117] 令Ts[free]: = (addrs(Fz),0lc)glAl),并令
      [0118] As[addrs(Fi) ]: = {〇loglAl ,addrs(Fi-i) ^ddraCFi7 )};
      [0119] 4.6)Ad,As將剩余節(jié)點(diǎn)填充為隨機(jī)字符串,最終將(As,T s,Ad,Td)傳至云服務(wù)器;
      [0120] 步驟5、36&代111'〇1?51^11(1(1^,¥)41\ ?,輸入用戶私鑰1(祝,關(guān)鍵詞¥,輸出搜索憑證 Tw;
      [0121] 由用戶執(zhí)行,用戶利用私鑰,按公式(10)生成搜索憑證Iw,并將搜索憑證交于服務(wù) 器;
      [0122]
      (10)
      [0123] 步驟6、36&代11(1^(1,^1(心)41^輸入用戶標(biāo)識(shí)1^(1,搜索憑證1\ ?,輸出滿足條件 的索引Iw。
      [0124] 由云服務(wù)器執(zhí)行,云服務(wù)器獲得用戶搜索憑證Tw,根據(jù)uid,查找對(duì)應(yīng)的PKuld,分別 按公式(11)計(jì)算:
      [0125]
      (11;
      [0126] 云服務(wù)器從Ts中查詢F(w),若不存在該項(xiàng),則返回NULL,若Ts存在F(w),則令 (α,α')二 ,查找Ni = As[a] =v1,ri,計(jì)算
      [0127] idi,afiWr (,.'V2) := 1'丨@ //丨(/)(u'), /·;丨,對(duì)i彡2,繼續(xù)按上述步驟計(jì)算,直到ai+1 = 〇,最 終返回結(jié)果I = {idi, . . .,idm};
      [0128] 步驟7^(1(11'〇1?51^611(11,1(心)41^:輸入文件€,輸入關(guān)鍵詞集合1,用戶私鑰1(心, 輸出添加憑證Τα;
      [0129] 用戶與服務(wù)器進(jìn)行交互,與BuildIndex(F,W,KUid;PK Uid) - I中交互過(guò)程相同,交互 結(jié)束后,用戶生成F(x),G(x),P(x),其中xe {f,W1,W2,. . .},隨機(jī)選取riezp,并按照公式 (12)生成添加憑證Τα:
      [0130]
      U2)
      [0131] 步驟8、Add(TA):輸入添加憑證ΤΑ,進(jìn)行添加操作
      [0132] 由云服務(wù)器執(zhí)行,遍歷心,\2, . · .λμ,對(duì)每個(gè)Μ做如下操作:
      [0133] S. 1)查找free列表中第后一個(gè)節(jié)點(diǎn),ΒΡ(φ,()):= 7: [./,伙],計(jì)算(φ.丨,<):=犮[φ];
      [0134] 8.2)更新free列表,即令7;[/ΓΗ:=(φ 丨,()):
      [0135] 8.3)取關(guān)鍵詞對(duì)應(yīng)文件列表中的頭節(jié)點(diǎn),(<1|,〇^:=7:^ /[1];|?>1,.[2],若1^1[1]] 不存在,則令αια丨都為0;
      [0136] 8.4)將新節(jié)點(diǎn)放置到Φ并更新該點(diǎn)前向節(jié)點(diǎn)信息,
      [0137]
      [0138] 8 · 5)更新Ts信息,令7; [λ!: [1]] := (φ,:φ'):Φ\ [2]
      [0139] 8·6)更新灣信息,令馬[α;] := (Α θ{〇,φ'ΟΛφ,〇,〇},),其中
      [0140] (Α,Ο := 4 [<],若1 [λ,[ 1 ]]不存在,則跳過(guò)該步驟;
      [0141] 8.7)更新新增節(jié)點(diǎn)對(duì)應(yīng)的刪除列表中的信息,即令
      [0142]
      ,當(dāng)i= |W|,則用〇代替4.;
      [0143] 8.8)若1 = 1,則令7;[廠(/)]=((丨/,0)@(7(/);:
      [0144] 步驟9、De ITokenGen (f,Kuid) -TD:輸入文件f,用戶私鑰Kuid,輸出添加憑證Td
      [0145] 由用戶執(zhí)行,按公式(13)生成刪除憑證,并向服務(wù)器發(fā)送
      [0146]
      (13)
      [0147] 步驟10、Del(TD):輸入刪除憑證Td
      [0148] 由云服務(wù)器執(zhí)行,首先取出uid對(duì)應(yīng)的用戶公鑰PKuld,按式(14)執(zhí)行:
      [0149]
      (14)
      [0150] 服務(wù)端取出Lf列表,即計(jì)算乃[F(/)]?C?:(/),并從Td中移除該項(xiàng);
      [0151] 遍歷Lf列表,令l$i彡|Lf|,繼續(xù)執(zhí)行以下步驟:
      [0152] 10.1)計(jì)算.!α!,α:,α;,οι4,oc.ya。,μ} := £); Φ//: (/)(/),/),其中
      [0153] (Di,r): =Ad[a/i];
      [0154] 10.2)刪除〇1節(jié)點(diǎn),即用隨機(jī)字符串填充六(1[€^];
      [0155] 10.3)取得free節(jié)點(diǎn)列表中最后一個(gè)節(jié)點(diǎn),即_(φ,0:.):=._d./ree];
      [0156] 10.4)更新1^[;1^6],令1^[;1^6]: = {€[4,0};
      [0157] 10 · 5)若存在 N-!節(jié)點(diǎn),gpagO,則< [0is]:=狀十 a4 ? ay ,,丨,其中 [0?58] {Hr-i}: =As[a5],同時(shí)更新該節(jié)點(diǎn)在刪除列表中的對(duì)應(yīng)信息即
      [0159]
      [0160] 為.[cstij]
      [0161] 10.6)若不存在仏1節(jié)點(diǎn),8卩€15 = 〇,且不存在仏1,即€[5 = 0,存在直接刪除該節(jié)點(diǎn)對(duì)應(yīng) 的Ts項(xiàng),即TsM;
      [0162] 10.7)若不存在N-!節(jié)點(diǎn),SPa5 = 〇,但是存在N+1,即a5#〇,則刪除節(jié)點(diǎn)是對(duì)應(yīng)關(guān)鍵詞 鏈表的頭節(jié)點(diǎn),需要更新Τ 8[μ],使得它指向N+1。即令
      [0163]
      [0164] ⑴⑷若存在化節(jié)點(diǎn)^卩如^^肩令
      [0165]
      [0166]
      [0167] 10.9)令V 。
      [0168] 本實(shí)例的多用戶動(dòng)態(tài)關(guān)鍵詞可搜索加密方法,有權(quán)限訪問(wèn)數(shù)據(jù)的用戶形成可信 組,組內(nèi)用戶各自持有用于搜索的密鑰。利用該密鑰,能夠高效地實(shí)現(xiàn)文件搜索,文件索引 添加,文件索引刪除。并且可隨時(shí)撤銷(xiāo)或者添加用戶到可信組中。
      【主權(quán)項(xiàng)】
      1. 一種多用戶動(dòng)態(tài)關(guān)鍵詞可搜索加密方法,其特征在于:該可搜素加密方法包括如下 步驟: 步驟1、輸入?yún)?shù)lk,生成系統(tǒng)參數(shù),過(guò)程如下: 初始化生成雙線性群G1,62,群2[),兩個(gè)隨機(jī)向量機(jī)H1: {0,1 }*-{0,1Γ,Η2:{0,1 }*-{0, 1Γ,哈希函數(shù)h: {0,I ,隨機(jī)選取a,b,c G Zp,并將a,b,c作為系統(tǒng)密鑰MK保存; MK={a,b,c} (1) 步驟2、輸入用戶標(biāo)識(shí)uid,輸出用戶私鑰Kuid與用戶公鑰PKuid,過(guò)程如下: 授權(quán)機(jī)構(gòu)為用戶組中的用戶分發(fā)密鑰,隨機(jī)選取KuidGZp,然后根據(jù)公式(2)計(jì)算PK uld, 其中g(shù)為群Gi的生成元:(2) 授權(quán)機(jī)構(gòu)通過(guò)安全信道將用戶私鑰Kuid分發(fā)給用戶,并同時(shí)將用戶標(biāo)識(shí)與公鑰{uid, PKUid}分發(fā)給云服務(wù)器; 步驟3、輸入用戶標(biāo)識(shí)uid:云服務(wù)器根據(jù)用戶標(biāo)識(shí)uid,刪除其對(duì)應(yīng)的公鑰PKuid即可完 成用戶撤銷(xiāo)操作; 步驟4、輸入文件集合F,關(guān)鍵詞集合W,用戶私鑰Kuid與用戶公鑰PKuid,生成索引結(jié)構(gòu)I, 用戶完成與服務(wù)器的交互,開(kāi)始構(gòu)建加密索引,令A(yù)s和Ad表示搜索數(shù)組和刪除數(shù)組,令TdP Td表示速查表,按照如下處理: 4.1) 構(gòu)建Lw列表,Lw表示包含關(guān)鍵詞w的文件鏈表,將1^中的節(jié)點(diǎn)MA,_··,Αι|隨機(jī)存 儲(chǔ)于搜索數(shù)組As中,并對(duì)各項(xiàng)按公式(6)加密,其中addrs表示節(jié)點(diǎn)N在As中對(duì)應(yīng)的位置,id表 示文件id,其中c/?/介(/V,.. = O :隨機(jī)選取riezp,其中P(w),F(xiàn)(w),G(w)的計(jì)算需要交互執(zhí) 行;(6) 4.2) 保存Lw列表中第一個(gè)節(jié)點(diǎn)信息到Ts,按公式(7)計(jì)算,其中addrd表示節(jié)點(diǎn)在Ad中對(duì) 應(yīng)的位置,表示N在Ad中對(duì)應(yīng)的節(jié)點(diǎn);(7) 4.3) 構(gòu)建Lf列表,Lf表示包含文件f的關(guān)鍵詞鏈表,將Lf中的節(jié)點(diǎn)A…Z),隨機(jī)存儲(chǔ) 于刪除數(shù)組Ad中,并對(duì)各項(xiàng)按公式(8)加密,其中N+1表示N節(jié)點(diǎn)后一節(jié)點(diǎn),N-Jlj為前一節(jié)點(diǎn), 其中:(" A'' Z. I I ) = 0,隨機(jī)選取ri ε Zp ;I.. 斗舊令的力^^以為尨中未使用節(jié)點(diǎn)⑶應(yīng)的六沖節(jié)點(diǎn)為的'^%...,^)々!^ [free]: = (addrs(Fz),0lQgA),并令 As[addrs(Fi)]: = {OlQglAl,addrs(Fi-i) ,addrXF/ )};其中A表示As與Ad的長(zhǎng)度; 斗上^^將剩余節(jié)點(diǎn)填充為隨機(jī)字符串屬終將^工^力彡傳至云服務(wù)器; 步驟5、輸入用戶私鑰Kuld,關(guān)鍵詞w,輸出搜索憑證Iw,過(guò)程如下: 用戶利用私鑰,按公式(10)生成搜索憑證Iw,并將搜索憑證交于服務(wù)器;(10) 步驟6、輸入用戶標(biāo)識(shí)uid,搜索憑證Iw,輸出滿足條件的索引Iw,過(guò)程如下: 云服務(wù)器獲得用戶搜索憑證Iw,根據(jù)uid,查找對(duì)應(yīng)的PKuld,分別按公式(11)計(jì)算:(11) 云服務(wù)器從Ts中查詢F(W),若不存在該項(xiàng),則返回NULL,若Ts存在F(W),則令 (a, Y卜 7;[F(η')] ? G(η'),查找N1 = As [α ],令¥1,r丄=As [α ],計(jì)算iCl1,〇-·, (#2) := V1 十 i/, (卟),η ), 對(duì)i彡2,繼續(xù)按上述步驟計(jì)算,直到ai+1 = 〇,最終返回結(jié)果I = {idi, . . .,idm}; 步驟7、輸入文件f,輸入關(guān)鍵詞集合W,用戶私鑰Kuid,輸出添加憑證Ta,過(guò)程如下: 用戶與服務(wù)器進(jìn)行交互,交互過(guò)程在后文進(jìn)行說(shuō)明,交互結(jié)束后,用戶生成F(X),G(x), P(x),其中xe {f,wi,W2,...},隨機(jī)選取riezp,并按照公式(12)生成添加憑證Ta:(12) 步驟8、輸入添加憑證Ta,進(jìn)行添加操作,遍歷A1,λ2,... λ!w!,對(duì)每個(gè)\做如下操作:[ 當(dāng)i= |W|,則用〇代替4 ; 8 · 8)若i = 1,則令7:. [F(/:)] = (V, 0)十 G(/); 步驟9、輸入文件f,用戶私鑰Kuid,輸出添加憑證Td,過(guò)程如下: 按公式(13)生成刪除憑證,并向服務(wù)器發(fā)送 (13) 步驟10、輸入刪除憑證TD,過(guò)程如下: 首先取出uid對(duì)應(yīng)的用戶公鑰PKuid,按式(14)執(zhí)行:(H) 服務(wù)端取出Lf列表,即計(jì)算a; := ra [$(/)]?G(/),并從Td中移除該項(xiàng); 遍歷Lf列表,令Ki彡I Lf I,繼續(xù)執(zhí)行以下步驟: 10 · 1)計(jì)算:,α.4,α、,α?,μ} := Z);十 //: (P(/),/-),其中(Di,r): = Ad[a i]; 10.2) 刪除Di節(jié)點(diǎn),即用隨機(jī)字符串填充AdM i]; 10.3) 取得free節(jié)點(diǎn)列表中最后一個(gè)節(jié)點(diǎn),即(.φ,〇) := J;: [/reel10.9)令a' i+1: =alo2.如權(quán)利要求1所述的一種多用戶動(dòng)態(tài)關(guān)鍵詞可搜索加密方法,其特征在于:所述步驟 4和步驟7中,用戶與云服務(wù)器交互執(zhí)行,交互過(guò)程如下: 交互1 :首先用戶遍歷文件集合F= {fl,f2, . . . },W= {wi,W2, . . . },對(duì)集合中的每個(gè)元素 Xi,首先隨機(jī)選取ne Zp,按公式⑶計(jì)算:(3) 將9={9(1)4£1|1£?},1^(1發(fā)送至云服務(wù)器,云服務(wù)器進(jìn)行交互2; 交互2:云服務(wù)器取出uid對(duì)應(yīng)的PKuid,按公式(4)計(jì)算: F7 (Xi)=e(AKUid,Q(Xi)),G'(Xi)=e(BKUid,Q(Xi)),P'(Xi)=e(CK Uid,Q(Xi))⑷服務(wù) 器將F' (Xl),G' (Xl),(X1)發(fā)送給用戶,用戶進(jìn)行交互3; 交互3:用戶根據(jù)公式(5)計(jì)算:
      【文檔編號(hào)】H04L9/30GK105897419SQ201610200952
      【公開(kāi)日】2016年8月24日
      【申請(qǐng)日】2016年3月31日
      【發(fā)明人】江頡, 林鵬, 陳鐵明, 王小號(hào), 陳波
      【申請(qǐng)人】浙江工業(yè)大學(xué)
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1