• / 16
  • 下載費用:30 金幣  

一種基于LAGRANGE插值法和多云的數據隱藏方法.pdf

摘要
申請專利號:

CN201510287907.5

申請日:

2015.05.28

公開號:

CN104915609A

公開日:

2015.09.16

當前法律狀態:

終止

有效性:

無權

法律詳情: 未繳年費專利權終止IPC(主分類):G06F 21/62申請日:20150528授權公告日:20171208終止日期:20180528|||授權|||實質審查的生效IPC(主分類):G06F 21/62申請日:20150528|||公開
IPC分類號: G06F21/62(2013.01)I 主分類號: G06F21/62
申請人: 武漢科技大學
發明人: 金瑜; 王婭丹; 嚴冬
地址: 430081湖北省武漢市青山區建設一路
優先權:
專利代理機構: 武漢科皓知識產權代理事務所(特殊普通合伙)42222 代理人: 薛玲
PDF完整版下載: PDF下載
法律狀態
申請(專利)號:

CN201510287907.5

授權公告號:

|||||||||

法律狀態公告日:

2019.05.14|||2017.12.08|||2015.10.14|||2015.09.16

法律狀態類型:

專利權的終止|||授權|||實質審查的生效|||公開

摘要

本發明公開了一種基于Lagrange插值法和多云的數據隱藏方法,應用在多云環境下的系統中,系統包括四個部分:用戶、客戶端、數據上傳層、數據下載層和云端;數據上傳前在客戶端用Reed Solomon糾刪碼的信息分割算法對用戶數據進行分割,然后用Lagrange插值方法對每塊分割后的數據進行信息隱藏,最后把每塊數據存儲到不同的云存儲中。數據下載時只需要從部分云存儲獲取數據,先使用Lagrange插值方法對下載得到的每塊數據進行隱藏信息的恢復,然后使用Reed Solomon中的恢復算法對數據塊進行合并恢復得到原始數據。本發明解決了服務可用性和單個云存儲的限制;Reed Solomon算法的使用可以在減少存儲空間的同時,容忍部分云存儲出錯;Lagrange插值方法的使用解決了數據機密性,保護用戶數據的隱私。

權利要求書

權利要求書
1.  一種基于Lagrange插值法和多云的數據隱藏方法,應用在多云環境下的系統中,系統包括四個部分:用戶、客戶端、數據上傳層、數據下載層和云端;其特征在于,包括以下步驟:
步驟1:用戶注冊;系統在客戶端啟動后,用戶進入注冊界面,輸入用戶名與密碼進行注冊,注冊成功后,轉到步驟2;
步驟2:用戶登錄;用戶進入登錄界面,輸入用戶名密碼進行登錄,登錄成功后,轉到步驟3;
步驟3:選擇上傳文件;用戶進入系統主界面,點擊上傳按鈕,從本地選擇任意一個文件進行上傳,選擇完成后,轉到步驟4;
步驟4:此時客戶端首先用Reed Solomon糾刪碼的信息分割算法將文件分成相同大小的m塊,然后編碼產生k塊,其中k≤m,共產生n個數據塊,n=m+k,編碼成功后轉到步驟5;
步驟5:然后用Lagrange插值法對分割后的每個數據塊進行信息隱藏,隱藏成功后轉到步驟6;
步驟6:文件上傳;把處理后的每塊數據及每塊數據對應的序列值上傳到相應的云存儲中,文件上傳成功后,系統主界面顯示了已成功上傳的n塊數據,根據云存儲各自的狀況,用戶根據自身需求選擇其中的m塊進行下載,選擇完成后轉到步驟7;
步驟7:文件下載;選擇完成后點擊下載按鈕,則從相應的云存儲中下載存儲的數據及其對應的序列值,m塊數據下載下來后,轉到步驟8;
步驟8:在客戶端對下載下來的每塊數據用Lagrange插值法對隱藏的信息進行恢復,恢復成功后,轉到步驟9;
步驟9:對用Lagrange插值法對隱藏的信息進行恢復后的m塊數據用ReedSolomon糾刪碼的信息恢復算法對其進行恢復,恢復成為原始的文件,結束。

2.  根據權利要求1所述的基于Lagrange插值法和多云的數據隱藏方法,其特征在于,步驟4的具體實現包括以下子步驟:
步驟4.1:首先定義上傳文件為D,將文件D分為大小相同的m塊,則文件D視為向量:D=(D1,D2…Dm);
步驟4.2:定義分塊編碼后的文件為向量:(D1,D2…Dm,C1…Ck),k為編碼 產生的冗余塊數量;
步驟4.3:定義編碼矩陣B,編碼矩陣是由單位矩陣和范德蒙德矩陣構成,其中單位矩陣是m行m列矩陣,范德蒙德矩陣為k行m列矩陣;
B=10...001...0............00...111...112...m............12k-1...mk-1;]]>
步驟4.4:編碼矩陣與文件向量相乘生成(D1,D2…Dm,C1…Ck),
10...001...0............00...111...112...m............12k-1...mk-1×D1D2...Dm=D1D2...DmC1...Ck]]>

3.  根據權利要求2所述的基于Lagrange插值法和多云的數據隱藏方法,其特征在于,步驟5的具體實現包括以下子步驟:
步驟5.1:定義分割編碼后的數據塊(D1,D2…Dm,C1…Ck)為:(D1 D2 … Dn),令i=1,轉到步驟5.2;
步驟5.2:如果i<=n,轉到步驟5.3,否則轉到步驟5.8;
步驟5.3:將數據塊Di分成t個更小單位數據,Di=(di1,di2…dit),轉到步驟5.4;
步驟5.4:定義數對:(x1,di1),(x2,di2)…(xt,dit),其中x1…xt選取任意整數,在t個點上面利用拉格朗日插值公式生成k-1階多項式L(x);
L(x)=Σj=1tdijlj(x);]]>
其中lj(x)為插值基函數:
lj(x)=Πz=1,z!=jtx-xzxj-xz=(x-x1)(xj-x1)...(x-xj-1)(xj-xj-1)(x-xj+1)(xj-xj+1)...(x-xt)(xj-xt);]]>
步驟5.5:得到多項式L(x)后,選取區別于x1…xt的另外t個點,α1,α2…αt代入多項式計算相應的函數值,得到β1,β2…βt,令Di=(β1,β2…βt);
步驟5.6:隱藏信息后的數據塊Di=(β1,β2…βt),以及α1,α2…αt在步驟6中將會存儲到相應的云存儲中;
步驟5.7:i=i+1,回轉執行所述的步驟5.2;
步驟5.8:將文件的存儲信息寫入客戶端,所述的存儲信息包括文件名、文件大小、恢復文件塊m、以及原始的序列x1…xt;其中對于同一個文件每塊數據塊的原始的序列x1…xt是一樣的,Lagrange插值法信息隱藏結束。

4.  根據權利要求3所述的基于Lagrange插值法和多云的數據隱藏方法,其特征在于,步驟8的具體實現包括以下子步驟:
步驟8.1:從云存儲端下載下來的m塊數據(D2…Dm,C1),用序列(D1,D2…Dm)來表示,令i=1,轉到步驟8.2;
步驟8.2:如果i<=m,轉到步驟8.3,否則轉到步驟8.5;
步驟8.3:對于下載得到數據塊Di=(β1,β2…βt)與α1,α2…αt,根據步驟5.4,用(α1,β1),(α2,β2)…(αt,βt),構造多項式函數L(x),在客戶端查找相關存儲信息,得到該下載文件的原始的序列x1…xt,代入多項式函數計算出原始的數據值Di=(di1,di2…dit),轉到步驟8.4;
步驟8.4:i=i+1,轉到步驟8.2;
步驟8.5:用Lagrange插值法對隱藏的信息進行恢復后得到編碼后的原始數據塊(D1,D2…Dm),即(D2…Dm,C1),隱藏信息恢復結束。

5.  根據權利要求4所述的基于Lagrange插值法和多云的數據隱藏方法,其特征在于,步驟9的具體實現包括以下子步驟:
步驟9.1:根據步驟8.5得到的數據序列(D2…Dm,C1),對步驟4.3中所定義的編碼矩陣刪除數據塊D1,C2…Ck所對應的行,得到矩陣B';
B=01...0............00011111;]]>
步驟9.2:將矩陣B'的逆矩陣與步驟8.5中得到的數據塊(D2…Dm,C1)相乘,得到用戶原始的文件;
01...0............00011111-1×D2...DmC1D1D2...Dm;]]>
步驟9.3:得到文件D=(D1,D2…Dm),Reed Solomon糾刪碼的信息恢復算法結束。

說明書

說明書一種基于Lagrange插值法和多云的數據隱藏方法
技術領域
本發明屬于多云存儲和信息隱藏技術領域,涉及一種多云環境下的數據隱藏方法,具體涉及一種基于Lagrange插值法和多云的數據隱藏方法。
背景技術
云存儲是基于云計算的興起而應運而生的,近年來,數字化、信息化日益明顯,人們對于存儲的需求也增長快速。隨著云存儲服務提供商的增多,越來越多的公司選擇在處理重要數據時使用云存儲來滿足他們的存儲需求。比如醫療記錄數據庫,大型系統的歷史信息和金融數據等。然而云存儲在給用戶存儲帶來靈活性和高擴展性的同時,也面臨著安全挑戰。首先由于云存儲的不可信,會導致用戶隱私的泄露;另外由于云存儲服務的中斷,導致服務不可用;第三,由于云存儲提供商之間競爭激烈,價格會因此浮動,用戶更換云存儲提供商時會造成較大的花費;最后,由于云存儲可能會丟失或者損壞用戶數據,數據完整性受到威脅。
當前對于云存儲數據安全性的研究分為單個云的研究和多個云的研究。本發明的方案是基于多云環境的,目前有關多云存儲的研究,國內的研究比較少,國外的學者研究比較多,且提出很多獨特的想法。
Cachin等人表示單個云服務仍然受到停機的影響,首先提出了多云存儲的概念。Abu-Libdeh等提出了一個RACS協議,將常用于磁盤和文件系統中的獨立磁盤陣列的技術應用于云存儲。該協議主要關注于云存儲提供商鎖定的問題。通過將用戶的數據分割到多個云存儲提供商,使得用戶避免云存儲提供商的鎖定,降低更換云存儲提供商的成本,更好的容忍云存儲提供商的停機或發生故障,分散了存儲的負載。D.Bowers等提出了HAIL協議,該協議是一個分布式加密系統,允許一組服務器確認客戶端的數據是完整的和可恢復的。它提供了一個軟件層來滿足存儲于多個云中的數據的可用性和完整性。Bessani等提出了一個虛擬化存儲系統Depsky,Depsky系統中提出了兩個協議Depsky-A和Depsky-CA。Depsky-A沒有對數據做任何處理把數據復制在不同的云存儲中,Depsky-CA解 決了Depsky-A的限制,借鑒Krawczyk提出的改進的秘密共享方案,先使用對稱密鑰對數據加密,然后用Shamir的秘密共享方法管理密鑰,同時用糾刪碼對加密后數據進行編碼,最后把數據塊和秘密共享后的密鑰存到對應的云存儲中。提高了存儲在云上數據的可用性、完整性、機密性。
從現有研究成果可以看出,RACS解決了云存儲提供商的鎖定,但它沒有解決數據機密性問題,HAIL解決了云存儲中數據完整性和可用性,但沒有解決機密性問題,Depsky-CA相對比較完善,提高了存儲在云上數據的可用性、完整性、機密性。然而Depsky-CA使用Shamir秘密共享去分割密鑰,密鑰大小會增加n倍(n個存儲云),相對于理論上的最優情況,仍舊會增加存儲空間,雖然通常來說密鑰本身的大小并不大。但是密鑰的引入在一些每天需要經常更新的應用中,所增加的存儲空間同樣也是不可忽視的。
發明內容
針對現有技術存在的問題,本發明提供了一種基于Lagrange插值法和多云的數據隱藏方法,與RACS相比解決了數據機密性的問題,與Depsky-CA相比解決由于密鑰存儲所帶來的存儲空間增加的問題。
本發明所采用的技術方案是:一種基于Lagrange插值法和多云的數據隱藏方法,應用在多云環境下的系統中,系統包括四個部分:用戶、客戶端、數據上傳層、數據下載層和云端;其特征在于,包括以下步驟:
步驟1:用戶注冊;系統在客戶端啟動后,用戶進入注冊界面,輸入用戶名與密碼進行注冊,注冊成功后,轉到步驟2;
步驟2:用戶登錄;用戶進入登錄界面,輸入用戶名密碼進行登錄,登錄成功后,轉到步驟3;
步驟3:選擇上傳文件;用戶進入系統主界面,點擊上傳按鈕,從本地選擇任意一個文件進行上傳,選擇完成后,轉到步驟4;
步驟4:此時客戶端首先用Reed Solomon糾刪碼的信息分割算法將文件分成相同大小的m塊,然后編碼產生k塊,其中k≤m,共產生n個數據塊,n=m+k,編碼成功后轉到步驟5;
步驟5:然后用Lagrange插值法對分割后的每個數據塊進行信息隱藏,隱藏成功后轉到步驟6;
步驟6:文件上傳;把處理后的每塊數據及每塊數據對應的序列值上傳到相應的云存儲中,文件上傳成功后,系統主界面顯示了已成功上傳的n塊數據,根據云存儲各自的狀況,用戶根據自身需求選擇其中的m塊進行下載,選擇完成后轉到步驟7;
步驟7:文件下載;選擇完成后點擊下載按鈕,則從相應的云存儲中下載存儲的數據及其對應的序列值,m塊數據下載下來后,轉到步驟8;
步驟8:在客戶端對下載下來的每塊數據用Lagrange插值法對隱藏的信息進行恢復,恢復成功后,轉到步驟9;
步驟9:對用Lagrange插值法對隱藏的信息進行恢復后的m塊數據用Reed Solomon糾刪碼的信息恢復算法對其進行恢復,恢復成為原始的文件,結束。
作為優選,步驟4的具體實現包括以下子步驟:
步驟4.1:首先定義上傳文件為D,將文件D分為大小相同的m塊,則文件D視為向量:D=(D1,D2…Dm);
步驟4.2:定義分塊編碼后的文件為向量:(D1,D2…Dm,C1…Ck),k為編碼產生的冗余塊數量;
步驟4.3:定義編碼矩陣B,編碼矩陣是由單位矩陣和范德蒙德矩陣構成,其中單位矩陣是m行m列矩陣,范德蒙德矩陣為k行m列矩陣;
B=10...001...0............00...111...112...m............12k-1...mk-1;]]>
步驟4.4:編碼矩陣與文件向量相乘生成(D1,D2…Dm,C1…Ck),
10...001...0............00...111...112...m............12k-1...mk-1×D1D2...Dm=D1D2...DmC1...Ck.]]>
作為優選,步驟5的具體實現包括以下子步驟:
步驟5.1:定義分割編碼后的數據塊(D1,D2…Dm,C1…Ck)為:(D1 D2 … Dn),令i=1,轉到步驟5.2;
步驟5.2:如果i<=n,轉到步驟5.3,否則轉到步驟5.8;
步驟5.3:將數據塊Di分成t個更小單位數據,Di=(di1,di2…dit),轉到步驟5.4;
步驟5.4:定義數對:(x1,di1),(x2,di2)…(xt,dit),其中x1…xt選取任意整數,在t個點上面利用拉格朗日插值公式生成k-1階多項式L(x);
L(x)=Σj=1tdijlj(x);]]>
其中lj(x)為插值基函數:
lj(x)=Πz=1,z!=jtx-xzxj-xz=(x-x1)(xj-x1)...(x-xj-1)(xj-xj-1)(x-xj+1)(xj-xj+1)...(x-xt)(xj-xt);]]>
步驟5.5:得到多項式L(x)后,選取區別于x1…xt的另外t個點,α1,α2…αt代入多項式計算相應的函數值,得到β1,β2…βt,令Di=(β1,β2…βt);
步驟5.6:隱藏信息后的數據塊Di=(β1,β2…βt),以及α1,α2…αt在步驟6中將會存儲到相應的云存儲中;
步驟5.7:i=i+1,回轉執行所述的步驟5.2;
步驟5.8:將文件的存儲信息寫入客戶端,所述的存儲信息包括文件名、文件大小、恢復文件塊m、以及原始的序列x1…xt;其中對于同一個文件每塊數據塊的原始的序列x1…xt是一樣的,Lagrange插值法信息隱藏結束。
作為優選,步驟8的具體實現包括以下子步驟:
步驟8.1:從云存儲端下載下來的m塊數據(D2…Dm,C1),用序列(D1,D2…Dm)來表示,令i=1,轉到步驟8.2;
步驟8.2:如果i<=m,轉到步驟8.3,否則轉到步驟8.5;
步驟8.3:對于下載得到數據塊Di=(β1,β2…βt)與α1,α2…αt,根據步驟5.4,用(α1,β1),(α2,β2)…(αt,βt),構造多項式函數L(x),在客戶端查找相關存儲信息,得到該下載文件的原始的序列x1…xt,代入多項式函數計算出原始的數據值Di=(di1,di2…dit),轉到步驟8.4;
步驟8.4:i=i+1,轉到步驟8.2;
步驟8.5:用Lagrange插值法對隱藏的信息進行恢復后得到編碼后的原始數據塊(D1,D2…Dm),即(D2…Dm,C1),隱藏信息恢復結束。
作為優選,步驟9的具體實現包括以下子步驟:
步驟9.1:根據步驟8.5得到的數據序列(D2…Dm,C1),對步驟4.3中所定義的編碼矩陣刪除數據塊D1,C2…Ck所對應的行,得到矩陣B';
B=01...0............00011111;]]>
步驟9.2:將矩陣B'的逆矩陣與步驟8.5中得到的數據塊(D2…Dm,C1)相乘,得到用戶原始的文件;
01...0............00011111-1×D2...DmC1=D1D2...Dm;]]>
步驟9.3:得到文件D=(D1,D2…Dm),Reed Solomon糾刪碼的信息恢復算法結束。
本發明可以獲得以下的有益效果:通過采用多個云存儲服務器來存儲數據,解決了服務的可用性問題,解決了單云環境下的云提供商鎖定問題;通過Reed Solomon糾刪碼的使用,在保持冗余度的同時減少了存儲空間,可以容忍部分云存儲出錯;通過Lagrange插值法的使用,解決了數據機密性的問題,攻擊者在不知道原始序列的情況下即使得到了云存儲中的數據也無法進行恢復。通過實施本發明的技術方案,可為多云環境下的數據存儲提供一種信息隱藏方案,實現用戶隱私的保護。
附圖說明
圖1:為本發明實施例的整體流程圖;
圖2:為本發明實施例的Reed Solomon算法中數據分割階段的細化流程圖;
圖3:為本發明實施例的Lagrange插值法中信息隱藏階段的細化流程圖;
圖4:為本發明實施例的Lagrange插值法中隱藏信息恢復階段的細化流程圖;
圖5:為本發明實施例的Reed Solomon算法中數據恢復階段的細化流程圖。
具體實施方式
為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅用以解釋本發明,并不用于限定本發明。
本發明提供的一種基于Lagrange插值法和多云的數據隱藏方法,應用在多云環境下的系統中,請見圖1,系統包括四個部分:用戶、客戶端、數據上傳層、數據下載層和云端;其中客戶端負責Reed Solomon糾刪碼和Lagrange插值法的執行,向云存儲服務器發出上傳與下載請求;用戶負責從本地選擇要上傳的文件,下載文件時根據需求選擇相應的云存儲服務器;云端或云存儲服務器負責響應客 戶端的請求,只存儲數據,不執行任何代碼;文件為用戶需要上傳至云端的數據;Reed Solomon糾刪碼的信息分割算法和Lagrange插值法的信息隱藏在文件上傳前執行,Lagrange插值法的隱藏信息恢復和Reed Solomon糾刪碼的信息恢復算法在文件下載后執行,均由客戶端進行計算。
在本實施例中,用戶選擇上傳的文件為D.txt,文件大小為L=150kb。本實例中我們采用4個云存儲服務器,文件分為3塊編碼產生一個冗余塊,可以容忍一個云存儲出錯,只需從3個云存儲下載數據就可以恢復原文件。
本發明提供的一種基于Lagrange插值法和多云的數據隱藏方法,包括以下步驟:
步驟1:用戶注冊:系統在客戶端啟動后,用戶進入注冊界面,輸入用戶名與密碼進行注冊,注冊成功后,轉到步驟2;
步驟2:用戶登錄:用戶進入登錄界面,輸入用戶名密碼進行登錄,登錄成功后,轉到步驟3;
步驟3:選擇上傳文件:用戶進入系統主界面,點擊上傳按鈕,從本地選擇任意一個文件進行上傳,選擇完成后,轉到步驟4;
步驟4:Reed Solomon算法中數據分割:此時客戶端首先用Reed Solomon糾刪碼的信息分割算法將文件分成相同大小的m塊,然后編碼產生k塊(k≤m),共產生n個數據塊(n=m+k),如圖2所示,本步驟具體包括以下子步驟:
步驟4.1、首先定義上傳文件為D,將文件D分為大小相同的m塊。則文件D視為向量:D=(D1,D2…Dm),轉到步驟4.2;
在本實施例中,上傳文件為D.txt,m為3,文件D=(D1,D2,D3),若文件大小無法被3整除,則前兩個文件的大小為L/3+1,最后一個文件不夠L/3+1的部分用第二塊文件的相應部分替代,在最終下載還原得到原文件的時候要刪除添加的這一部分;
步驟4.2、定義分塊編碼后的文件為向量:(D1,D2…Dm,C1…Ck),k為編碼產生的冗余塊數量,轉到步驟4.3;
在本實施例中,編碼后的文件為向量為,(D1,D2,D3,C1),k為1;
步驟4.3、定義編碼矩陣B,編碼矩陣是由單位矩陣和范德蒙德矩陣構成,其中單位矩陣是m行m列矩陣,范德蒙德矩陣為k行m列矩陣,轉到步驟4.4;
B=10...001...0............00...111...112...m............12k-1...mk-1;]]>
在本實施例中,編碼矩陣B是有一個3行3列的單位矩陣和一個1行1列的范德蒙德矩陣構成;
B=100010001111;]]>
步驟4.4、編碼矩陣與文件向量相乘生成(D1,D2…Dm,C1…Ck),結束;
10...001...0............00...111...112...m............12k-1...mk-1×D1D2...Dm=D1D2...DmC1...Ck;]]>
在本實施例中,編碼矩陣與文件向量相乘生成(D1,D2,D3,C1);
100010001111×D1D2D3=D1D2D3C1;]]>
步驟5:Lagrange插值法中信息隱藏:然后用Lagrange插值法對分割后的每個數據塊進行信息隱藏;如圖3所示,本步驟具體包括以下子步驟:
步驟5.1、為表示方便,定義分割編碼后的數據塊(D1,D2…Dm,C1…Ck)為:(D1 D2 … Dn),令i=1,轉到步驟5.2;
在本實施例中,定義分割編碼后的數據塊(D1,D2,D3,C1)為:(D1,D2,D3,D4);
步驟5.2、如果i<=n,轉到步驟5.3,否則轉到步驟5.8;
在本實施例中,如果i<=4,轉到步驟5.3,否則轉到步驟5.8;
步驟5.3、將數據塊Di分成t個更小單位數據,Di=(di1,di2…dit),轉到步驟5.4;
在本實施例中,令t=4,Di=(di1,di2,di3,di4);
步驟5.4、定義數對:(x1,di1),(x2,di2)…(xt,dit),其中x1…xt可選取任意整數,在t個點上面利用拉格朗日插值公式生成k-1階多項式L(x),轉到步驟5.5;
L(x)=Σj=1tdijlj(x);]]>
其中lj(x)為插值基函數:
lj(x)=Πz=1,z!=jtx-xzxj-xz=(x-x1)(xj-x1)...(x-xj-1)(xj-xj-1)(x-xj+1)(xj-xj+1)...(x-xt)(xj-xt);]]>
在本實施例中,數對為(x1,di1),(x2,di2),(x3,di3)(x4,di4),在這4個點上面利用拉格朗日插值公式生成3階多項式L(x);
L(x)=Σj=14dijlj(x);]]>
其中lj(x)為插值基函數:
l1(x)=(x-x2)(x1-x2)(x-x3)(x1-x3)(x-x4)(x1-x4);]]>
l2(x)=(x-x1)(x2-x1)(x-x3)(x2-x3)(x-x4)(x2-x4);]]>
l3(x)=(x-x1)(x3-x1)(x-x2)(x3-x2)(x-x4)(x3-x4);]]>
l4(x)=(x-x1)(x4-x1)(x-x3)(x4-x3)(x-x2)(x4-x2);]]>
步驟5.5、得到多項式L(x)后,選取區別于x1…xt的另外t個點,α1,α2…αt代入多項式計算相應的函數值,得到β1,β2…βt,令Di=(β1,β2…βt),轉到步驟5.6;
在本實施例中,選取區別于x1,x2,x3,x4的另外4個點,α1,α2,α3,α4代入多項式計算相應的函數值,得到β1,β2,β3,β4,令Di=(β1,β2,β3,β4);
步驟5.6、隱藏信息后的數據塊Di=(β1,β2…βt),以及α1,α2…αt在步驟6中將會存儲到相應的云存儲中,轉到步驟5.7;
在本實施例中,Di=(β1,β2,β3,β4),α1,α2,α3,α4在步驟6中將會存儲到相應的云存儲中;
在步驟5.6中,雖然每個云存儲中除了存儲數據塊還存儲了相應的α1,α2…αt序列值,但是一般t值取的比較小所以序列值相比密鑰來說還是小很多,占用的存儲空間并不多;
步驟5.7、i=i+1,轉到步驟5.2;
步驟5.8、將文件的存儲信息:文件名,文件大小,恢復文件塊m,以及原始的序列x1…xt寫入客戶端,Lagrange插值法信息隱藏結束;
在本實施例中,文件名D.txt,文件大小:150kb,m為3,原始序列x1,x2,x3,x4;
在本發明方案中,同一文件每塊數據的原始序列取值相同。
步驟6:文件上傳:把處理后的每塊數據及每塊數據對應的序列值上傳到相應的云存儲中,文件上傳成功后,系統主界面顯示了已成功上傳的n塊數據,根據云存儲各自的狀況,用戶根據自身需求選擇其中的m塊進行下載,選擇完成后轉到步驟7;
在本實施例中,將通過步驟5得到的數據塊(D1,D2,D3,C1)以及每塊數據對應的序列值α1,α2,α3,α4分別存儲到4個云存儲中,用戶下載時根據需求從4塊數據中選擇3塊下載;
步驟7、文件下載:選擇完成后點擊下載按鈕,則從相應的云存儲中下載存儲的數據及其對應的序列值。m塊數據下載下來后,轉到步驟8;
在本實施例中,從相應的云存儲中下載數據以及所對應的序列值α1,α2,α3,α4,m為3;
步驟8、Lagrange插值法—隱藏信息恢復:在客戶端對下載下來的每塊數據用Lagrange插值法對隱藏的信息進行恢復,如圖4所示,本步驟具體包括以下子步驟:
步驟8.1、從云存儲端下載下來的m塊數據,以(D2…Dm,C1)為例,為論述方便(D2…Dm,C1)用序列(D1,D2…Dm)來表示,令i=1,轉到步驟8.2;
在本實施例中,用戶選擇進行下載的3個數據塊是(D2,D3,C1),用序列(D1,D2,D3)來表示;
步驟8.2、如果i<=m,轉到步驟8.3,否則轉到步驟8.5;
在本實施例中,如果i<=3,轉到步驟8.3,否則轉到步驟8.5;
步驟8.3、對于下載得到數據塊Di=(β1,β2…βt)與α1,α2…αt,根據步驟5.4,用(α1,β1),(α2,β2)…(αt,βt),構造多項式函數L(x),在客戶端查找相關存儲信息,得到該下載文件的原始的序列x1…xt,代入多項式函數計算出原始的數據值Di=(di1,di2…dit),轉到步驟8.4;
在本實施例中,下載得到數據塊Di=(β1,β2,β3,β4)與α1,α2,α3,α4,根據步驟5.4,用(α1,β1),(α2,β2),(α3,β3),(α4,β4),構造多項式函數L(x),在客戶端查找相關存儲信息,得到該下載文件的原始的序列x1,x2,x3,x4,代入多項式函數L(x)計算出原始的數據值Di=(di1,di2,di3,di4);
步驟8.4、i=i+1,轉到步驟8.2;
步驟8.5、用Lagrange插值法對隱藏的信息進行恢復后得到編碼后的原始數據塊(D1,D2…Dm)即(D2…Dm,C1),隱藏信息恢復結束;
在本實施例中,用Lagrange插值法對隱藏的信息進行恢復后得到編碼后的原始數據塊(D2,D3,C1);
步驟9、Reed Solomon算法—數據恢復:對用Lagrange插值法對隱藏的信息進行恢復后的m塊數據用Reed Solomon糾刪碼的信息恢復算法對其進行恢復, 恢復成為原始的文件,如圖5所示,本步驟具體包括以下子步驟:
步驟9.1、根據步驟8.5得到的數據序列(D2…Dm,C1),對步驟4.3中所定義的編碼矩陣刪除數據塊D1,C2…Ck所對應的行,得到矩陣B',轉到步驟9.2;
B=01...0............00011111;]]>
在本實施例中,根據步驟8.5得到的數據序列(D2,D3,C1),對步驟4.3中所定義的編碼矩陣刪除數據塊D1對應的行,得到矩陣B';
B=010001111;]]>
步驟9.2、將矩陣B'的逆矩陣與步驟8.5中得到的數據塊(D2…Dm,C1)相乘,得到用戶原始的文件,轉到步驟9.3;
01...0............00011111-1×D2...DmC1=D1D2...Dm;]]>
在本實施例中,將矩陣B'的逆矩陣與步驟8.5中得到的數據塊(D2,D3,C1)相乘;
010001111-1×D2D3C1=D1D2D3;]]>
步驟9.3、得到文件D=(D1,D2…Dm)Reed Solomon糾刪碼的信息恢復算法結束。
在本實施例中,得到文件D=(D1,D2,D3),Reed Solomon糾刪碼的信息恢復算法結束,整個方案結束。
應當理解的是,本說明書未詳細闡述的部分均屬于現有技術。
應當理解的是,上述針對較佳實施例的描述較為詳細,并不能因此而認為是 對本發明專利保護范圍的限制,本領域的普通技術人員在本發明的啟示下,在不脫離本發明權利要求所保護的范圍情況下,還可以做出替換或變形,均落入本發明的保護范圍之內,本發明的請求保護范圍應以所附權利要求為準。

關 鍵 詞:
一種 基于 LAGRANGE 插值法 多云 數據 隱藏 方法
  專利查詢網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
關于本文
本文標題:一種基于LAGRANGE插值法和多云的數據隱藏方法.pdf
鏈接地址:http://www.rgyfuv.icu/p-6373549.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服客服 - 聯系我們

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


收起
展開
山东11选5中奖结果走势图