System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術屬于數據檢索、數據安全和云計算,具體涉及基于云環境的支持模糊排序檢索的可搜索加密方法。
技術介紹
1、隨著云計算的蓬勃發展,其便捷性和高性價比促使眾多個人和機構用戶選擇將信息遷移至云端,從而有效減輕了本地存儲和維護的負擔。為了保障云端數據的安全,加密技術成為了不可或缺的關鍵策略。但這也對密文數據的高效搜索提出了新的挑戰,因此,可搜索加密技術應運而生。
2、在云環境中,算力資源顯得尤為寶貴。無效的搜索結果不僅會導致算力資源的浪費,還可能影響用戶的體驗。因此,確保搜索結果的準確性和相關性變得至關重要。同時,考慮到實際應用場景中,用戶因輸入錯誤關鍵詞而導致搜索失敗或接收到非預期結果的情況屢見不鮮,這也進一步加劇了搜索資源的浪費問題。此外,現有的方案在計算關鍵字與文檔之間的關聯性的能力上存在局限,而用戶在實際應用中,往往只需要最相關的幾個文檔,由于用戶需待文檔解密后才能驗證其相關性,這一滯后性使得不精準的搜索結果同樣成為了算力浪費的源頭之一。
3、隨著數據量的持續增長,存儲在云端的密文數據也在不斷增多。這種趨勢帶來了新的挑戰,即解密從云端返回的密文需要消耗大量的算力。而在實際應用中,客戶端設備如手機、平板電腦等通常算力有限,對大量密文進行解密所造成的算力和時間消耗,嚴重影響了用戶體驗,降低了可搜索加密方法的實用性。因此,設計一種具備強大搜索功能且能大幅減少用戶側算力負載的可搜索加密方法,已經成為密碼學研究領域的一個熱點問題。
技術實現思路
1、為解決現有技
2、基于云環境的支持模糊排序檢索的可搜索加密方法,應用于數據擁有者:
3、生成公鑰pk、私鑰sk和索引密鑰ik,通過公鑰pk加密明文;
4、根據明文與關鍵字段的相關性,以構建密文與加密關鍵字段的相關性索引;為關鍵字段提取特征、加密,以及根據索引密鑰ik計算加密特征向量,以構建模糊索引;
5、將密文集合c、相關性索引和模糊索引發送至云服務器,將索引密鑰ik發送至數據使用者,以使數據使用者根據索引密鑰ik加密搜索信息,構建搜索信息特征及其加密特征向量的搜索陷門,以使云服務器根據搜索陷門從模糊索引中找到匹配的加密關鍵字段,并結合相關性索引找到最相關的密文;
6、將私鑰sk發送至數據使用者,以使數據使用者在其授權的邊緣服務器上初步解密密文后,再由數據使用者最終解密。
7、進一步地,所述加密明文,包括如下步驟:
8、步驟1.1、選取兩個大素數階為p,生成元分別為g1和g2的雙線性群和以及雙線性配對e:
9、步驟1.2、在模為p的乘法群中,隨機選取α和β,以使得到公鑰
10、在模為p的乘法群中,隨機選取t,以使得到私鑰
11、設定長度參數l,向量s={0,1}l,即s為0,1組成的長度為l的隨機串,設定兩個可逆矩陣表示長寬為l×l的實數矩陣,得到索引密鑰ik={s,(m1,m2)};
12、步驟1.3、隨機選取(模p的乘法群);
13、設定ai=ri·e(g1,hβ)γ,e()表示對于任意的都有的雙線性配對;
14、設定ct={ct1,ct2,...,ctn},cti為一整體,用于表示密文中的參數,di表示明文文檔,n表示文檔數量,h()表示哈希函數,h:即將中的元素哈希為一個長度為λ的01串,表示采用的安全參數;
15、設定cd={cd1,cd2,...,cdn},
16、最中得到密文c=(ct,cd)。
17、進一步地,所述相關性索引采用倒排序索引排名表,其每一列根據di與wj的相關性得分,由高到低進行排序,其構建包括如下步驟:
18、步驟2.1.1、計算關鍵字wj在文檔di中的詞頻tfj,i,詞頻等于關鍵字wj出現的次數除以文檔di中的單詞總個數,公式如下:
19、
20、步驟2.1.2、計算關鍵字wj在文檔di中的關鍵詞頻率權重通過對數函數來縮小頻率之間的差異,從而減少高頻詞對模型的不利影響,公式如下:
21、
22、步驟2.1.3、計算關鍵字wj在文檔di中的加權分區得分zij,將每個文檔設置為標題、摘要和正文三個部分,并將這三個部分的權重分別設置為g1,g2,g3,且g1,g2,g3需要滿足以下條件:
23、g1,g2,g3∈[0,1];
24、g1≥g2≥g3;
25、g1+g2+g3=1;
26、同時,設定f1(wj),f2(wj),f3(wj)用于表示關鍵字wj在文檔di的三個部分中出現的頻率,計算加權分區得分zij=f1(wj)g1+f2(wj)g2+f3(wj)g3;
27、步驟2.1.4、計算關鍵字wj與文檔di的相關性得分
28、步驟2.1.5、基于相關性得分,構建加密關鍵字與密文的倒排索引排名表。
29、進一步地,所述模糊索引采用模糊索引表,其構建包括如下步驟:
30、步驟2.2.1、將關鍵字集w={w1,w2,w3,...,wm}利用對編碼函數轉化為向量v=(v1,v2,...,vm),對于給定的關鍵字,計算其相鄰字符集為ad,對于二進制向量a={a0,a1,...,al},設定每個元素的初值為0,利用哈希函數h將ad的每個元素映射到0~(l-1)之間的數上,當且僅當h(adi)=j,aj=1;
31、步驟2.2.2、使用q個局部敏感哈希函數對每個向量vi進行計算,獲得q個哈希值,隨機選擇q個實數,計算特征值fh,公式如下:
32、fhi=h1×r1+h2×r2+...+hq×rq
33、步驟2.2.3、設定模糊索引表的階為(n+1)×m1,m1為去重且加密后的關鍵字個數;設定模糊索引表的第一行的元素(1,i)為關鍵字的特征值fhi,1≤i≤m1;
34、步驟2.2.4、計算關鍵字對應的加密特征向量,利用索引密鑰對向量v=(v1,v2,...,vm)進行加密,設定索引密鑰ik中的s=(s1,s2,...,sl),設向量vi=(x1,x2,...,xl),隨機選擇實數r,加密過程如下:
35、x′j=x″j=xj,sj=1;
36、
37、設定:
38、
39、其中,x′j、x″j表示中間變量,x′i、x″i表示中間變量對應的集合;
40、根據索引密鑰ik中的可逆矩陣m1、m2計算:
41、
42、最終,vi的加密結果為:ii=(i′i,i″i);
43、步驟2.2.5、設定模糊索引表的每一列的元素為擁有相同特征值的關鍵字對應的加密關鍵字enc(wi)和加密特征向量ii,1≤j≤n。
44、基于云本文檔來自技高網...
【技術保護點】
1.基于云環境的支持模糊排序檢索的可搜索加密方法,應用于數據擁有者,其特征在于:
2.根據權利要求1所述的基于云環境的支持模糊排序檢索的可搜索加密方法,其特征在于:所述加密明文,包括如下步驟:
3.根據權利要求1所述的基于云環境的支持模糊排序檢索的可搜索加密方法,其特征在于:所述相關性索引采用倒排序索引排名表,其每一列根據Di與Wj的相關性得分,由高到低進行排序,其構建包括如下步驟:
4.根據權利要求1所述的基于云環境的支持模糊排序檢索的可搜索加密方法,其特征在于:所述模糊索引采用模糊索引表,其構建包括如下步驟:
5.基于云環境的支持模糊排序檢索的可搜索加密方法,應用于數據使用者,其特征在于:
6.根據權利要求5所述的基于云環境的支持模糊排序檢索的可搜索加密方法,其特征在于:所述搜索陷門的生成,包括如下步驟:
7.基于云環境的支持模糊排序檢索的可搜索加密方法,應用于云服務器,其特征在于:
8.根據權利要求7所述的基于云環境的支持模糊排序檢索的可搜索加密方法,其特征在于:所述云服務器的搜索過程包括如
9.基于云環境的支持模糊排序檢索的可搜索加密方法,應用于邊緣服務器,其特征在于:獲取數據使用者授權的私鑰并以此對從云服務器獲取的最相關的密文進行初步解密,并將解密后的中間密文發送至數據使用者進行最終解密;所述最相關的密文是根據搜索陷門從模糊索引中找到匹配的加密關鍵字段,并結合相關性索引找到的;所述密文是由數據擁有者通過公鑰加密得到;所述相關性索引是由數據擁有者根據明文與關鍵字段的相關性構建得到;所述模糊索引是由數據擁有者根據關鍵字特征、加密關鍵字,以及根據索引密鑰計算加密特征向量得到;所述搜索陷門是由數據使用者通過從數據擁有者獲取的索引密鑰加密搜索信息,并基于搜索信息特征及其加密特征向量構建的。
10.根據權利要求9所述的基于云環境的支持模糊排序檢索的可搜索加密方法,其特征在于:所述解密包括如下步驟:
...【技術特征摘要】
1.基于云環境的支持模糊排序檢索的可搜索加密方法,應用于數據擁有者,其特征在于:
2.根據權利要求1所述的基于云環境的支持模糊排序檢索的可搜索加密方法,其特征在于:所述加密明文,包括如下步驟:
3.根據權利要求1所述的基于云環境的支持模糊排序檢索的可搜索加密方法,其特征在于:所述相關性索引采用倒排序索引排名表,其每一列根據di與wj的相關性得分,由高到低進行排序,其構建包括如下步驟:
4.根據權利要求1所述的基于云環境的支持模糊排序檢索的可搜索加密方法,其特征在于:所述模糊索引采用模糊索引表,其構建包括如下步驟:
5.基于云環境的支持模糊排序檢索的可搜索加密方法,應用于數據使用者,其特征在于:
6.根據權利要求5所述的基于云環境的支持模糊排序檢索的可搜索加密方法,其特征在于:所述搜索陷門的生成,包括如下步驟:
7.基于云環境的支持模糊排序檢索的可搜索加密方法,應用于云服務器,其特征在于:...
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。