專利名稱:公鑰加密系統(tǒng)中析取范式的查詢方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)信息安全領(lǐng)域,更具體地說(shuō),本發(fā)明涉及一種公鑰加密系統(tǒng)中析取范式的查詢方法。
背景技術(shù):
公鑰系統(tǒng)是這樣一個(gè)系統(tǒng)密鑰是由信息的接收者成對(duì)生成的,每對(duì)密鑰由一個(gè)公鑰和一個(gè)私鑰組成,公鑰為公開(kāi)的,而私鑰由接收者自己秘密保存。任何發(fā)送者可以用公鑰加密信息并發(fā)送給接收者,而此加密信息只能由擁有對(duì)應(yīng)私鑰的接收者才能解密。析取范式關(guān)鍵詞查詢是為了檢測(cè)一個(gè)文檔的關(guān)鍵詞列表中是否包含至少一個(gè)用戶想要查詢的關(guān)鍵詞。假設(shè)文檔關(guān)鍵詞列表中的關(guān)鍵詞集合為A,用戶想要查詢的關(guān)鍵詞為B,那么析取范式關(guān)鍵詞查詢就是為了查詢那些A U B^ Θ的文檔。此處,θ代表空集。現(xiàn)有的在密文上支持析取范式關(guān)鍵詞查詢使用內(nèi)積的方法。該方法通過(guò)把關(guān)鍵詞集合A映射成一組向量X,把關(guān)鍵詞集合B映射成V,然后在不解密的情況下通過(guò)計(jì)算X · V 是否為0來(lái)判斷A U B是否為空集。通過(guò)此方法,來(lái)達(dá)到在不解密的情況下進(jìn)行密文上的析取范式關(guān)鍵詞查詢。通過(guò)使用以上的方法,雖然能解決析取范式關(guān)鍵詞查詢,但是由于將關(guān)鍵詞映射到一組向量上,會(huì)引起系統(tǒng)空間和時(shí)間復(fù)雜度的指數(shù)型上升。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種公鑰加密系統(tǒng)中析取范式的查詢方法,其能夠建立一個(gè)關(guān)鍵詞域無(wú)關(guān)的公鑰密鑰體制下的進(jìn)行析取關(guān)鍵詞查詢體系和方法。一種公鑰加密系統(tǒng)中析取范式的查詢方法,包括以下步驟(1)隨機(jī)選取安全參數(shù),并選擇ai+3個(gè)隨機(jī)數(shù)α。,α i,. . .,α η,β。,β i,. . .,β n, 沒(méi)e Ζ:,其中n為整數(shù),q為素?cái)?shù),Z;是在q上的乘法群;(2)根據(jù)以下公式對(duì)安全參數(shù)和隨機(jī)數(shù)進(jìn)行計(jì)算,以得到公共密鑰pk和秘密密鑰 sk
pk = [X0 =ga\X, =ga\...,Xn=ga\Y0 =§β\Υ,= =
,從={%片,..., 風(fēng),屬,...,總^6 2〗},其中(;1,(;2為兩個(gè)循環(huán)群4是循環(huán)群的階數(shù)且為素?cái)?shù),g為G1的任一生成元, 為雙線性配對(duì)函數(shù),且 G1 χ G1 — G2;(3)對(duì)公共密鑰pk和一組關(guān)鍵詞集合W= {WpWp.qWj進(jìn)行計(jì)算,以得到索引 Iw,并對(duì)秘密密鑰Sk和另一組關(guān)鍵詞集合Q = (QijQ2,.. . ,QJ進(jìn)行計(jì)算,以得到陷門Tq,具體包括以下子步驟(31)選擇 n2+ai 個(gè)隨機(jī)數(shù)巧,巧,…,!^ 和",其中 i e [l,n], j e
;(32)對(duì)于每個(gè) Wi e W,計(jì)算4 =X] xg柳、=產(chǎn)嗎講、^ =Yuv =gPjUv
權(quán)利要求
1. 一種公鑰加密系統(tǒng)中析取范式的查詢方法,包括以下步驟(1)隨機(jī)選取安全參數(shù),并選擇2n+3個(gè)隨機(jī)數(shù)α^,α . .,α η, β 0, β π . . .,β η, 沒(méi)e Ζ:,其中η為整數(shù),q為素?cái)?shù),Ζ;是在q上的乘法群;(2)根據(jù)以下公式對(duì)所述安全參數(shù)和所述隨機(jī)數(shù)進(jìn)行計(jì)算,以得到公共密鑰Pk和秘密密鑰sk pk = {X0=ga\X1=ga\...,Xn=ga%Y0=gf3\Y1=g\...Jn=g\Z = ge^ = e(g,g)} =,其中G1A2為兩個(gè)循環(huán)群,q是所述循環(huán)群的階數(shù)且為素?cái)?shù),g為G1的任一生成元, 為雙線性配對(duì)函數(shù),且IG1 xG ;(3)對(duì)所述公共密鑰pk和一組關(guān)鍵詞集合W={WpWy...^進(jìn)行計(jì)算,以得到索引 Iw,并對(duì)所述秘密密鑰sk和另一組關(guān)鍵詞集合Q = (Q1, Q2, ... , QJ進(jìn)行計(jì)算,以得到陷門 TQ,具體包括以下子步驟(31)選擇η2+&ι 個(gè)隨機(jī)數(shù) r2,...,rn 和 e Z;,其中 i G [1,η],j e
;(32)對(duì)于每個(gè)Wi e W,計(jì)算 4 =X] χ嚴(yán))、=產(chǎn)者)、,Bj =y = , Ci=Zri =ge\ D1=H2Q/'),其中 i e [1, n], j e
, /Z1 {0,1}* — {0,l}log!和 H2:G2 —{0,1}1% 兩個(gè)哈希函數(shù);(33)根據(jù)以上公式得到所述索引IwI =A A ---A B B ---B C D λΛ10 Λ jjW -uIl ljIn MAo Α.· · H B2I …B2n C2 D2、乂。乂,…乂 B ,B ,---B C D J\ ni) η\ηη η υ πιη η η η J(34)選擇s-m個(gè)隨機(jī)關(guān)鍵詞Iw1,w2,. . .,ws_J,其中m彡s彡η ;(35)構(gòu)建一個(gè)s 階多項(xiàng)式 f (χ) = β,χ^β,^χ3-1+. . . +B1X^a0, f (χ)具有 s 個(gè)根為 H1 (Q1), H1 (Q2), ... H1 (Qm),H1 (W1),H1 (w2),...,H1 (ws_m);aJ(36)選擇一個(gè)隨機(jī)數(shù)ue Z,,計(jì)算出_ Τ^λ^^θ _ Jj1IJ ~ 6/2; -1Ij ,其中j e⑴^!,并!^ = !!,、是在q上的整數(shù)群;(37)根據(jù)以上公式得到所述陷門為Tq= (T10, ...,Tls,T20, ...,T2s,T3);(4)根據(jù)所述索引Iw、所述陷門Tq和所述公共密鑰pk確定關(guān)鍵詞集合W= (WijW2,..., WJ是否與關(guān)鍵詞集合Q = IQ1, Q2,... , QJ匹配,具體包括子步驟(41)設(shè)置計(jì)數(shù)器v= 0;(42)判斷ν不大于η;fQSt(43)若ν不大于n,則檢查以下等式是否成立足(^)= 其中i e [1,η],testn =YY1J^jAf-') ^testa =YY1J^M ;(44)若等式成立,則表示二者匹配,并輸出1。
2.根據(jù)權(quán)利要求1所述的查詢方法,其特征在于,所述步驟(4)進(jìn)一步包括若ν大于n,則表示二者不匹配,并輸出0。
3.根據(jù)權(quán)利要求1所述的查詢方法,其特征在于,所述步驟(4)進(jìn)一步包括若等式不成立,則設(shè)置ν = ν+l,并返回所述步驟G2)。
全文摘要
本發(fā)明公開(kāi)了一種公鑰加密系統(tǒng)中析取范式的查詢方法,包括步驟(1)隨機(jī)選取安全參數(shù),并選擇2n+3個(gè)隨機(jī)數(shù)α0,α1,...,αn,β0,β1,...,βn,其中n為整數(shù);(2)對(duì)安全參數(shù)和隨機(jī)數(shù)進(jìn)行計(jì)算,以得到公共密鑰pk和秘密密鑰sk(3)對(duì)公共密鑰pk和一組關(guān)鍵詞集合進(jìn)行計(jì)算,以得到索引Iw,并對(duì)秘密密鑰sk和另一組關(guān)鍵詞集合進(jìn)行計(jì)算,以得到陷門TQ;(4)根據(jù)索引Iw、陷門TQ和公共密鑰pk確定兩組關(guān)鍵詞集合是否匹配。本發(fā)明支持多關(guān)鍵詞檢索的需求,并可不利用關(guān)鍵詞域作為輔助信息。
文檔編號(hào)G06F17/30GK102385627SQ20111035008
公開(kāi)日2012年3月21日 申請(qǐng)日期2011年11月8日 優(yōu)先權(quán)日2011年11月8日
發(fā)明者劉陽(yáng), 張鈺, 趙友橋, 路松峰 申請(qǐng)人:華中科技大學(xué)