本發(fā)明涉及一種網(wǎng)絡(luò)安全的數(shù)據(jù)加密技術(shù),具體涉及一種關(guān)鍵字搜索的多授權(quán)中心外包屬性基加密方法及系統(tǒng),屬于信息安全領(lǐng)域。
背景技術(shù):
:基于屬性的加密方法具可以實(shí)現(xiàn)對(duì)加密數(shù)據(jù)的細(xì)粒度訪問(wèn)和控制。屬性基加密方法主要包括兩種類(lèi)型,分別是策略屬性基加密方法和密文策略屬性基加密方法。在密鑰策略屬性基加密方法中,用戶(hù)私鑰與一個(gè)訪問(wèn)結(jié)構(gòu)相關(guān)聯(lián),而密文與一個(gè)屬性集合相關(guān)聯(lián),當(dāng)且僅當(dāng)與密文關(guān)聯(lián)的屬性集合滿(mǎn)足用戶(hù)私鑰的訪問(wèn)結(jié)構(gòu)的時(shí)候,用戶(hù)才能夠解密獲得明文。密文策略屬性基加密方法中訪問(wèn)結(jié)構(gòu)和屬性集合的關(guān)聯(lián)關(guān)系反之。隨著云計(jì)算的飛速發(fā)展,云計(jì)算中以計(jì)算能力作為一種資源的運(yùn)作方式日益普遍起來(lái)。這種運(yùn)作方式能夠使得網(wǎng)絡(luò)上的用戶(hù)能夠快速便捷地的獲得這種計(jì)算資源,同時(shí)也能快速地釋放這種資源。這就使得我們能夠根據(jù)自身的需求來(lái)訪問(wèn)服務(wù)器中提供的各種各樣的、資源豐富的、方便快捷的服務(wù)。盡管云服務(wù)提供者的這些優(yōu)勢(shì)使它成為一個(gè)云計(jì)算中操作用戶(hù)數(shù)據(jù)的強(qiáng)大工具,然而它的一個(gè)主要缺點(diǎn)不得不被重視:密鑰生成和解密階段的計(jì)算代價(jià)隨著訪問(wèn)結(jié)構(gòu)的復(fù)雜性線性增長(zhǎng),這對(duì)于資源受限的移動(dòng)設(shè)備(比如手機(jī)設(shè)備)來(lái)說(shuō)是一個(gè)致命的應(yīng)用瓶頸。通過(guò)使用基于屬性的外包密鑰生成、解密系統(tǒng)可以大量降低屬性授權(quán)中心給用戶(hù)生成私鑰以及用戶(hù)訪問(wèn)以密文形式存儲(chǔ)在云端數(shù)據(jù)的計(jì)算效率。但是隨著存儲(chǔ)在云中的數(shù)據(jù)數(shù)量級(jí)地遞增,如何高效地從大量存儲(chǔ)在云端的數(shù)據(jù)中找到用戶(hù)指定的數(shù)據(jù)已經(jīng)成為不得不面對(duì)的難題。用戶(hù)不僅需要從云端獲取數(shù)據(jù),還需要設(shè)置數(shù)據(jù)控制器,從而達(dá)到只獲取指定關(guān)鍵字的數(shù)據(jù)的功能,可搜索的外包屬性基加密方案能極大地提高解密的通訊代價(jià)和效率。然而,CSP為了節(jié)省計(jì)算和帶寬的開(kāi)銷(xiāo),往往自私地選擇去執(zhí)行由用戶(hù)委派的一小部分任務(wù),因此會(huì)給用戶(hù)返回不正確的私鑰或者消息。如果KG-CSP和用戶(hù)串謀,那么它就能夠偽造出私鑰從而增強(qiáng)了額外的獲取信息的能力。技術(shù)實(shí)現(xiàn)要素:本發(fā)明所要解決的技術(shù)問(wèn)題是提供一種關(guān)鍵字搜索的多授權(quán)中心外包屬性基加密方法及系統(tǒng),將多授權(quán)中心的加密方案和可搜索的外包KP-ABE方案進(jìn)行研究改進(jìn)結(jié)合。受益于多授權(quán)中心方案的套環(huán)機(jī)制,本發(fā)明所提出的方法不僅讓KP-ABE可以在資源受限的設(shè)備中得以使用,而且提供給用戶(hù)一個(gè)有效的在云端根據(jù)關(guān)鍵字搜索密文方法,還能夠有效地檢測(cè)出CSP的不誠(chéng)實(shí)行為,保證了數(shù)據(jù)的安全性和正確性。本發(fā)明減少屬性授權(quán)中心和用戶(hù)端的計(jì)算代價(jià),根據(jù)用戶(hù)提交的加密過(guò)的關(guān)鍵字來(lái)搜索密文對(duì)應(yīng)的高效的查找到用戶(hù)指定的密文,而且能有效檢測(cè)CSP的密鑰生成完成情況及其正確性。本發(fā)明為解決上述技術(shù)問(wèn)題采用以下技術(shù)方案:一方面,本發(fā)明提供一種關(guān)鍵字搜索的多授權(quán)中心外包屬性基加密方法及系統(tǒng),包括公開(kāi)參數(shù)設(shè)置服務(wù)器、用戶(hù)私鑰生成服務(wù)器、外包用戶(hù)私鑰生成服務(wù)器、陷門(mén)生成服務(wù)器、加密服務(wù)器、外包解密服務(wù)器、解密服務(wù)器;其中:公開(kāi)參數(shù)設(shè)置服務(wù)器負(fù)責(zé)生成系統(tǒng)主密鑰和公開(kāi)參數(shù),并將公開(kāi)參數(shù)發(fā)送給系統(tǒng)其他部分;用戶(hù)私鑰生成服務(wù)器生成一對(duì)密鑰,其中,一個(gè)密鑰發(fā)送給外包用戶(hù)私鑰生成服務(wù)器,用于產(chǎn)生外包用戶(hù)私鑰;另一個(gè)密鑰用于產(chǎn)生用戶(hù)本地私鑰;外包用戶(hù)私鑰生成服務(wù)器生成外包用戶(hù)私鑰,并發(fā)送給用戶(hù)私鑰生成服務(wù)器,與用戶(hù)本地私鑰進(jìn)行整合,最終得到用戶(hù)私鑰;陷門(mén)生成服務(wù)器協(xié)助用戶(hù)生成查詢(xún)私鑰以及陷門(mén);加密服務(wù)器對(duì)明文信息加密,生成對(duì)應(yīng)的密文和關(guān)鍵字索引,并發(fā)送給外包解密服務(wù)器;外包解密服務(wù)器對(duì)符合用戶(hù)權(quán)限的密文進(jìn)行外包部分解密,并使用用戶(hù)提交的陷門(mén)搜索匹配的密文,如果關(guān)鍵字匹配成功,則將部分解密的密文發(fā)送給解密服務(wù)器;解密服務(wù)器對(duì)部分解密的密文進(jìn)行解密,以恢復(fù)明文信息。另一方面,本發(fā)明還提供一種關(guān)鍵字搜索的多授權(quán)中心外包屬性基加密方法,包括如下步驟:A.設(shè)定系統(tǒng)公開(kāi)參數(shù)PK和系統(tǒng)主密鑰MSK;B.根據(jù)系統(tǒng)公開(kāi)參數(shù)PK、系統(tǒng)主密鑰MSK和訪問(wèn)結(jié)構(gòu)A,生成用戶(hù)的密鑰對(duì)(OKKGCSP,OKTA),其中,OKKGCSP用于生成外包用戶(hù)私鑰參數(shù)(SREAL1,SRG)和(SREAL2,SRG),OKTA用于生成用戶(hù)本地私鑰SKTA;C.根據(jù)系統(tǒng)公開(kāi)參數(shù)PK、訪問(wèn)結(jié)構(gòu)A、SREAL1,SREAL2和SRG生成外包用戶(hù)私鑰(SKKGCSP[j],SKRG[j]),j=1,2,并對(duì)外包用戶(hù)私鑰做誠(chéng)實(shí)性檢測(cè),最終由外包用戶(hù)私鑰和用戶(hù)本地私鑰SKTA生成用戶(hù)私鑰;D.根據(jù)系統(tǒng)公開(kāi)參數(shù)PK、系統(tǒng)主密鑰MSK和訪問(wèn)結(jié)構(gòu)A,選擇盲化因子BF,生成承諾值qBF,計(jì)算查詢(xún)私鑰QK,并根據(jù)消息的關(guān)鍵字kw以及用戶(hù)私鑰SK和盲化因子BF生成相應(yīng)的陷門(mén)Tkw;E.根據(jù)系統(tǒng)公開(kāi)參數(shù)PK、用戶(hù)的屬性集合ω對(duì)明文信息M進(jìn)行加密,得到密文CT,并用關(guān)鍵字kw生成密文的索引IX(kw);F.根據(jù)系統(tǒng)公開(kāi)參數(shù)PK、Tkw對(duì)密文CT進(jìn)行外包解密操作,生成部分解密的密文QCT,并對(duì)索引IX(kw)進(jìn)行關(guān)鍵字匹配操作,如果成功,則將部分解密的密文發(fā)送給解密服務(wù)器;否則輸出錯(cuò)誤信息⊥;G.根據(jù)系統(tǒng)公開(kāi)參數(shù)PK,本地私鑰SKTA對(duì)部分解密密文QCT進(jìn)行完全解密操作,并驗(yàn)證是否是密文CT所對(duì)應(yīng)的明文信息M,若是則輸出明文信息M,否則輸出錯(cuò)誤信息⊥。作為本發(fā)明的進(jìn)一步優(yōu)化方案,所述步驟A包括:A1.選取階為p的乘法循環(huán)群G1和G2,其中p為素?cái)?shù),設(shè)定雙線性映射e:G1×G1→G2;A2.隨機(jī)選取G1的一個(gè)生成元g和G1的元素g2,h,h1,h2,…,hn,n是域中屬性個(gè)數(shù);隨機(jī)選取表示集合{1,2,K,p-1};選取兩個(gè)抗碰撞的哈希函數(shù)H1:{0,1}*→G1、H2:G2→{0,1}logp;A3.計(jì)算g1=gx;A4.系統(tǒng)公開(kāi)參數(shù)PK為PK=(G1,G2,g,g1,g2,h,h1,h2,…,hn,H1,H2),系統(tǒng)主密鑰MSK為MSK=x。作為本發(fā)明的進(jìn)一步優(yōu)化方案,所述步驟A2中,哈希函數(shù)H1是{0,1}*到G1的密碼學(xué)哈希函數(shù),哈希函數(shù)H2是G2到{0,1}logp的密碼學(xué)哈希函數(shù)。作為本發(fā)明的進(jìn)一步優(yōu)化方案,所述步驟B包括:B1.對(duì)于擁有訪問(wèn)結(jié)構(gòu)A的用戶(hù),隨機(jī)選取x11,x12∈Zp,rθ∈Zp*,計(jì)算x1=x11+x12∈Zp。其中,Zp表示集合{0,1,2,...,p-1};B2.計(jì)算x2=x-x11-x12模p,計(jì)算和則用戶(hù)本地私鑰SKTA為SKTA={dθ0,dθ1};B3.令OKKGCSP[1]=x11,OKKGCSP[2]=x12,選擇d-1次的多項(xiàng)式qRG(·)、qKGCSP[1](·)和qKGCSP[2](·),其中,d是正整數(shù);B4.對(duì)于測(cè)試訪問(wèn)結(jié)構(gòu)使得qKGCSP[1](t)=qKGCSP[2](t),其中,t∈A',qKGCSP[1](0)=x11,qKGCSP[2](0)=x12;B5.隨機(jī)選擇和使得rKGCSP[1],i=rKGCSP[2],i,其中,i∈A;B6.外包用戶(hù)私鑰參數(shù)為SREALj=(qKGCSP[j](·),{rKGCSP[j],i}i∈A),SRG=(qRG(·),{rRG,i}i∈A),其中,j=1,2。作為本發(fā)明的進(jìn)一步優(yōu)化方案,所述步驟C包括:C1.對(duì)于擁有訪問(wèn)結(jié)構(gòu)A的用戶(hù),利用SREALj=(qKGCSP[j](·),{rKGCSP[j],i}i∈A),SRG=(qRG(·),{rRG,i}i∈A),計(jì)算SKKGCSP[j]={d[j]i0,d[j]i1}i∈A,其中,j=1,2;計(jì)算SKRG[j]={d[RG[j]]i0,d[RG[j]]i1},其中,C2.檢測(cè)對(duì)于t∈A'是否有d[1]t0=d[2]t0,d[1]t1=d[2]t1;對(duì)于t∈A'是否有d[RG[1]]t0=d[RG[2]]t0,d[RG[1]]t1=d[RG[2]]t1;若是則繼續(xù)執(zhí)行C4,否則退出加密;C3.計(jì)算di0=d[1]i0·d[2]i0和di1=d[1]i1·d[2]i1,則用戶(hù)私鑰SK=(SKKGCSP,SKTA),其中,SKKGCSP={di0,di1}i∈A,SKTA={dθ0,dθ1}。作為本發(fā)明的進(jìn)一步優(yōu)化方案,所述步驟D包括:D1.根據(jù)系統(tǒng)公開(kāi)參數(shù)PK,系統(tǒng)主密鑰MSK和訪問(wèn)結(jié)構(gòu)A,隨機(jī)選取D2.計(jì)算u的承諾值計(jì)算查詢(xún)私鑰D3.計(jì)算搜索私鑰Tq(kw)=H1(kw)QKu以及D1=dθ1u,則用戶(hù)的陷門(mén)為T(mén)kw=(Tq(kw),di0,di1,D1)。作為本發(fā)明的進(jìn)一步優(yōu)化方案,所述步驟E包括:E1.隨機(jī)選取秘密值s∈Zp*,明文信息M∈G2;E2.計(jì)算C0=Me(g1,g2)s,C1=gs,Cθ=(g1h)s,其中,Me(g)表示M與配對(duì)運(yùn)算的乘積;對(duì)于屬性集合ω中的元素l計(jì)算Cl=(g1hl)s,得到密文CT=(ωU{θ},C0,C1,{Cl}l∈ω,Cθ);E3.選取關(guān)鍵字kw="keyword",計(jì)算k0=e(g1,g2)s·e(g,H1(kw))s,K0=H2(k0),設(shè)置K1=C1=gs,K2=Cθ=(g1h)s;則密文的索引為IX(kw)=(K1,K2,K0),上傳密文索引對(duì)(CT,IX(kw))。作為本發(fā)明的進(jìn)一步優(yōu)化方案,所述步驟F包括:F1.計(jì)算得到部分解密密文QCT;其中,F(xiàn)2.計(jì)算F3.驗(yàn)證K0=H2(kkw)是否相等,若相等則將部分解密密文發(fā)送給解密服務(wù)器,否則退出加密。作為本發(fā)明的進(jìn)一步優(yōu)化方案,所述步驟G中完全解密操作具體為:本發(fā)明采用以上技術(shù)方案與現(xiàn)有技術(shù)相比,具有以下技術(shù)效果:本發(fā)明在保證密鑰生成云服務(wù)提供者不能和用戶(hù)串謀下的情況下,給予屬性授權(quán)中心外包密鑰生成的方法,給予用戶(hù)外包解密密文并對(duì)密文關(guān)鍵字檢索的方法,使得用戶(hù)和屬性授權(quán)中心大大減少了通信代價(jià)的同時(shí),更高效更精確地獲取自己想要的密文,使得即使在帶寬受限的設(shè)備中也一樣可以使用,更關(guān)鍵的是增加了對(duì)CSP不誠(chéng)實(shí)行為的檢測(cè),保證數(shù)據(jù)的正確性因此本發(fā)明是一種新的安全高效的加密方法。附圖說(shuō)明圖1是本發(fā)明關(guān)鍵字搜索的多授權(quán)中心外包屬性基加密系統(tǒng)的示意圖。圖2是本發(fā)明關(guān)鍵字搜索的多授權(quán)中心外包屬性基加密方法的流程圖。具體實(shí)施方式下面結(jié)合附圖對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)說(shuō)明:本發(fā)明關(guān)鍵字搜索的多授權(quán)中心外包屬性基加密系統(tǒng)可基于雙線性對(duì)來(lái)實(shí)現(xiàn),下面簡(jiǎn)要介紹雙線性對(duì)的相關(guān)概念和所需滿(mǎn)足的性質(zhì):令G1、G2是階為p的乘法循環(huán)群,其中p為素?cái)?shù),g是G1的生成元。假設(shè)G1和G2這兩個(gè)群上的離散對(duì)數(shù)問(wèn)題都是困難問(wèn)題。定義群上的雙線性映射為:e:G1×G1→G2,且滿(mǎn)足下面的性質(zhì):1.雙線性:e(ua,vb)=e(u,v)ab,對(duì)所有的u,v∈G1,a,b∈Zp*和g∈G1均成立;2.非退化性:e(u,v)≠1,其中1是GT的單位元,存在u,v∈G1;3.可計(jì)算性:存在有效算法來(lái)計(jì)算e(u,v),對(duì)所有的u,v∈G1;本發(fā)明設(shè)計(jì)的技術(shù)方案實(shí)體包括:公開(kāi)參數(shù)設(shè)置服務(wù)器、數(shù)據(jù)擁有者、用戶(hù)、用戶(hù)私鑰生成服務(wù)器、外包用戶(hù)私鑰生成服務(wù)器、陷門(mén)生成服務(wù)器、加密服務(wù)器、解密服務(wù)器、外包解密服務(wù)器。如圖1所示,本發(fā)明所述系統(tǒng)包括:公開(kāi)參數(shù)設(shè)置服務(wù)器A、用戶(hù)私鑰生成服務(wù)器B、外包用戶(hù)私鑰生成服務(wù)器C、陷門(mén)生成服務(wù)器D、加密服務(wù)器E、外包解密服務(wù)器F、解密服務(wù)器G。公開(kāi)參數(shù)設(shè)置服務(wù)器A,用于生成系統(tǒng)主密鑰MSK和系統(tǒng)公開(kāi)參數(shù)PK,將系統(tǒng)主密鑰MSK發(fā)送給用戶(hù)私鑰生成服務(wù)器B,將系統(tǒng)公開(kāi)參數(shù)PK發(fā)送給用戶(hù)私鑰生成服務(wù)器B、外包用戶(hù)私鑰生成服務(wù)器C、陷門(mén)生成服務(wù)器D、加密服務(wù)器E、外包解密服務(wù)器F、解密服務(wù)器G。用戶(hù)私鑰生成服務(wù)器B,用于根據(jù)系統(tǒng)公開(kāi)參數(shù)PK、系統(tǒng)主密鑰MSK和訪問(wèn)結(jié)構(gòu)A生成用戶(hù)的密鑰對(duì)(OKKGCSP,OKTA),并據(jù)此生成外包用戶(hù)私鑰的參數(shù)(SREAL1,SRG)和(SREAL2,SRG)以及用戶(hù)本地私鑰SKTA。外包用戶(hù)私鑰生成服務(wù)器C,用于根據(jù)系統(tǒng)公開(kāi)參數(shù)PK、訪問(wèn)結(jié)構(gòu)A、SREAL1,SREAL2和SRG生成外包用戶(hù)私鑰(SKKGCSP[j],SKRG[j]),j=1,2,并對(duì)外包用戶(hù)私鑰做誠(chéng)實(shí)性檢測(cè),發(fā)送給用戶(hù)私鑰生成服務(wù)器B,將外包用戶(hù)私鑰與用戶(hù)本地私鑰整合出用戶(hù)私鑰SK。陷門(mén)生成服務(wù)器D,用于協(xié)助用戶(hù)生成查詢(xún)私鑰QK以及陷門(mén)Tkw。加密服務(wù)器E,用于對(duì)明文信息M加密生成對(duì)應(yīng)的密文CT,生成對(duì)應(yīng)的關(guān)鍵字索引IX(KW),并將其發(fā)送給外包解密服務(wù)器F。外包解密服務(wù)器F,用于對(duì)符合用戶(hù)權(quán)限的密文CT進(jìn)行外包部分解密,得到部分解密密文QCT;使用用戶(hù)提交的陷門(mén)Tkw搜索匹配的密文CT,如果關(guān)鍵字匹配成功,將部分解密的密文QCT和密文CT發(fā)送給解密服務(wù)器。解密服務(wù)器G,用于對(duì)部分解密的密文QCT進(jìn)行解密,以恢復(fù)明文信息M。如圖2所示,利用JPBC實(shí)現(xiàn)本發(fā)明的方案并介紹本發(fā)明的具體步驟:一、公開(kāi)參數(shù)設(shè)置服務(wù)器A執(zhí)行以下步驟:A1.選取階為p=730750818665451621361119245571504901405976559617的乘法循環(huán)群G1和G2,以及設(shè)定雙線性映射e:G1×G1→G2;A2.隨機(jī)選取G1的一個(gè)生成元g=7089358962210064797109146692854895211648055826580075738181736062367077227365387492850021015620516757933263884778632951969056246366121176950515753537613623,4285282827136139666573776680313406619962168962875084481928863045081494883422440033883245000519198356207995445903988568487086345204852149946871289871265039,0和G1的七個(gè)元素(域中屬性個(gè)數(shù)n=5):g2=1022811814333991839691077936373714282294685371627092018647104489535285620536387386904613239416895391670250574859267993683557539446176966938791134062801419,8108401975261555055001969463259660687829763089465532015948604181035722946413686161107088796112987623673192036107821811698027370178240393822999943206649420,0,h=6538411281490773084367249785056154727908008514570168511086002288437351092617355560695424651532064901703937413338415838714344576523346678916874745366181201,801677844178453272309931755676707736883292519610941664585503828679535650799903283852042491201575066343399675399368500920824343969516141741060303230450267,0,h1=1448584823220644379877809280522149103950970816425684274620504013039978224433771529081982249337894499371949412182756714349741277634183274503889787510537336,2555039387077636463987621419475637917451645891840196529999035133442541563695721673954078451294212116438447797750879391370119214001809357347714541964157710,0,h2=950477189851530307260009374282022097300679843760826555093039787568533468885583693914625270108780466258069574428541186208112883502490207569297769092813306,3407710418327329143820220643524963873078040845927978353579161428369249603894610240347811524200708919793274014635083893993490993296865567708223444284597775,0,h3=6463269436094074856940760674711642317334792153858483189305298584837629663398860716350878899196414131500710767853440934355165956359174793166560652895234227,4581027183514968208644024036112037464063785211655774315257892880870955274950295316061342027237594231355040835941503040661050896445882795469068992267106086,0,h4=945122360529400097867484503318232858475014686253547622871119572846839627927524051756026771779033100045105663451372212898558582187804028913531236941032451,2090295424296325922646736176313187392161933143461225887897814258334638964035749934253949778002123778618644158121616895097613671527347790875801692573250055,0,h5=1216148137992332090561883289936878318548064502421912800608514617323097899695759194056363994736673043294300303025914881448627417590924493568273854412362596,7420054962166506938523129191973994374401856932392133396267711633608152955169925786328713645917405257687114577732617034811311726971054509768343327151358825,0;隨機(jī)選取集合的元素x=32161353895867280836046354028024729528955104521,選取兩個(gè)抗碰撞的哈希函數(shù)H1:{0,1}*→G1、H2:G2→{0,1}logp;其中,哈希函數(shù)H1是{0,1}*到G1的密碼學(xué)哈希函數(shù),哈希函數(shù)H2是G2到{0,1}logp的密碼學(xué)哈希函數(shù),表示集合{1,2,K,p-1};A3.計(jì)算g1=gx=343259769286940091071140376427676399694764957249079285632980264390736520222302705719066286925417118109184665010337035736489171985662964345676027277842300,4536005900787706380888137612935938856021243211778997142300216937559439815911349279788992852389907894220573572637151478649757606900379357040298312139019090,0;A4.系統(tǒng)公開(kāi)參數(shù)PK=(G1,G2,g,g1,g2,h,h1,h2,h3,h4,h5,H1,H2),系統(tǒng)主密鑰MSK為MSK=x。用戶(hù)私鑰生成服務(wù)器B執(zhí)行以下步驟:B1.對(duì)于擁有訪問(wèn)結(jié)構(gòu)A={1,2,3}的用戶(hù),隨機(jī)選取x11∈Zp=88886989068469437979175337220344048621023118807,x12∈Zp=478153702304456119892390953625309941215108544335,rθ∈Zp*=391598678232271290810284745518110256097925612671;B2.計(jì)算x2=x-x11-x12模p=195871481188393344325599308753875641098800000996,計(jì)算dθ0=g2x2(g1h)rθ=972474933042142890313186773834801424552831588822201203857085435929007400757108955430378528010012877040880280902524182984254120906053245111907171571047840,669695832903350729370032843331829001034577164079886843179496665551573728136132363261428274929290484302577994883367880698160416181417457922635833390220892,0,]]>計(jì)算dθ1=grθ=1053084701077730896390633038461778240283492568878895987275396658752766659292741643841025635940060259214923107099426810776714519525101699067161758679015857,1684923429005373845460311749212109988213457071749776166073057013400297610878635276747133524684821381885218662537216960580045614487169258305541305884408112,0;]]>B3.令OKKGCSP[1]=x11,OKKGCSP[2]=x12,選擇d-1次的多項(xiàng)式qRG(·)、qKGCSP[1](·)和qKGCSP[2](·),其中d是正整數(shù);對(duì)于測(cè)試訪問(wèn)結(jié)構(gòu)使得qKGCSP[1](i)=qKGCSP[2](i),i∈A',qKGCSP[1](0)=x11,qKGCSP[2](0)=x12,隨機(jī)選擇和使得rKGCSP[1],i=rKGCSP[2],i;本實(shí)施例中:rKGCSP[1],1=537357156020316526481548204042195785773216719109,rKGCSP[2],1=520713677076623573970852203894904602847218187281,rKGCSP[1],2=458541357356566306056619868665681094034250512554,rKGCSP[2],2=447841956376588326157612865655782196054280613563,rKGCSP[1],3=857831957366584323157612764565782106054280613558,rKGCSP[2],3=652841956373465326112342865655782196054280655576,則,外包密鑰任務(wù)為SREALj=(qKGCSP[j](·),{rKGCSP[j],i}i∈A),SRG=(qRG(·),{rRG,i}i∈A),其中,j=1,2,用戶(hù)本地私鑰SKTA={dθ0,dθ1}。外包用戶(hù)私鑰生成服務(wù)器C執(zhí)行以下步驟:C1.j=1,2;d[1]10=g2qKGCSP[1](1)(g1h1)rKGCSP[1],1=8316963624426166673693634697460293715562143701497530776749830569160457163181591468328329985723615902236904057350684600587254684468388883213502482144562662,8237358556750124918661988895514525109980346933496254026769680522081767536027799172358070614762333695368327350242050163751045317797862066139343425800196043,0,]]>d[11]11=grKGCSP[1],1=742711342902790964421937675749328887169337671274388880503260649755381884831721795658410632902768002842994431205448090756505886320149048175361994681806456,5755382973672771037915138689911623410734900476689369226086756058884996859302003414389006961045598436532748023914537663132338557951229165371993981269358538,0,0]]>d[2]10=g2qKGCSP[2](1)(g1h1)rKGCSP[2],1=8080763072016699783632117463866716053161574070483671721770088395358118166926633176783263878051527304736188488572648126650386955491869888604422974647836560,688329311851681132803407035036952631024366335058347648341138527071466391250481026572286234158190916910639189821038764819693661627042604415238891656883934,0,]]>d[2]11=grKGCSP[2],1=7427113429027909644219376757493588871693376712743888805032606497553818848317217956584106329027680028429944312054480907565058863201490481175361994681806456,5755382973672771037915138689911623410734900476689369226086756058884996859302003414389006961045598436532748023914537663132338557951229165371993981269359538,0,]]>d[1]20=g2qKGCSP[1](2)(g1h2)rKGCSP[1],2=3617342364209687509075862933137918738174977739922664120592063263782016410160885578440340504796983839866250280807625382593708701142825049084432387421579915,1938984337583669967818910237050254867374364117234315712228584747188849314517140622399423417463280927573737422623238243120127631811883897297292653601960459,0,]]>d[1]21=grKGCSP[1],2=4479737943537293878712251777279183288916999816018664684434563]]>36966473333281154308550076981664847667051044109321672988604667957846500768904841629685023299,4830770086627956854445724526315617214042172892454949878004827705333873330791650633585467420302336363765372823009803491643951102142075756069618507067156344,0,]]>d[2]20=g2qKGCSP[2](2)(g1h2)rKGCSP[2],2=2499704556038370954190960033919064022454260913612853067945676214655615483461852014165279450405007072027757328898415974404190039023542178218157469068544344,2738406773774153859983427772484123114733878846188170840517195698209767268125898345319744615768327342395348784357926366824433520412230585439816564369333486,0,]]>d[2]21=grKGCSP[2],2=7732396151215998008460903481754417731839458003493803288238435549786370487195986225182374817853772053799581333899248043937275920107328744382732339720693937,2738360336355769981683812002110511906480886029821907888876923611708131989637744255702593116584185922397788945057462215883643705129209679030622348444076746,0,]]>d[1]30=g2qKGCSP[1](3)(g1h3)rKGCSP[1],3=8756756675653549823393317374418176398672641845973001198466014337118043277920141655109522888748313061575509936821487068807006896452797751988032308460197311,228035335243698916942015237466924800619242338008834309885566755992981714271940699438343107631877433803172858326321448357566023109576906055928399095488390,0,]]>d[1]31=grKGCSP[1],3=4616508605052315941159460441249469471375758094860297148684126469112132178199122345951338046813163808331817183348498808668611636951355885808954816065166886,690243721983030855584106582917125018140218741046171303747593469271612549275441874805077173467733961514915331396305279475518600089209975041875624689343337,0;]]>d[2]30=g2qKGCSP[2](3)(g1h3)rKGCSP[2],3=7658622148512069753903978180233711129547598193315460099181897006180254832218860796665809010969347588830659284526293608503466311086228222385708890200967039,1387876563414553865936402334935140812294520378392446572252510754445639656578273775212116037504177951718358872064903731337437944697831441429602814146551924,0,]]>d[2]31=grKGCSP[2],3=4616508605052315941159460441249469471375758094860297148684126469112132178199122345951338016813163808331817183348498808668611636951355885808954816065166886,6902437219830308555841065829171250181402187410461713037475934692716125492725441874805077173467733961514915331396305279475518600089209975041875624]]>C2:計(jì)算SKRG[j]={d[RG[j]]i0,d[RG[j]]i1}。其中,C3:檢測(cè)對(duì)于i∈A'是否有d[1]i0=d[2]i0,d[1]i1=d[2]i1;對(duì)于i∈A是否有d[RG[1]]i0=d[RG[2]]i0,d[RG[1]]i1=d[RG[2]]i1;C4:計(jì)算di0=d[1]i0·d[2]i0和di1=d[1]i1·d[2]i1,其中d10=d[1]10·d[2]10=4641300849166252199058578078363258538661671225079191781370642022654251954554415476479134418529069264749669676513284064358722101997646376938375694773385506,5164245260922050058766080391736342558549327986878229768876433562302932788075577400939664312267267750195522904284757350004709832766964879074626734309029208,0,d11=d[1]11·d[2]11=8117121104228483084360535436219187624255536284199877628563826540147332928214332957411995934265325123068126001859270893537924786622734657766883127943448242,6685503630597620429566244640204327585433095805930343261737022842713486305130213759579961019409162090188848307413908981289386631210606359306145979049333897,0,d20=d[1]20·d[2]20=3767589981210755859177361466247562878320566775069422699408048160068501120934939044788177875555817144687933323574498359773762897928170270152326255029438194,4645276171922031791908398798430814778236878191821304019566140544537353435260899667526053415538245441222331146338829602964468246375251073423410090578924765,0,d21=d[1]21·d[2]21=5566995997423271868694591536122310347487373443411184564095462318441662046274079155848753025708687922622832956763236980212404907724262213906770212935244693,6043828684511671076392658046324672631672260013389140044252017446738148555466795364610164093960148589151244939865060624917412833342785713362484287579025821,0,d30=d[1]30·d[2]30=7650833868333390367384727242293213666470508162820187048485223678819530128189358441111821835233111984316050515745919355371837738479832912623480423535176260,5266946737426243817398203226592260444365614157292807354893730171433007130039250760237798640699626967923724807049491220537784669125344455020095534069744554,0,d31=d[1]31·d[2]31=7442043185705687091920275051800650220550460975542579753108505513277866105119109281601488463167801156054377604373956960894155136759247114798216046325376699,8767690381484507878634850826340724456015704200464874147268787105712988747101032704447594170408184067957583743356022220184814052456716691382491248030737309,0;用戶(hù)外包私鑰SK=(SKKGCSP,SKTA),其中SKKGCSP={di0,di1}i∈A,SKTA={dθ0,dθ1}。陷門(mén)生成服務(wù)器D執(zhí)行以下步驟:D1.隨機(jī)選取BF=u∈Zp*=314725433679930951173580768137058640560679202561;]]>D2.計(jì)算qBF=g21/u=4824386089784257038552319442209835952905711456526872965713034722745300406411863788170331404289080400538341803067925926950673590887240389433551809726046557,7688684448816996099524684135834864806783339663592495896738558621130999694738967308295118524605702757634916555430364594256995840525573133609174223059872877,0,]]>計(jì)算查詢(xún)私鑰QK=g2x/u(g1h)rθ=4129443950264932513200279746799219507059252160912442458927664647764020267853276560701706815807512944346280761596159050011867567344966819241485174500025833,6438724480545449836980621382267040694342394547247607238674638774373281499582968509052451474188098165653733364928105839223112573140234017110669414496675052,0;]]>D3.計(jì)算搜索私鑰Tq(kw)=H1(kw)QKu=6362082876067030353528112583959915495444120736080227924204254584834818059146274842975841786432797794935016201495561071827836990251481083019819261853773593,1769791405663656319240454423100301048503047658356560244456913125089385981589482007278372945191708769911186554362741338775956332089238780544348924958935379,0,用戶(hù)的陷門(mén)為T(mén)kw=(Tq(kw),I,D1),D1=dθ1u。加密服務(wù)器E執(zhí)行以下步驟:E1.隨機(jī)選取秘密值s∈Zp*=676616403088372252198781494308035433618712336386,明文信息M∈G2={x=2112790788334019716449857187273363917516853010099983619093075507056285236715092101215513492968289389053130634075807734834301702283373726393879912615654978,y=3210476241040008829541355845833537389514735478277777969231438140830973914346054818197219721339667145973454923963815746259311872754182160729000688322452798};E2.計(jì)算C0=Me(g1,g2)s={x=828892870478689939285346784835365479789154497592581215317649104578775102796965675208367774865278989521436646282037209632048306548685241435829181157170319,y=1408728853779806511025540673114812645454972944168195762152076955183410455900247249726190676745762765934368921915195097565037479311460042272184294895818526},C1=gs=5420934598525719279669483420851439090758142377517148770011252303493557190650610192299693317947077859473812626198919094873273105559195416177984972969872348,7833017084720249589099384622502597588854330658800037554009401108957529252626039844213204417388723842961281575260087660411846446903153544196553629366953667,0,Cθ=(g1h)s=7247790962968503068261816965568826722182223541708278594136066668591536257269170358787587214304925008270403986568299085723335144386969438772885917801995023,7191818445589979887727906792226753822410779974746047819673998029154109763490709422938854604297925026733896710663530073190153069774652730373424813720062654,0,對(duì)于屬性集合ω中的元素計(jì)算C2=(g1h2)s=6894287306704384812618981181201267953568421526142441535552905260016772849573896719782553280389407878171376826070971138461956071419543995633744388683767276,1499721619183326384869543517757019377039207855512035898447764864853121229882597803854847742192556514912209668570669358720532357807909974439283978512168958,0,C3=(g1h3)s=2645186662652292276516815652133318753789382621029769244200440961188576239737536967384462430232813517379429327308908571100874979861262554040139966962111943,604213133774064812237310309251809535667948411241593463048681475392220747716123065036120727026853292572054441420346521835182784302226425472952897798270571,0得到密文CT=(ωU{θ},C0,C1,C2,C3,Cθ);E3.選取關(guān)鍵字kw="keyword",計(jì)算H1(kw)=45329154377060642504816861511255438475424932319157816743223852173739247023664,0,1,k0=e(g1,g2)s·e(g,H1(kw))s={x=1696243041342865690954585704413032430958485317507596428780959037739951843810078449065975023988653849663194370432575856088100132180533971043959557250369787,y=1842771542036578796033929926411002474889560539297596452895288435585908644207083160228653455719926070498695487388019849754091873821787878108137415440233032},K0=H2(k0)=184fa9883c8285381033c551ef7e9558,設(shè)置K1=C1=gs=5420934598525719279669483420851439090758142377517148770011252303493557190650610192299693317947077859473812626198919094873273105559195416177984972969872348,7833017084720249589099384622502597588854330658800037554009401108957529252626039844213204417388723842961281575260087660411846446903153544196553629366953667,0,K2=Cθ=(g1h)s=7247790962968503068261816965568826722182223541708278594136066668591536257269170358787587214304925008270403986568299085723335144386969438772885917801995023,7191818445589979887727906792226753822410779974746047819673998029154109763490709422938854604297925026733896710663530073190153069774652730373424813720062654,0。密文對(duì)應(yīng)的索引為IX(kw)=(K1,K2,K0),上傳密文索引對(duì)(CT,IX(kw))。外包解密服務(wù)器F執(zhí)行以下步驟:F1.計(jì)算QCT=Πi∈Ae(C1,Ii0)Δi(0)Πi∈Ae(Ii1,Ci)Δi(0)=Πi∈Ae(gs,g2q(i)(g1hi)ri)Δi(0)Πi∈Ae(gri,(g1hi)s)Δi(0)=e(e,e2)sΣi∈Aq(i)Δi(0)Πi∈Ae(gs,(g1hi)ri)Δi(0)Πi∈Ae(gri,(g1hi)s)Δi(0)=e(g,g2)sx1={x=721534146287041484696929994779646192727058633862254746175505165199260545405530497479820096406502175761963446729442674733842888615526588170150502108260706]]>9,y=797350972624397360960318802459342812090216352275984387718516244746555177481815418536244033424387498029528838524106418885539656204893712280675796000183054}]]>得到部分解密密文QCT;F2.計(jì)算kkw=e(K1,Tq(kw))e(D1,K2)=e(gs,H1(kw)QKu)e(dθ1u,(g1h)s)=e(gs,H1(kw)g2x(g1h)rθu)e(grθu,(g1h)s)=e(gs,(g1h)rθu)e(g,H1(kw))se(g,g2)sxe(grθu,(g1h)s)=e(g1,g2)s·e(g,H1(kw))s={x=1696243041342865690954585704413032430958485317507596428780959037739951843810078449065975023988653849663194370432575856088100132180533971043959557250369787,y=1842771542036578796033929926411002474889560539297596452895288435585908644207083160228653455719926070498695487388019849754091873821787878108137415440233032};]]>F3.驗(yàn)證K0=H2(kkw)是否相等,K0=H2(k0)=184fa9883c8285381033c551ef7e9558,H2(kkw)=184fa9883c8285381033c551ef7e9558,顯然相等,因此將部分解密密文和密文發(fā)送給解密服務(wù)器G進(jìn)行完全解密。解密服務(wù)器G執(zhí)行以下步驟:G1.計(jì)算M=C0·e(dθ1,Cθ)QCT·e(C1,dθ0)=Me(g1,g2)se(grθ,(g1h)s)e(g,g2)sx1e(g2x2,(g1h)rθ)=Me(g1,g2)se(grθ,(g1h)s)e(g1,g2)se(gs,(g1h)rθ)=M={x=2112790788334019716449857187273363917516853010099983619093075507056285236715092101215513492968289389053130634075807734834301702283373726393879912615654978,y=3210476241040008829541355845833537389514735478277777969231438140830973914346054818197219721339667145973454923963815746259311872754182160729000688322452798}]]>解密成功輸出明文信息M。以上所述,僅為本發(fā)明中的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉該技術(shù)的人在本發(fā)明所揭露的技術(shù)范圍內(nèi),可理解想到的變換或替換,都應(yīng)涵蓋在本發(fā)明的包含范圍之內(nèi),因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求書(shū)的保護(hù)范圍為準(zhǔn)。當(dāng)前第1頁(yè)1 2 3