[發明專利]一種密文數據壓縮存儲結構RCPE及數據動態讀寫方法有效
| 申請號: | 201910165159.1 | 申請日: | 2019-03-05 |
| 公開(公告)號: | CN110166221B | 公開(公告)日: | 2022-02-22 |
| 發明(設計)人: | 齊賽宇;張萌;袁浩然;陳曉峰;張夫猷 | 申請(專利權)人: | 西安電子科技大學 |
| 主分類號: | H04L9/06 | 分類號: | H04L9/06;H04L69/04 |
| 代理公司: | 西安長和專利代理有限公司 61227 | 代理人: | 黃偉洪 |
| 地址: | 710071 陜西省*** | 國省代碼: | 陜西;61 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 數據壓縮 存儲 結構 rcpe 數據 動態 讀寫 方法 | ||
1.一種密文數據壓縮存儲結構RCPE及數據動態讀寫方法,其特征在于,所述密文數據壓縮存儲結構RCPE及數據動態讀寫方法利用RCFile的設計思想對數據進行劃分;本發明包括數據存儲格式、數據壓縮方法和數據讀取的優化;本發明先將數據水平劃分為多個行組,行組大小由用戶指定;然后再對每個行組進行垂直劃分;行組中按列對數據進行壓縮并加密;
密文數據壓縮存儲結構RCPE及數據動態讀寫方法包括:
第一步,配置階段Setup(λ,DB,Q):對大小為Q的原始數據庫DB進行初始化操作,定義公共參數λ,生成密鑰Kc與Ko,對數據進行行組劃分,行組中的每列進行壓縮,AES加密,針對需要建立索引的列建立倒排索引x;將編碼后的數據S及索引上傳至云服務器,用于數據存儲與查詢;配置階段在客戶端完成;
第二步,查詢階段Query(S,x,key,Kc,C[k]):客戶端對查詢請求進行處理,生成查詢標簽,將標簽以及所需返回列的列名稱哈希值C[k]發送給服務器端,服務器在密文數據庫中進行查找,將查找到的所需的k個列包返回給客戶端;客戶端對列包進行解密解壓縮操作,尋找匹配值;
第三步,數據更新階段客戶端將鍵進行保序加密處理,生成標簽,向服務器端發送更新請求,服務器端利用客戶端提供的標簽查找到匹配列包返回給客戶端,并對行組加更新鎖;用戶對列包進行解密解壓縮操作,對數據進行更改后,重新進行打包,并上傳至服務器端,釋放更新鎖;
第四步,數據添加階段Insert(S,key,Cvalue[n],Rowmax):服務器根據用戶提供的鍵生成的查詢標簽匹配到行組,對行組加更新鎖,并將整個行組數據全部返回,用戶首先檢查整個行組的大??;若行組大小超過閾值,執行數據拆分階段,否則直接對數據進行添加操作;數據重新打包之后,上傳至服務器更新,并釋放更新鎖;
第五步,數據拆分階段Split(RowID,Cpack[n]):根據行組中鍵值對的數量按四舍五入法對所有列包進行拆分,每個列包拆分成左右兩個列包;將所有的左列包覆蓋掉原來的行組,所有的右列包構建新的行組;
第六步,數據刪除階段Delete(key):通過客戶端產生的key的標簽,key為每列的鍵;對數據所在行組進行查找,對匹配行組加更新鎖,并返回至客戶端,用戶解密解壓縮,對數據進行刪除后,重新打包上傳至服務器,釋放更新鎖。
2.如權利要求1所述的密文數據壓縮存儲結構RCPE及數據動態讀寫方法,其特征在于,所述第一步配置算法具體過程包括:
Setup(λ,DB,Q):運行在客戶端,輸入安全參數λ,利用密鑰生成算法,生成密鑰Kc與Ko;
(Kc,Ko)←KeyGen(λ):其中的輸入參數與本配置算法中的輸入參數相對應;將原始數據庫DB按key進行排序,對每一個key進行哈希,將每一個key的哈希值進行求模運算,分到八個分區中,每個分區的ID用PartID表示;
PartID=Hash(key)mod 8
對每一個桶中的記錄進行行組劃分,行組ID為每個行組中key的最小值,并對其進行保序加密:
RowID=OPE(keymin,Ko)
在每個行組中,針對每列進行zlib壓縮及AES加密:
建立條件查詢的索引x:
α=H(Cvalue)
β=(PartID||RowID)
x←(α,β) 。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于西安電子科技大學,未經西安電子科技大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910165159.1/1.html,轉載請聲明來源鉆瓜專利網。





