欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種云存儲(chǔ)中基于KCB樹和布隆過(guò)濾器的高效密文檢索方法與流程

文檔序號(hào):12720283閱讀:來(lái)源:國(guó)知局

技術(shù)特征:

1.一種云存儲(chǔ)中基于KCB樹和布隆過(guò)濾器的高效密文檢索方法,其特征在于,包括以下幾個(gè)步驟:

(1)、初始化方案所需的密鑰

利用密鑰生成算法Gen(1k)→K,初始化本發(fā)明所需的密鑰K1和K2,其中1k是系統(tǒng)安全參數(shù),在安全參數(shù)1k下,生成偽隨機(jī)函數(shù)的密鑰K1以及對(duì)稱加密算法的密鑰K2

(2)、利用算法BuildIndex(F,W,K)為明文文件集構(gòu)造文件索引樹T

文件索引樹T實(shí)質(zhì)是一顆未加密的KCB樹(Keyword Complete Binary Tree),輸入明文文件集合F={f1,…,fn}和關(guān)鍵字集合W={w1,w2,…,wm},其中,n是文件集合中文件的個(gè)數(shù),m是關(guān)鍵字集合中關(guān)鍵字的個(gè)數(shù),n和m的個(gè)數(shù)均可增減,我們通過(guò)如下步驟構(gòu)造KCB樹:

a)、KCB樹的葉節(jié)點(diǎn)對(duì)應(yīng)文件集合F中的所有文件,因此KCB樹的層數(shù)l可由文件個(gè)數(shù)n決定,即完全二叉樹的葉節(jié)點(diǎn)個(gè)數(shù)為則用空節(jié)點(diǎn)填充剩余葉節(jié)點(diǎn);

b)、定義KCB樹的節(jié)點(diǎn)為uab(1≤a≤l,1≤b≤2(a-1)),其中a為節(jié)點(diǎn)uab所在的層數(shù),b為節(jié)點(diǎn)uab在第a層的序號(hào),在節(jié)點(diǎn)uab上存儲(chǔ)二元組(id(uab),dataab),id(uab)為節(jié)點(diǎn)標(biāo)識(shí)符,dataab為一個(gè)長(zhǎng)度為m的數(shù)組,dataab的第i位定義為dataab[i],其中i∈{1,…,m};

若節(jié)點(diǎn)uab是葉子節(jié)點(diǎn):將id(uab)定義為該節(jié)點(diǎn)對(duì)應(yīng)的文檔fj的文檔標(biāo)識(shí)符IDj,定義dataab[i]=11(1≤i≤m),當(dāng)且僅當(dāng)文件fj中包含關(guān)鍵字wi,定義dataab[i]=00,當(dāng)且僅當(dāng)文件fj中不包含該關(guān)鍵字wi,若該葉節(jié)點(diǎn)為填充節(jié)點(diǎn),則設(shè)置dataab[i]=10;

若節(jié)點(diǎn)uab是非葉子節(jié)點(diǎn):若其左孩子和右孩子都存在包含關(guān)鍵字wi的葉節(jié)點(diǎn),則將該內(nèi)部節(jié)點(diǎn)數(shù)組dataab的對(duì)應(yīng)位置dataab[i]置為11,若只有其左孩子存在包含關(guān)鍵字wi的葉節(jié)點(diǎn),則將該內(nèi)部節(jié)點(diǎn)數(shù)組dataab的對(duì)應(yīng)位置dataab[i]置為10,若只有其右孩子存在包含關(guān)鍵字wi的葉節(jié)點(diǎn),則將該內(nèi)部節(jié)點(diǎn)數(shù)組dataab的對(duì)應(yīng)位置dataab[i]置為01,若其左孩子和右孩子都不存在包含關(guān)鍵字wi的葉節(jié)點(diǎn),則將該內(nèi)部節(jié)點(diǎn)數(shù)組dataab的對(duì)應(yīng)位置dataab置為00;

KCB樹能保證在最差的情況下操作時(shí)間為O(logn),盡管KCB樹高效查找的優(yōu)勢(shì)能夠?qū)崿F(xiàn)關(guān)鍵字的快速檢索,但若將完全二叉樹T的2n-1個(gè)節(jié)點(diǎn)都存儲(chǔ)到云服務(wù)器上,又將給服務(wù)器帶來(lái)巨大的存儲(chǔ)開銷,因此本發(fā)明利用布隆過(guò)濾器再次對(duì)索引結(jié)構(gòu)進(jìn)行優(yōu)化,加快關(guān)鍵字的檢索效率,降低服務(wù)器的存儲(chǔ)開銷;

(3)、由文件索引樹T生成加密索引I

利用布隆過(guò)濾器將文件索引樹T生成加密索引I,輸入密鑰K,文件集合F={f1,…,fn},文件索引T,之后執(zhí)行以下步驟:

a)、對(duì)文件索引樹T中所有節(jié)點(diǎn)uab(1≤a≤l,1≤b≤2(a-1))以及所有的關(guān)鍵字wi(1≤i≤m),計(jì)算并利用y個(gè)相互獨(dú)立的哈希函數(shù)映射到布隆過(guò)濾器上:

<mrow> <msub> <mi>h</mi> <mi>p</mi> </msub> <mrow> <mo>(</mo> <mi>id</mi> <mrow> <mo>(</mo> <msub> <mi>u</mi> <mi>ab</mi> </msub> <mo>)</mo> </mrow> <mo>|</mo> <mo>|</mo> <msub> <mi>P</mi> <msub> <mi>K</mi> <mn>1</mn> </msub> </msub> <mrow> <mo>(</mo> <msub> <mi>w</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>|</mo> <mo>|</mo> <msub> <mi>data</mi> <mi>ab</mi> </msub> <mo>[</mo> <mi>i</mi> <mo>]</mo> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <mn>1</mn> <mo>&le;</mo> <mi>p</mi> <mo>&le;</mo> <mi>y</mi> <mo>,</mo> <mn>1</mn> <mo>&le;</mo> <mi>a</mi> <mo>&le;</mo> <mi>l</mi> <mo>,</mo> <mn>1</mn> <mo>&le;</mo> <mi>b</mi> <mo>&le;</mo> <msup> <mn>2</mn> <mrow> <mo>(</mo> <mi>a</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> </msup> <mo>,</mo> <mn>1</mn> <mo>&le;</mo> <mi>i</mi> <mo>&le;</mo> <mi>m</mi> <mo>)</mo> </mrow> </mrow>

b)、為了防止云服務(wù)器上數(shù)據(jù)丟失,將文件索引樹T保留在本地服務(wù)器,服務(wù)器上存儲(chǔ)加密索引I;

由于文件索引T采用的是完全二叉樹結(jié)構(gòu),該結(jié)構(gòu)上的每一個(gè)節(jié)點(diǎn)標(biāo)識(shí)符可以通過(guò)計(jì)算得到,從u11節(jié)點(diǎn)起,服務(wù)器能夠知道下一個(gè)要訪問(wèn)的節(jié)點(diǎn)標(biāo)識(shí)符,因此無(wú)需上傳KCB結(jié)構(gòu),只需將加密文件和加密索引上傳到云端;

當(dāng)可以承受一些誤報(bào)時(shí),布隆過(guò)濾器擁有很大的空間優(yōu)勢(shì),對(duì)于一個(gè)有1%誤報(bào)率的布隆過(guò)濾器而言,存儲(chǔ)所有元素只需要(9.6m(2n-1))bits(其中m為關(guān)鍵字個(gè)數(shù),n為文件個(gè)數(shù));

(4)、利用算法SrchToken生成搜索令牌

當(dāng)用戶需要對(duì)某個(gè)關(guān)鍵字進(jìn)行檢索時(shí),利用算法SrchToken(K,wi)→τ,輸入密鑰K和關(guān)鍵字wi,輸出搜索令牌

(5)、服務(wù)器接收搜索令牌τ,利用算法Search對(duì)加密關(guān)鍵字進(jìn)行檢索

服務(wù)器接收搜索令牌τ,通過(guò)加密索引I對(duì)密文文件進(jìn)行檢索,返回滿足條件的密文文件集合C(x,y),執(zhí)行步驟如下所示:

設(shè)判斷符π1=00、π2=01、π3=10、π4=11,從u11開始,根據(jù)命中的判斷符的值計(jì)算接下來(lái)要檢索的節(jié)點(diǎn)的標(biāo)識(shí)符id(uab),接著進(jìn)行遞歸查找,直至找到滿足查詢條件的密文文件集合;

將標(biāo)識(shí)符id(uab)、和πi(1≤i≤4)做以下運(yùn)算:

<mrow> <msub> <mi>h</mi> <mi>p</mi> </msub> <mrow> <mo>(</mo> <mi>i</mi> <mi>d</mi> <mo>(</mo> <msub> <mi>u</mi> <mrow> <mi>a</mi> <mi>b</mi> </mrow> </msub> <mo>)</mo> <mo>|</mo> <mo>|</mo> <msub> <mi>P</mi> <msub> <mi>K</mi> <mi>I</mi> </msub> </msub> <mo>(</mo> <msub> <mi>w</mi> <mi>i</mi> </msub> <mo>)</mo> <mo>|</mo> <mo>|</mo> <msub> <mi>&pi;</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>,</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>&le;</mo> <mi>p</mi> <mo>&le;</mo> <mi>y</mi> <mo>,</mo> <mn>1</mn> <mo>&le;</mo> <mi>i</mi> <mo>&le;</mo> <mn>4</mn> <mo>,</mo> <mn>1</mn> <mo>&le;</mo> <mi>a</mi> <mo>&le;</mo> <mi>l</mi> <mo>,</mo> <mn>1</mn> <mo>&le;</mo> <mi>b</mi> <mo>&le;</mo> <msup> <mn>2</mn> <mrow> <mo>(</mo> <mi>a</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> </msup> <mo>)</mo> </mrow> </mrow>

當(dāng)前檢索的是內(nèi)部節(jié)點(diǎn):

a)、若π1命中,表示不存在含有關(guān)鍵字wi的文件,云服務(wù)器向用戶返回沒(méi)有找到;

b)、若π2命中,表示當(dāng)前節(jié)點(diǎn)的右孩子存在包含關(guān)鍵字wi的文件,計(jì)算接下來(lái)要檢索的節(jié)點(diǎn)為u(a+1)(2b);

c)、若π3命中,表示當(dāng)前節(jié)點(diǎn)的左孩子存在包含關(guān)鍵字wi的文件,計(jì)算接下來(lái)要檢索的節(jié)點(diǎn)為u(a+1)(2b-1)

d)、若π4命中,表示當(dāng)前節(jié)點(diǎn)的左孩子和右孩子都存在包含關(guān)鍵字wi的文件,計(jì)算接下來(lái)要檢索的節(jié)點(diǎn)為u(a+1)(2b-1)和u(a+1)(2b);

當(dāng)前檢索的是葉子節(jié)點(diǎn):

a)、若π1命中,表示文件fj不含關(guān)鍵字wi;

b)、若π4命中,表示文件fj含有關(guān)鍵字wi;

c)、若π3命中,表示該葉節(jié)點(diǎn)為填充節(jié)點(diǎn);

根據(jù)以上步驟,從云服務(wù)器上找到與搜索令牌對(duì)應(yīng)的密文文件集合C(x,y)。

當(dāng)前第2頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
江山市| 休宁县| 曲松县| 肃南| 新巴尔虎左旗| 万宁市| 台州市| 奉化市| 开化县| 阜平县| 疏勒县| 盐山县| 鸡泽县| 梁平县| 吴忠市| 荔浦县| 丰原市| 昆山市| 获嘉县| 五华县| 贺兰县| 布拖县| 南投县| 疏勒县| 仁寿县| 呈贡县| 电白县| 潼南县| 阜南县| 黎城县| 武威市| 仙居县| 朝阳区| 永德县| 灵璧县| 杨浦区| 宝丰县| 怀仁县| 南雄市| 双桥区| 鄂伦春自治旗|