鬼佬大哥大
  • / 13
  • 下載費用:30 金幣  

基于帶有存儲結構的BLOOM過濾器的關鍵詞可搜索加密方法.pdf

摘要
申請專利號:

CN201510408233.X

申請日:

2015.07.13

公開號:

CN105069358A

公開日:

2015.11.18

當前法律狀態:

授權

有效性:

有權

法律詳情: 授權|||專利申請權的轉移IPC(主分類):G06F 21/60登記生效日:20180720變更事項:申請人變更前權利人:西安理工大學變更后權利人:杭州共享匯信息技術有限公司變更事項:地址變更前權利人:710048 陜西省西安市金花南路5號變更后權利人:310000 浙江省杭州市西湖區西港發展中心西1幢1202室|||實質審查的生效IPC(主分類):G06F 21/60申請日:20150713|||公開
IPC分類號: G06F21/60(2013.01)I; G06F17/30 主分類號: G06F21/60
申請人: 西安理工大學
發明人: 王尚平; 龍庚; 劉麗華
地址: 710048陜西省西安市金花南路5號
優先權:
專利代理機構: 西安弘理專利事務所61214 代理人: 李娜
PDF完整版下載: PDF下載
法律狀態
申請(專利)號:

CN201510408233.X

授權公告號:

|||||||||

法律狀態公告日:

2018.09.04|||2018.08.10|||2015.12.16|||2015.11.18

法律狀態類型:

授權|||專利申請權、專利權的轉移|||實質審查的生效|||公開

摘要

本發明公開了一種基于帶有存儲結構的Bloom過濾器的關鍵詞可搜索加密方法,步驟包括:步驟1、系統參數初始化;步驟2、用戶密鑰生成;步驟3、檢索索引生成;步驟4、搜索令牌生成;步驟5、云存儲服務器關于密文關鍵詞的搜索,本發明使得用戶能夠利用連接關鍵詞的陷門搜索加密文檔,數據用戶可以將自己的數據加密后,存放到云存儲服務器,需要時候,可以通過關鍵詞檢索令牌檢索到需要的密文數據,然后下載解密;本發明解決了現有技術中存在的現有的加密方法密文檢索效率不高的問題。

權利要求書

1.基于帶有存儲結構的Bloom過濾器的關鍵詞可搜索加密方法,其特征
在于,具體按照以下步驟實施:
步驟1、系統參數初始化;
步驟2、用戶密鑰生成;
步驟3、檢索索引生成;
步驟4、搜索令牌生成;
步驟5、云存儲服務器關于密文關鍵詞的搜索。
2.根據權利要求1所述的基于帶有存儲結構的Bloom過濾器的關鍵詞可
搜索加密方法,其特征在于,所述步驟1具體過程為:
建立一個帶有存儲結構的Bloom過濾器,Bloom過濾器是由兩部分構成,
其一為一個大小為n的數組M,其二為m個值域為[1,…,n]的獨立隨機哈希
函數h1,…,hm,這里的m個哈希函數都是從{0,1}*映射到[1,…,n]中任意整數
的函數,用數學函數表達為:hi:{0,1}*→[1,…,n],其中,i=1,…,m,由
云存儲服務器Serv輸入安全參數λ,選擇G1、GT為階為大素數p的群,其中
g是G1的生成元,選擇一個哈希函數其中從1到p-1的整
數,輸出公共參數ρ=<G1,GT,g,H>。
3.根據權利要求1所述的基于帶有存儲結構的Bloom過濾器的關鍵詞可
搜索加密方法,其特征在于,所述步驟2具體過程為:
由用戶端自主進行計算,接收云存儲服務器Serv輸出的公共參數ρ,隨
機選擇將作為自己的私鑰sk=<x>,保密。
4.根據權利要求1所述的基于帶有存儲結構的Bloom過濾器的關鍵詞可
搜索加密方法,其特征在于,所述步驟3具體按照以下步驟實施:
步驟(3.1)、設用戶選擇的待加密文檔集合為D=(D1,…,Dn),用戶選
擇待加密文檔D的關鍵詞組W={w1,…,wl},1≤i≤n,接收公共參數ρ和
上一步生成的密鑰sk,對于關鍵詞組W={w1,…,wl}中的每一個關鍵詞
wi(i∈[1,…,l]),隨機選擇上的元素si,計算
A i = g x H ( w i ) + s i , ]]>
B i = g s i ; ]]>
步驟(3.2)、設密文利用Bloom過濾器生成關鍵詞組
W=[w1,…,wl}的索引M和壓縮索引M*,索引M和壓縮索引M*的大小都為n,
哈希函數的個數為m,計算:
μ i j = h i ( w j ) i [ 1 , ... , m ] , j [ 1 , ... , l ] , ]]>
并將μij所對應的密文插入到M[μij]中;
步驟(3.3)、根據數組M生成其對應的壓縮索引M*,即如果M的第
i(i=1,…,n)個分量中不空,則對應的將M*的第i個分量標記為1,然后根
據上傳文檔的先后順序,將M插入到數據庫的索引表中,將M*添加到數據
庫的壓縮索引表中。
5.根據權利要求1所述的基于帶有存儲結構的Bloom過濾器的關鍵詞可
搜索加密方法,其特征在于,所述步驟4具體按照以下步驟實施:
步驟(4.1)、待搜索用戶在用戶端輸入待搜索的關鍵詞組
和密鑰sk,其中l1≤l,生成一個連接關鍵詞組的搜索令牌t,
索令牌t中的所有關鍵詞為wi,其中,i∈[1,…,l1],l1≤l,對于所有待檢索
的關鍵詞組來生成令牌,選擇上的一個隨機元素r,計算:
S = e ( g i = 1 l 1 H ( w i ) , g x ) , T = g r ; ]]>
步驟(4.2)、新生成一個壓縮索引其大小為n,即為一個大小為
n的數組,并且初始化的每一個元素都為0,計算每一個關鍵詞wj的
μij=hi(wj),其中,i∈[1,…,m],j∈[1,…,l1],并將標記為1,輸出
搜索令牌到Serv。
6.根據權利要求1所述的基于帶有存儲結構的Bloom過濾器的關鍵詞可
搜索加密方法,其特征在于,所述步驟5具體按照以下步驟實施:
步驟(5.1)、云存儲服務器Serv接收到待匹配的搜索令牌服
務器從數據庫中檢索所有存儲文檔對應的索引和壓縮索引,設當前檢索到的
索引為M和壓縮索引為M*;
步驟(5.2)、進行判斷:
(a)判斷壓縮索引是否包含在M*中,即這里
I2={i|M*(i)=1},如果即包含在M*中,則進行下一步操作;
(b)根據壓縮索引對所有M[i]中存放的重復元素進行統計,其中i
滿足找到所有重復個數等于m的元素,并將其作為密文集
由于存在哈希碰撞的情況,因此所得到的密文集中密文個
數會存在大于待檢索的關鍵詞的個數的情況,這時,需要對密文集進行
組合形成一系列新的密文集,并保證密文集的個數和待檢索的關鍵詞的個數
相同,然后對新的密文集進行下一步操作;
(c)對所有新生成的密文集進行如下判斷,對于
判斷下式是否成立:
e ( Π j = 1 l 1 A i j , T ) S · e ( Π j = 1 l 1 B i j , T ) = 1 , ]]>
如果上式成立,則匹配成功,輸出1給用戶,反之輸出0。

說明書

基于帶有存儲結構的Bloom過濾器的關鍵詞可搜索加密方法

技術領域

本發明屬于信息安全技術領域,具體涉及一種基于帶有存儲結構的Bloom過濾器的關鍵詞可搜索加密方法。

背景技術

云計算作為一種新的計算模型,能夠提供成本較低、可擴展的各種先進的計算服務,為了節省存儲及管理數據的代價,企業和個人可以將數據外包到云存儲服務器。云存儲服務提供的數據具有可用性和可靠性等優勢,但是其也有一個很明顯的缺點,即數據不在用戶的管理及控制之下,那么如何維護數據的機密性和完整性便成為用戶迫切關注的問題。

雖然企業相信云存儲服務提供商(CloudStorageServiceProvider,CSSP)的可靠性、可用性、容錯性等,但是人們無法確信CSSP不將托管的數據用于其他目的;同樣對于個人用戶而言,他們希望自己的數據只能由自己或指定的人訪問而不能被CSSP訪問。這將導致兩方面的問題:一方面,從用戶的角度看,他們無法找到讓他們完全可信的CSSP來存儲和管理他們的數據;另一方面從CSSP的角度看,在沒有解決上述問題的情況下將會丟失大量的客戶。因此,數據的機密性及完整性將阻礙云存儲的推廣及使用。

鑒于以上的實際問題,云存儲中數據必須在傳輸到CSSP之前,由用戶自己加密,并且也只能由用戶自己進行解密,這樣將會減輕用戶數據泄漏的危險。但這將引入一個新的問題,如用戶需要包含某個關鍵字的文檔,那么用戶是否能很快的獲得他們想要的數據并保證數據對CSSP的機密性?

發明內容

本發明的目的是提供一種基于帶有存儲結構的Bloom過濾器的關鍵詞可搜索加密方法,解決了現有技術中存在的現有的加密方法密文檢索效率不高的問題。

本發明所采用的技術方案是,基于帶有存儲結構的Bloom過濾器的關鍵詞可搜索加密方法,具體按照以下步驟實施:

步驟1、系統參數初始化;

步驟2、用戶密鑰生成;

步驟3、檢索索引生成;

步驟4、搜索令牌生成;

步驟5、云存儲服務器關于密文關鍵詞的搜索。

本發明的特點還在于,

步驟1具體過程為:

建立一個帶有存儲結構的Bloom過濾器,Bloom過濾器是由兩部分構成,其一為一個大小為n的數組M,其二為m個值域為[1,…,n]的獨立隨機哈希函數h1,…,hm,這里的m個哈希函數都是從{0,1}*映射到[1,…,n]中任意整數的函數,用數學函數表達為:hi:{0,1}*→[1,…,n](i=1,…,m),由云存儲服務器Serv輸入安全參數λ,選擇G1、GT為階為大素數p的群,其中g是G1的生成元,選擇一個哈希函數其中是從1到p-1的整數,輸出公共參數ρ=<G1,GT,g,H>。

步驟2具體過程為:

由用戶端自主進行計算,接收云存儲服務器Serv輸出的公共參數ρ,隨機選擇將作為自己的私鑰sk=<x>,保密。

步驟3具體按照以下步驟實施:

步驟(3.1)、設用戶選擇的待加密文檔集合為D=(D1,…,Dn),用戶選擇待加密文檔D的關鍵詞組W={w1,…,wl},1≤i≤n,接收公共參數ρ和上一步生成的密鑰sk,對于關鍵詞組W={w1,…,wl}中的每一個關鍵詞wi(i∈[1,…,l]),隨機選擇上的元素si,計算

A i = g x H ( w i ) + s i , ]]>

B i = g s i ; ]]>

步驟(3.2)、設密文利用Bloom過濾器生成關鍵詞組W={w1,…,wl}的索引M和壓縮索引M*,索引M和壓縮索引M*都是大小為n的數組,索引M中存放的元素為下式計算的μij,壓縮索引M*存放的為0或者1,哈希函數的個數為m,計算:

μ i j = h i ( w j ) i [ 1 , ... , m ] , j [ 1 , ... , l ] , ]]>

并將μij所對應密文的插入到M[μij]中;

步驟(3.3)、根據數組M生成其對應的壓縮索引M*,即如果M的第i(i=1,…,n)個分量中不空,則對應的將M*的第i個分量標記為1,然后根據上傳文檔的先后順序,將M插入到數據庫的索引表中,將M*添加到數據庫的壓縮索引表中。

步驟4具體按照以下步驟實施:

步驟(4.1)、待搜索用戶在用戶端輸入待搜索的關鍵詞組和密鑰sk,其中l1≤l,生成一個連接關鍵詞組的搜索令牌t,搜索令牌t中的所有關鍵詞為wi,其中,i∈[1,…,l1],l1≤l對于所有待檢索的關鍵詞組來生成令牌,選擇上的一個隨機元素r,計算:

S = e ( g r Σ i = 1 l 1 H ( w i ) , g x ) , T = g r ; ]]>

步驟(4.2)、新生成一個壓縮索引其大小為n,即為一個大小為n的數組,并且初始化的每一個元素都為0,計算每一個關鍵詞wj的μij=hi(wj),其中,i∈[1,…,m],j∈[1,…,l1],并將標記為1,輸出搜索令牌到Serv。

步驟5具體按照以下步驟實施:

步驟(5.1)、云存儲服務器Serv接收到待匹配的搜索令牌服務器從數據庫中檢索所有存儲文檔對應的索引和壓縮索引,設當前檢索到的索引為M和壓縮索引為M*;

步驟(5.2)、進行判斷:

(a)判斷壓縮索引是否包含在M*中,即這里I2={i|M*(i)=1},如果即包含在M*中,則進行下一步操作;

(b)根據壓縮索引對所有M[i]中存放的重復元素進行統計,其中i滿足找到所有重復個數等于m的元素,并將其作為密文集由于存在哈希碰撞的情況,因此所得到的密文集中密文個數會存在大于待檢索的關鍵詞的個數的情況,這時,需要對密文集進行組合形成一系列新的密文集,并保證密文集的個數和待檢索的關鍵詞的個數相同,然后對新的密文集進行下一步操作;

(c)對所有新生成的密文集進行如下判斷,對于判斷下式是否成立:

e ( Π j = 1 l 1 A i j , T ) S · e ( Π j = 1 l 1 B i j , T ) = 1 , ]]>

如果上式成立,則匹配成功,輸出1給用戶,反之輸出0。

本發明的有益效果是,基于帶有存儲結構的Bloom過濾器的關鍵詞可搜索加密方法,數據用戶可以將自己的數據加密后,存放到云存儲服務器,需要時候,可以通過關鍵詞檢索令牌檢索到需要的密文數據,然后下載解密,同時,云存儲服務器并不知道用戶檢索的關鍵詞,確保用戶的數據信息隱私性,在計算代價,即Serv對文檔搜索的速度方面的綜合效率得到提高,同時,每個文檔所包含的關鍵詞數量沒有約束,關鍵詞的所屬域也沒有約束的情況下,依然保證了Serv的文檔檢索效率。

具體實施方式

下面結合具體實施方式對本發明進行詳細說明。

本發明基于帶有存儲結構的Bloom過濾器的關鍵詞可搜索加密方法,具體按照以下步驟實施:

步驟1、系統參數初始化:

具體過程為:

建立一個帶有存儲結構的Bloom過濾器,Bloom過濾器是由兩部分構成,其一為一個大小為n的數組M,其二為m個值域為[1,…,n]的獨立隨機哈希函數h1,…,hm,這里的m個哈希函數都是從{0,1}*映射到[1,…,n]中任意整數的函數,用數學函數表達為:hi:{0,1}*→[1,…,n](i=1,…,m),由云存儲服務器Serv輸入安全參數λ,選擇G1、GT為階為大素數p的群,其中g是G1的生成元,選擇一個哈希函數其中從1到p-1的整數,輸出公共參數ρ=<G1,GT,g,H>;

步驟2、用戶密鑰生成:

具體過程為:

由用戶端自主進行計算,接收云存儲服務器Serv輸出的公共參數ρ,隨機選擇將作為自己的私鑰sk=<x>,保密;

步驟3、檢索索引生成:

具體按照以下步驟實施:

步驟(3.1)、設用戶選擇的待加密文檔集合為D=(D1,…,Dn),用戶選擇待加密文檔D的關鍵詞組W={w1,…,wl},1≤i≤n,接收公共參數ρ和上一步生成的密鑰sk,對于關鍵詞組W={w1,…,wl}中的每一個關鍵詞wi(i∈[1,…,l]),隨機選擇上的元素si,計算

A i = g x H ( w i ) + s i , ]]>

B i = g s i ; ]]>

步驟(3.2)、設密文利用Bloom過濾器生成關鍵詞組W={w1,…,wl}的索引M和壓縮索引M*,索引M和壓縮索引M*的大小都為n,哈希函數的個數為m,計算:

μ i j = h i ( w j ) i [ 1 , ... , m ] , j [ 1 , ... , l ] , ]]>

并將μij所對應的密文插入到M[μij]中;

步驟(3.3)、根據數組M生成其對應的壓縮索引M*,即如果M的第i(i=1,…,n)個分量中不空,則對應的將M*的第i個分量標記為1,然后根據上傳文檔的先后順序,將M插入到數據庫的索引表中,將M*添加到數據庫的壓縮索引表中;

步驟4、搜索令牌生成:

具體按照以下步驟實施:

步驟(4.1)、待搜索用戶在用戶端輸入待搜索的關鍵詞組和密鑰sk,其中l1≤l,生成一個連接關鍵詞組的搜索令牌t,索令牌t中的所有關鍵詞為wi,其中i∈[1,…,l1],l1≤l,對于所有待檢索的關鍵詞組來生成令牌,選擇上的一個隨機元素r,計算:

S = e ( g r Σ i = 1 l 1 H ( w i ) , g x ) , T = g r ; ]]>

步驟(4.2)、新生成一個壓縮索引其大小為n,即為一個大小為n的數組,并且初始化的每一個元素都為0,計算每一個關鍵詞wj的μij=hi(wj),其中,i∈[1,…,m],j∈[1,…,l1],并將標記為1,輸出搜索令牌到Serv;

步驟5、云存儲服務器關于密文關鍵詞的搜索:

具體按照以下步驟實施:

步驟(5.1)、云存儲服務器Serv接收到待匹配的搜索令牌服務器從數據庫中檢索所有存儲文檔對應的索引和壓縮索引,設當前檢索到的索引為M和壓縮索引為M*;

步驟(5.2)、進行判斷:

(a)判斷壓縮索引是否包含在M*中,即這里I2={i|M*(i)=1},如果即包含在M*中,則進*下一步操作;

(b)根據壓縮索引對所有M[i]中存放的重復元素進行統計,其中i滿足找到所有重復個數等于m的元素,并將其作為密文集由于存在哈希碰撞的情況,因此所得到的密文集中密文個數會存在大于待檢索的關鍵詞的個數的情況,這時,需要對密文集進行組合形成一系列新的密文集,并保證密文集的個數和待檢索的關鍵詞的個數相同,然后對新的密文集進行下一步操作;

(c)對所有新生成的密文集進行如下判斷,對于判斷下式是否成立:

e ( Π j = 1 l 1 A i j , T ) S · e ( Π j = 1 l 1 B i j , T ) = 1 , ]]>

如果上式成立,則匹配成功,輸出1給用戶,反之輸出0。

下面對本發明基于帶有存儲結構的Bloom過濾器的關鍵詞可搜索加密方法的正確性和安全性進行分析:

(1)正確性分析:

證明:若所有數據都是按照本發明描述生成的,并且匹配成功時有

e ( Π j = 1 l 1 A i j , T ) S · e ( Π j = 1 l 1 B i j , T ) = e ( g Σ j = 1 l 1 s i j g Σ j = 1 l 1 x H ( w i j ) g r ) e ( g r Σ j = 1 l 1 H ( w i j ) g x ) e ( g Σ j = 1 l 1 s i j g r ) = e ( g , g ) x r Σ j = 1 l 1 x H ( w i j ) e ( g , g ) r Σ j = 1 l 1 s i j e ( g , g ) x r Σ j = 1 l 1 H ( w i j ) e ( g , g ) r Σ j = 1 l 1 s i j = 1 ]]>

如果匹配不成功時,關鍵詞的哈希值就是上的隨機元素。

(2)安全性分析:

我們的整個發明在不可區分性選擇關鍵詞(IND-CKA)攻擊下是具有語義安全的。為了證明這一安全性,需要借助以下安全游戲。

假設敵手和挑戰者之間進行游戲,如果敵手贏得游戲,則他將攻破我們的整個加密方案。

IND-CPA-SEARCH游戲過程:

(1)詢問1:敵手向挑戰者進行以下詢問:

●詢問p個不同關鍵詞wi(i∈[1,…,p])的密文;

●詢問q個關鍵詞組 W j = { w j 1 , ... , w j n j } , ( j = [ 1 , ... , q ] , 1 n j n ) | ]]>的搜索令牌;

(2)挑戰:敵手輸出兩個不同的關鍵詞和作為待挑戰的關鍵詞;

限制1:敵手不能詢問待挑戰關鍵詞的密文

i w i w 0 * Λw i w 1 * ]]>

限制2:敵手不能詢問任何包含待挑戰關鍵詞的搜索令牌。即:

挑戰者隨機拋一個硬幣b∈{0,1},輸出關鍵詞的密文

(3)詢問2:敵手繼續詢問p個關鍵詞的密文和q個搜索令牌,限制和上面一樣

(4)猜測:敵手輸出一個b的猜測b*,如果b=b*則猜測成功

我們定義敵手在游戲中的優勢為

如果敵手的優勢并且1/poly(λ)為一個關于安全參數λ的可忽略函數時,我們稱方案在上述游戲下安全。

證明:根據游戲IND-CPA-SEARCH中的詢問階段構造一個挑戰者并給挑戰者關于G1群上DDH問題的一些實例g,ga,gb,gc∈G1。

詢問1:保存一個列表L=<wi,αi,li>,其中αi是和關鍵詞wi和非均勻擲幣值li相關的在上的隨機值。列表初始時為空,當詢問隨機預言機一個關鍵詞w時,查詢列表L返回其中的一個值。

(1)如果li=0,則回復

(2)如果li=1,則回復ga

(3)如果關鍵詞w不存在列表L中,則隨機拋擲一枚非均勻硬幣l∈{0,1},并且有Pr[coin=0]=δ(δ的值在后面進行計算)。

(a)如果l=0,隨機選擇一個并且將<w,α,0>添加到列表L中

(b)如果l=1,將<w,⊥,1>添加到列表L中

(c)根據上面的情況回復詢問

這里h是一個受到控制的隨機預言機模型。

如果敵手需要一個關鍵詞w的密文,那么挑戰者向隨機預言機詢問關鍵詞w的密文,即在列表L中通過w來查找<w,α,l>。如果擲幣值l=1。終止操作。因此我們知道當密文詢問階段不終止的情況下l=0,所以gH(w)=gα。選擇一個隨機值計算

A=gxH(w)+s=gs(gb)α、B=gs

如果敵手詢問關鍵詞組W={w1,…,wn}的陷門,則向隨機預言機詢問每一個關鍵詞wi(1≤i≤n)的密文,即在列表L中通過wi來查找<wi,αi,li>。如果擲幣值l=1,終止操作。因此我們知道當陷門詢問階段不終止的情況下li=0,所以所有H(wi)=αi。選擇一個隨機值并計算

S = e ( g r Σ i = 1 l 1 H ( w i ) , g x ) = e ( ( g b ) r Σ i = 1 l 1 α i , g ) ]]>

T=gr

挑戰:敵手輸出兩個不同的關鍵詞和隨機拋擲一枚硬幣b∈{0,1},向隨機預言機詢問關鍵詞wb,并在列表L中查詢<wb,α,l>。如果擲幣值l=0,終止操作。因此我們知道在挑戰階段如果不終止,則l=1,即計算

A=gxH(w)+s=gsgc、B=gs

詢問2:和詢問1一樣挑戰者回答敵手的詢問

猜測:敵手輸出他的猜測值b*,如果b*=b,則輸出gc=gab。反之gc為G1上的隨機元素。

如果挑戰者在整個游戲過程中不終止操作并且問題的實例是一個DDH三元組,那么對于敵手而言他在整個模擬過程中和在真實攻擊時觀測到的信息是一樣的。并且對哈希函數H的詢問也和在真實攻擊下的情況一樣,因為在G1群上所有的元素都是獨立均勻分布的。如果問題的實例不是DDH三元組,那么挑戰的密文將是均勻分布的,并且不包含任何關鍵詞的信息。根據這一規則,所有詢問的明文和挑戰的明文都不相同,并且詢問的搜索令牌也是無法區分挑戰密文的。

如果gc=gab,那么敵手就有來攻破游戲IND-CPA-SEARCH,那么挑戰者在不終止的情況下,解決DDH問題的概率為

下面分析不終止的概率。

假設敵手在每次的詢問過程都進行了p次密文詢問q次搜索令牌詢問。那么挑戰者在詢問1和2都不終止的概率為δ2(p+nq),在挑戰階段不終止的概率為1-δ,因此在整個游戲過程不終止的概率為δ2(p+nq)(1-δ),求導計算出概率最大時的最大概率為這里e為自然常數。因此當敵手就有來攻破游戲IND-CPA-SEARCH時,挑戰者至少有來解決DDH問題。

對本發明進行總結:

本發明基于帶有存儲結構的Bloom過濾器的關鍵詞可搜索加密方法,能夠在加密的數據集合上進行搜索查詢,具體方法是,先為文件集合生成索引集合,再使用可搜索加密對這些索引進行加密以隱藏索引內容,并且加密要滿足如下性質:1)給定多個關鍵字(即索引)的一個令牌,可以獲得包含這些關鍵字的所有文件的指針;2)沒有令牌,索引的內容是隱藏的;3)只有具有相關密鑰的用戶才能生成令牌;4)檢索過程除了暴露了哪些文件共享某個關鍵字外,不會暴露任何有關文件和關鍵字的具體信息。可搜索加密的核心作用是為云存儲服務提供:一是用戶自己控制其數據;二是數據的安全性質可以通過密碼學原理驗證,而不是通過法律、物理設備來確定安全性。

實施例:

假設用戶要將一個文檔D,包含4個關鍵詞:西安、杭州、北京、上海,存放在數據庫中,此后這個用戶又將檢索包含2個關鍵詞:西安、杭州的文檔,設Bloom過濾器中數組M的大小為n=12,哈希函數的個數為m=3,

首先通過步驟1系統參數初始化和步驟2用戶密鑰生成,

(1)用戶上傳文檔階段:

利用3個不同的哈希函數分別計算出關鍵詞組{北京,上海,杭州,西安}的哈希值如下表:

表1關鍵詞哈希表

然后將這4個關鍵詞對應的密文C1,C2,C3,C4添加到索引M中

根據索引M(大小為n)生成其對應的壓縮索引M*(大小為n)為111110101001,

然后將文檔D的索引M存放到數據庫的索引表中,壓縮索引M*存放在壓縮索引表中。

(2)用戶檢索文檔階段

計算西安、杭州的3個哈希值如表1所示,生成搜索令牌其中壓縮索引為111110000000,將t上傳到服務器進行匹配操作。

當服務器對文檔D的進行匹配時,有屬于M,進行第二步匹配,統計M在{1,2,3,4,5}位處各個密文一共出現的次數如下表所示:

表2密文頻數表

將出現次數等于3的密文C1,C2,C3設為密文集,又因為密文集中元素的個數為3大于待檢索關鍵詞的個數2,因此對密文集進行組合,構成新的密文集{C1,C2},{C1,C3},{C2,C3},最終對新構成的3個密文集進行第三步匹配,當密文集為{C1,C2}時,等式成立,因此文檔匹配成功,則輸出文檔D為需要找的文檔。

關 鍵 詞:
基于 帶有 存儲 結構 BLOOM 過濾器 關鍵詞 搜索 加密 方法
  專利查詢網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
關于本文
本文標題:基于帶有存儲結構的BLOOM過濾器的關鍵詞可搜索加密方法.pdf
鏈接地址:http://www.wwszu.club/p-6386007.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服客服 - 聯系我們

[email protected] 2017-2018 zhuanlichaxun.net網站版權所有
經營許可證編號:粵ICP備17046363號-1 
 


收起
展開
鬼佬大哥大