亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

加密數(shù)據(jù)的方法、裝置和加密數(shù)據(jù)的傳輸方法及裝置的制作方法

文檔序號:7890178閱讀:298來源:國知局
專利名稱:加密數(shù)據(jù)的方法、裝置和加密數(shù)據(jù)的傳輸方法及裝置的制作方法
技術領域
本發(fā)明涉及數(shù)據(jù)傳輸方法,尤其涉及數(shù)據(jù)加密方法和加密數(shù)據(jù)傳輸方法。
背景技術
在數(shù)據(jù)網(wǎng)絡中,數(shù)據(jù)安全是一個永恒的話題。以數(shù)據(jù)傳輸為例,數(shù)據(jù)傳輸不安全有兩種原因,一是指由于硬件故障等客觀原因導致,二是指由于人的行為等主觀原因導致。第二個原因導致的數(shù)據(jù)保密性問題是我們的討論重點,例如防止數(shù)據(jù)被竊取。為了實現(xiàn)數(shù)據(jù)本身和傳輸過程的保密性,人們采取了很多措施,其中之一就是在傳輸數(shù)據(jù)前或傳輸過程中加密被傳輸?shù)臄?shù)據(jù),公鑰私鑰加密體系是數(shù)據(jù)加密領域的典型代表。該體系使用一個公鑰和一個私鑰,公鑰可以在共享數(shù)據(jù)的節(jié)點間公開傳遞,用于加密數(shù)據(jù),對被傳輸導數(shù)據(jù)提供保障。但私鑰是保密的,與節(jié)點有獨立的對應關系,只有使用私鑰才能解密用公鑰加密的數(shù)據(jù)。然而,數(shù)據(jù)傳輸過程采用的類似該體系的傳統(tǒng)加密體系無不面臨著量子計算的挑戰(zhàn),例如,1994 年發(fā)明的 Shor 算法(P. W. Shor, “Algorithms for quantum computation Discretelog and factoring,,,Proceedings of the 35th Symposium On Foundations of Computer Science, 1994,pp. 124-134.),能以多項式時間攻破所有的能夠轉換成廣義離散傅立葉變換的公鑰密碼。應對量子計算挑戰(zhàn)的基本對策,是采用不能轉換成離散傅立葉變換的數(shù)學方法建立公鑰體系。例如MQ體系,采用多變元二次多項式公鑰密碼體制(Multivariate Quadratic Polynomials in Public Key Cryptosystem),利用二次多項式不定方程組的難解性提供加密安全保障。2005年,被絕大多數(shù)密碼專家認為固若金湯的兩大密碼算法(世界通用密碼標準 MD5和SHA-I)被攻破,這說明,依靠數(shù)學難度構建的靜態(tài)加密體系的可靠性總是相對的,也可以說,傳統(tǒng)的加密被傳輸數(shù)據(jù)方法的共性,是依靠加密過程使用的數(shù)學方法或數(shù)學公式的難度提供安全保障。然而,從數(shù)據(jù)加解密的歷史發(fā)展過程看,單純依靠加密過程使用的數(shù)學算法的難度難以實現(xiàn)理想的安全,只要存在加密過程的規(guī)律性,破解就是時間問題,就難以實現(xiàn)理想安全程度的數(shù)據(jù)傳輸。

發(fā)明內容
本發(fā)明解決的問題是,提供一種安全程度較高的加密數(shù)據(jù)的方法及裝置,以及加密數(shù)據(jù)的傳輸方法及裝置。為解決上述問題,本發(fā)明實施例提供的第一個加密數(shù)據(jù)的方法,從傳輸數(shù)據(jù)W中隨機截取預訂長度k的數(shù)據(jù)r;以數(shù)據(jù)r為種子產(chǎn)生一個隨機數(shù)r,再以r作為種子隨機計算密鑰的數(shù)量P,P e [I, C),其中C是常數(shù);再以數(shù)據(jù)W’為參數(shù)生成公鑰Ei和私鑰Ri, I ^ i ^ P ;最后用公鑰Ei循環(huán)編碼W,得到加密結果Z。所述的加密數(shù)據(jù)的方法還包括利用滑動窗口技術處理加密結果Z,生成所述Z的引用標簽序列,以標簽序列作為新的加密結果。
相應地,本發(fā)明提供的加密數(shù)據(jù)的裝置實施例,包括存儲待傳輸數(shù)據(jù)W的存儲器單元,還包括隨機數(shù)單元、可變動態(tài)密鑰單元和加密編碼單元;
所述隨機數(shù)單元,從傳輸數(shù)據(jù)W中截取預訂長度k的數(shù)據(jù)r,以數(shù)據(jù)r為種子產(chǎn)生一個隨機數(shù)r,再以r作為種子隨機計算密鑰的數(shù)量P,P e [1,C),其中C是常數(shù);
所述可變動態(tài)密鑰單元,以數(shù)據(jù)r為參數(shù)生成公鑰Ei和私鑰Ri, I < i < P ;
所述加密編碼單元,用公鑰Ei循環(huán)編碼W,得到加密結果Z。本發(fā)明實施例提供的第二個加密數(shù)據(jù)的方法,包括
從傳輸數(shù)據(jù)w中隨機截取預訂長度k的數(shù)據(jù)r;
以數(shù)據(jù)r為種子產(chǎn)生一個隨機數(shù)r,再以r作為種子隨機計算密鑰的數(shù)量P, pe [1,C),其中C是常數(shù);
在存儲公鑰私鑰的數(shù)據(jù)庫中隨機選擇P對公鑰和私鑰,即公鑰Ei和私鑰Ri,
I≤ i ≤ P ;
用公鑰Ei循環(huán)編碼W,得到加密結果Z。本發(fā)明實施例提供的加密數(shù)據(jù)的傳輸方法,包括
從傳輸數(shù)據(jù)W中截取預訂長度k的數(shù)據(jù)r ;以數(shù)據(jù)r為種子產(chǎn)生一個隨機數(shù)r, 再以r作為種子隨機計算密鑰的數(shù)量P,P e [1,C),其中C是常數(shù);再以數(shù)據(jù)W’為參數(shù)生成公鑰Ei和私鑰Ri, I < i < P ;最后用公鑰Ei循環(huán)編碼W,得到加密結果Z,將Z與Ri組合成新的傳輸數(shù)據(jù)M發(fā)送。本發(fā)明實施例提供的加密數(shù)據(jù)的傳輸裝置,包括存儲待傳輸數(shù)據(jù)W的存儲器單元,還包括
隨機數(shù)單元,從傳輸數(shù)據(jù)W中截取預訂長度k的數(shù)據(jù)r,以數(shù)據(jù)r為種子產(chǎn)生一個隨機數(shù)r,再以r作為種子隨機計算密鑰的數(shù)量P,P e [1,C),其中C是常數(shù);
可變動態(tài)密鑰單元,以數(shù)據(jù)r為參數(shù)生成公鑰Ei和私鑰Ri, I < i < P ;
加密編碼單元,用公鑰Ei循環(huán)編碼W,得到加密結果Z ;
加密數(shù)據(jù)處理單元,將Z與Ri組合成新的傳輸數(shù)據(jù)M發(fā)送。
與現(xiàn)有的靜態(tài)加密方法相比,本發(fā)明實施例提供的方法具有以下優(yōu)點
I、隨機可變。從傳輸數(shù)據(jù)W中隨機截取數(shù)據(jù)W’做為種子產(chǎn)生一個隨機數(shù)r,再以r作為種子隨機計算密鑰的數(shù)量P,由于以隨機參數(shù)做種子計算加密因子的數(shù)據(jù)基礎,作為種子的數(shù)據(jù)以傳輸數(shù)據(jù)的不同和隨機數(shù)不同而變化,還由于加密基礎的隨機性,即數(shù)據(jù)域F的隨機性導致不同的加密結果,這種加密方法在每次的數(shù)據(jù)加密和傳輸過程中都在更新加密參數(shù),沒有任何規(guī)律可言,因此具有較高程度的保密性。2、動態(tài)多重。在每次的數(shù)據(jù)加密過程中,密鑰數(shù)量、編碼順序都是不同的,甚至可以在每次的數(shù)據(jù)加密過程中動態(tài)約定。而且加密方法本身也可以通過多種方法,例如標簽加密等多種方式進一步處理,而且標簽的形式還具有極其優(yōu)良的數(shù)據(jù)壓縮能力和隨機性加密能力,進一步保證了數(shù)據(jù)加密的效果。3、加密方法具有一次性的效果。由于加密方法在接收節(jié)點得到結果后即消失,即使被截獲也不再有作用,這個特點決定了加密過程和方法無法復制,即使截獲到傳輸?shù)臄?shù)據(jù)也不能利用數(shù)據(jù)本身以外的任何方法解密。
綜上所 述,本發(fā)明實施例提供的方法具有極高的加密安全保障。


圖I是加密數(shù)據(jù)的方法實施例流程圖2是加密數(shù)據(jù)的裝置實施例框圖3是加密數(shù)據(jù)的傳輸方法實施例流程圖4是加密數(shù)據(jù)的傳輸裝置實施例I框圖5是加密數(shù)據(jù)的傳輸裝置實施例2框圖。
具體實施例方式首先參考圖I所述實施例。按照該實施例,我們可知數(shù)據(jù)加密采用的是可變和隨機動態(tài)的加密手段。首先在步驟11,將待加密的傳輸數(shù)據(jù)W—次性讀入或者以數(shù)據(jù)流方式讀入到計算機系統(tǒng)的內存或高速緩存中,用W作為加密密鑰的產(chǎn)生基礎。但是W的長度是不確定的,簡單用W作為密鑰產(chǎn)生基礎會使計算資源的消耗變得不確定,從而使應用該方法的產(chǎn)品變得性能不穩(wěn)定,因此,本例采用了一種相對優(yōu)化的做法。做法是,預先設定一個常數(shù)k,從傳輸數(shù)據(jù)W中隨機截取預訂長度k的數(shù)據(jù)Ψ ,以Ψ作為加密密鑰的基礎。在一般的應用中,W的長度通常大于k,這時W’的獲取就是截取操作,而且該截取操作的起點是隨機的,也即,截取操作的起點是能夠滿足可靠截取到W’前提下的隨機起點,以增強W’的隨機性,需要說明,確定截取的隨機起點非常容易做到,此不再贅述。在特殊的應用中,W長度小于k,這時可以用w直接作為r,即將w全部截取作為w’,用w的隨機性解決r的隨機性問題。在其他的例子中,為使w’的長度穩(wěn)定且進一步增加隨機性,也采取下述進一步優(yōu)化的截取方式比較所述傳輸數(shù)據(jù)W的長度和k,當二者相等時,截取W的全部作為W’ ;當W 的長度大于k,從w中隨機截取k的長度作為w’,當w的長度小于k,向r中補充隨機數(shù),使 r的長度等于k,S卩,將補充隨機數(shù)后的w作為W’。所述k是一個根據(jù)經(jīng)驗或者實驗確定的一個經(jīng)驗數(shù)字,例如IM或100K,目的是使產(chǎn)生加密密鑰的基礎穩(wěn)定,使得本實施例能夠較好地適應當前的主流計算機,而且進一步促使實現(xiàn)該數(shù)據(jù)截取操作的算法簡潔。第12步驟,以數(shù)據(jù)Ψ為種子產(chǎn)生一個隨機數(shù)r。產(chǎn)生隨機數(shù)的方法很多,例如
(I)r= Σ (W,)mod C;
即,隨機數(shù)r等于r的數(shù)據(jù)“數(shù)”求和,再與常數(shù)C模運算后的余數(shù)。常數(shù)C具有很大的任意性,通常的范圍是I到Σ (W’)-1。例如,W’是如下的十六進制數(shù)據(jù)序列21458F2AD2, 則Σ (Ψ )的十六進制為
Σ (W,)= 2+1+4+5+8+F+2+A+D+2;十進制為
Σ (W,)= 2+1+4+5+8+15+2+10+13+2=62。從十進制角度看,該常數(shù)C e [1,61]。(2) r=HASH(Wj );
即用公知的哈希算法求解r即可。步驟12的目的是進一步為后續(xù)步驟增加隨機性基礎。第13步驟,以r作為種子隨機計算密鑰的數(shù)量p,p e [1,C),即p的值介于I和C之間,也就是說密鑰的數(shù)量最少為1,最多為C,其中C是常數(shù)。本步驟的本質仍然是隨機數(shù)的計算,也有多種方法可以完成該計算,例如
P= (f(r) mod C)+l ;其中,f可以是任意的線性或非線性等任意復雜度的函數(shù),常數(shù) C即可以根據(jù)經(jīng)驗或實驗確定,也可以根據(jù)使用本實施例的計算機系統(tǒng)的性能確定,以使本實施例更好地適應計算機系統(tǒng)。具體的做法是,在系統(tǒng)啟動的初始化階段,預先協(xié)商數(shù)據(jù)傳輸端點之間的數(shù)據(jù)處理能力,根據(jù)所述處理能力確定C的數(shù)值,由于確定C的方法有很多, 此不再贅述。
第14步驟,以數(shù)據(jù)Ψ為基礎或參數(shù)生成公鑰和私鑰序列,即生成公鑰Ei和私鑰 Ri, I < i < P。公鑰和私鑰的本質,是函數(shù)和對應的逆函數(shù),用一般的可逆變換函數(shù)都可以實現(xiàn),具體如線性可逆變換函數(shù)、非線性可逆變換函數(shù)等等,運用這些變換函數(shù)的逆函數(shù), 就能夠得到公鑰和私鑰。因此,可以用很多公知的方法實現(xiàn)本步驟。為增加本實施例的效果,采用下述方式生成公鑰和私鑰
首先,選擇正整數(shù)m,n,其中,m>n,且m,η小于以數(shù)據(jù)W’為基礎生成的子集的數(shù)據(jù)長度。其次,以該子集作為數(shù)據(jù)域F,選擇域F中的元素Xi和yj,且I彡i彡m,I彡j彡η ; 令X= (X1, ···, Xm), y = (Y1, ···, yn), X、y均為由域F中的元素所組成的向量;
生成包含有E(X))的公鑰,其中,E(X)為在域F上的從X = (X1, ···, xm)到y(tǒng) = (Y1,…,yn)的非線性映射函數(shù)組;并且,所述E(x)中隱含有接口函數(shù)RU),其用于根據(jù) X= (X1, ···, Xm)得到 η 個關于 X= (X1, ···, Xm)的函數(shù),R(X) = (UtllU1, ···, xm), ···, U0nU1, ···, Xm));
生成與所述公鑰相對應的私鑰,所述私鑰包括RU)。上述過程是生成一對公鑰和私鑰的過程。當每個過程以數(shù)據(jù)W’為基礎生成的子集,即采用不同的數(shù)據(jù)域F時,就會生成公鑰和私鑰序列,即公鑰Ei和私鑰Ri, I < i ^p, 也就是說,有多個數(shù)據(jù)域,即i個數(shù)據(jù)域,參與生成公鑰和私鑰序列,數(shù)據(jù)域Fi以W’為基礎。 在另外的實施例中,用從數(shù)據(jù)W截取的i個W’,即W/生成對應的數(shù)據(jù)域匕。其中,生成包含有E(X)的公鑰的具體過程是
首先選擇域F中的元素ai;l彡i彡η ;n小于數(shù)據(jù)域F的數(shù)據(jù)長度,(a1;…,an)是由域F中的元素所組成的向量。然后選取s+1個域F上的η元可逆線性變換T = (T1, ···, Ti,…,Ts+1),其中,每個Ti包括η個域F上的關于(a1; ···, an)的η元線性多項式;再選取 s個域F上的η元可逆非線性變換G = (G1,…,Gi, .··, Gs),其中,每個Gi包括η個域F上的關于(a1;…,an)的函數(shù),所述函數(shù)可以是多項式、有理分式等各種函數(shù)類型。最后,依據(jù)預置規(guī)則,合成所述Utl (x)、T和G,得到從X到y(tǒng)的非線性映射函數(shù)組
(yi,...,yn)=E(x)= (E1 (X1, ...,xm),…,EnU1,…,xm));
其中,Ug (X) — (U01 (Xl,. . .,Xm),. . .,Ugn (X1,. . .,Xm) ) O選取EU)中的η’個函數(shù)作為Ε’(X),得到公鑰,η’〈11;其中4’ (χ)中含有關于 (X1, ···, Xm)的函數(shù);
E (χ) — (E1 (χ^ j ...,xm),...,En, (X1,...,xm))。生成私鑰的過程是
生成T的逆函數(shù)Γ1 ;生成G的逆函數(shù)G—1 ;由Γ1和G—1計算得到D (y);生成私鑰,所述私鑰包括R(X)和D(y)
所述預置規(guī)則,可以根據(jù)實際情況進行設置。例如,如果期望得到的E’(x)中含有關于(Xl,-,Xffl)的有理分式函數(shù),則所述預置規(guī)則可以為以下兩種情況
把函數(shù)組Utl(X)代入到T1,把T1,代入到G1,把G1代入到T2,把T2代入到G2,把L代入到Gj,把Ts代入到Gs,把Gs代入到Ts+1 ;
或者,只把函數(shù)組Utl(X)代入到T1,把T1,代入到G1,把G1代入到T2,把T2代入到G2,把 Tj代入到GjJETs代入到Gs。對于上述兩種可能的方式而言,當最后為線性變換Ts+1時,得到有理分式的公鑰, 其每個有理分式的分母多項式是相同的;當最后為非線性變換Gs時,其公鑰中每個有理分式的分母多項式通常都不同。實踐中通常默認相同的分母,可以節(jié)省公鑰存儲空間,提高運算速度。第15步驟,用公鑰Ei循環(huán)編碼傳輸數(shù)據(jù)W,得到加密結果Z。具體的循環(huán)編碼方式有多種,可以根據(jù)預先的約定,既可以用部分公鑰,也可以用全部公鑰,按照約定的順序編碼W。例如,一個簡單的約定方式是=Z=Ep^-E2(E1(W))-X所述約定完全不用數(shù)據(jù)發(fā)送節(jié)點和數(shù)據(jù)接收節(jié)點預先協(xié)商,只需要數(shù)據(jù)發(fā)送節(jié)點隨機確定,并將確定的方式添加到加密結果Z中即可實現(xiàn)數(shù)據(jù)接收節(jié)點的正確解密,鑒于這種做法很容易實現(xiàn),此不再贅述。本實施例中,采用公鑰的數(shù)量和編碼順序都具有隨機性,進一步提高了本實施例的可變性、動態(tài)性。為了更進一步提高加密數(shù)據(jù)方法的可破解難度,加強其隨機性的程度,另一個實施例進一步利用滑動窗口技術處理加密結果Z,生成所述Z的引用標簽序列,以標簽序列作為新的加密結果。生成引用標簽可以按照公知的方法完成。具體可以是按照重復數(shù)據(jù)表示出來的重復特性,例如特定相鄰的字符構成的字符串,盡可能多地確定多個滿足該特性要求的數(shù)據(jù)段,為這些數(shù)據(jù)段設置彼此不重復的引用標簽,將所述引用標簽與所述數(shù)據(jù)段綁定在一起,存儲入數(shù)據(jù)庫,即標簽與數(shù)據(jù)段對照的關系數(shù)據(jù)庫。確定一個數(shù)據(jù)序列的引用標簽,可以利用一個指紋函數(shù)和一個窗口,通過動態(tài)調整所述窗口,對輸入的數(shù)據(jù)流,從一個方向確定一系列的分割點,利用所述分割點分割所述數(shù)據(jù)流,截取一個或多個數(shù)據(jù)段,所述數(shù)據(jù)段與所述數(shù)據(jù)庫中存儲的至少一個數(shù)據(jù)段相同, 然后用引用標簽代替截取的數(shù)據(jù)段與數(shù)據(jù)流中剩余的數(shù)據(jù)組裝為新的數(shù)據(jù)流。例如,假設傳輸數(shù)據(jù)W看作有方向的輸入數(shù)據(jù)流,從數(shù)據(jù)的流入方向或者數(shù)據(jù)流穩(wěn)定輸入后從數(shù)據(jù)流尾部方向截取一個或多個數(shù)據(jù)段,只要截取的所述數(shù)據(jù)段與所述第一數(shù)據(jù)庫中存儲的至少一個數(shù)據(jù)段相同,就可以認為該數(shù)據(jù)段是一個預先確定的高重復概率數(shù)據(jù)段,就可以按照所述數(shù)據(jù)庫中引用標簽和所述數(shù)據(jù)段的綁定關系,用引用標簽代替截取的數(shù)據(jù)段與數(shù)據(jù)流中剩余的數(shù)據(jù)組裝為新的數(shù)據(jù)流。由于數(shù)據(jù)的生成與數(shù)據(jù)段的截取可以采用相關的算法,因此,易于從一個隨機的數(shù)據(jù)流中找到高重復概率的數(shù)據(jù)段,從而可以實現(xiàn)用引用標簽代替數(shù)據(jù)段傳輸,減少實際傳輸?shù)臄?shù)據(jù)量。分割出的數(shù)據(jù)段不用考慮該數(shù)據(jù)段周圍的其它數(shù)據(jù)如何。上述標簽的確定過程的一個方面就是要將輸入數(shù)據(jù)進行分割,在分割過程中識別出“分割點”,如果一個分割方案設計合理、恰當,數(shù)據(jù)段的端點對于同樣的數(shù)據(jù)段而言,它應具有相同的重復性,出現(xiàn)在相同的地方,而不用考慮這個數(shù)據(jù)在什么樣的內容中出現(xiàn)。因此,對于數(shù)據(jù)中的那些具有共同數(shù)據(jù)特性的重復性數(shù)據(jù)段,就能用一種同樣的方法分割出來。具體的數(shù)據(jù)分割方案之一,是使用數(shù)據(jù)本身中的信息去引導該分割過程,而不用那種從外部把數(shù)據(jù)塊尺寸、傳輸界定參數(shù)等強加給分割過程。當輸入數(shù)據(jù)被編碼過程消耗后,輸入數(shù)據(jù)的各種各樣的值和結構就會去引導分割過程,通過這種把輸入內容引導分割用于處理輸入數(shù)據(jù)流,就能把時間跨度很大的重復數(shù)據(jù)尋找出來,而不必將已經(jīng)分析過的數(shù)據(jù)重新分析一遍。只要同類的數(shù)據(jù)被在輸入數(shù)據(jù)的過程中出現(xiàn)過,無論其在何處,同樣的數(shù)據(jù)段就會被發(fā)現(xiàn),從而得到重復的數(shù)據(jù)段而無需重復分析數(shù)據(jù)。然而,盡管輸入的數(shù)據(jù)具有某種數(shù)據(jù)特性,但由于每次需要處理的數(shù)據(jù)具有的隨機性,用輸入數(shù)據(jù)的內容引導數(shù)據(jù)的分割,實際上只是在分割得到的數(shù)據(jù)段的尺寸最大,與重復數(shù)據(jù)段的數(shù)量最多之間的矛盾中找到一個平衡點。需要指出,在其他的以圖I所示實施例為基礎的加密數(shù)據(jù)的方法實施例中, 可以不采用步驟11,步驟12產(chǎn)生的隨機數(shù)r也可以是一個任意的隨機數(shù)或以任意數(shù)據(jù)為種子的隨機數(shù),這樣,本實施例就會消耗更少的計算資源,而犧牲的隨機性卻是極其有限的。 另外,步驟13也可以簡化為直接確定密鑰的數(shù)量P,所犧牲的隨機性同樣也是很有限的。圖2是加密數(shù)據(jù)的裝置實施例框圖。圖2所示實施例有四個單元,存儲器單元21、隨機數(shù)單元22、可變動態(tài)密鑰單元23和加密編碼單元24。存儲器單元21是內存存儲器,從系統(tǒng)外部存儲器讀入的傳輸數(shù)據(jù)W就存儲在該單元。存儲器單元21與隨機數(shù)單元22,以及加密編碼單元24直接連接, 而可變動態(tài)密鑰單元23串聯(lián)在隨機數(shù)單元22和加密編碼單元24之間。其中的隨機數(shù)單元22,從存儲器單元21存儲的傳輸數(shù)據(jù)W中截取預訂長度 k的數(shù)據(jù)W’,以數(shù)據(jù)W’為種子產(chǎn)生一個隨機數(shù)r,再以r作為種子隨機計算密鑰的數(shù)量P, pe [1,C),其中C是常數(shù)。在實際應用中,W長度可能大于、等于、或小于k,為使W’的長度穩(wěn)定減少算法的復雜性,且進一步增加隨機數(shù)r的隨機性,本例采取下述數(shù)據(jù)W截取方式比較所述傳輸數(shù)據(jù) W的長度和k,當二者相等時,截取W的全部作為W’ ;當W的長度大于k,從W中隨機截取k 的長度作為W’,當W的長度小于k,向r中補充隨機數(shù),使r的長度等于k,即,將補充隨機數(shù)后的W作為W’。以數(shù)據(jù)W’為種子產(chǎn)生一個隨機數(shù)r。產(chǎn)生隨機數(shù)的方法很多,例如 r= Σ (W,) mod C;或者 r=HASH(W’ ),等等。以r作為種子隨機計算密鑰的數(shù)量P也有多種方法可以完成該計算,例如P= (f(r) mod C)+l ;其中,f可以是任意的線性或非線性等任意復雜度的函數(shù),常數(shù) C即可以根據(jù)經(jīng)驗或實驗確定,也可以根據(jù)使用本實施例的計算機系統(tǒng)的性能確定,以使本實施例更好地適應計算機系統(tǒng)。例如,在系統(tǒng)啟動的初始化階段,預先協(xié)商數(shù)據(jù)傳輸端點之間的數(shù)據(jù)處理能力,根據(jù)所述處理能力確定C的數(shù)值,由于確定C的方法有很多,此不再贅述。可變動態(tài)密鑰單元23,以數(shù)據(jù)Ψ為參數(shù)生成公鑰私鑰序列,即公鑰Ei和私鑰Ri,I < i < P??梢杂煤芏喙姆椒ㄉ晒€私鑰序列。例如,為增加密鑰本身的加密能力,采用下述方式生成公鑰和私鑰
首先,選擇正整數(shù)m,n,其中,m>n,且m,η小于以數(shù)據(jù)W’為基礎生成的子集的數(shù)據(jù)長度。其次,以該子集作為數(shù)據(jù)域F,選擇域F中的元素Xi和yj,且I彡i彡m,I彡j彡η ; 令X= (X1, ···, Xm), y = (Y1, ···, yn), X、y均為由域F中的元素所組成的 向量;
生成包含有E(X))的公鑰,其中,E(X)為在域F上的從χ = (X1, ···, xm)到y(tǒng) = (Y1,…,yn)的非線性映射函數(shù)組;并且,所述E(x)中隱含有接口函數(shù)RU),其用于根據(jù) X= (X1, ···, Xm)得到 η 個關于 X= (X1, ···, Xm)的函數(shù),R(X) = (UtllU1, ···, xm), ···, U0nU1, ···, Xm));
生成與所述公鑰相對應的私鑰,所述私鑰包括RU)。上述過程是生成一對公鑰和私鑰的過程。當每個過程以數(shù)據(jù)W’為基礎生成的子集,即數(shù)據(jù)域F不同時,就會生成公鑰和私鑰序列,即公鑰Ei和私鑰Ri, I < i < p。加密編碼單元24,從存儲器單元21讀取存儲的傳輸數(shù)據(jù)W,用公鑰Ei循環(huán)編碼W,得到加密結果Z。具體的循環(huán)編碼方式有多種,可以根據(jù)預先的約定,既可以用部分公鑰,也可以用全部公鑰,按照約定的順序編碼W。例如,一種簡單的約定方式是Z=EP(··· E2(E1(W))-X所述約定的順序可以動態(tài)約定,而且不影響傳輸數(shù)據(jù)的解密。需要說明,編碼后的加密結果Z可以傳輸?shù)酱鎯ζ鲉卧?1存儲待發(fā)送,也可以傳輸?shù)狡渌鎯ζ鲉卧?圖中未繪出)存儲待發(fā)送。為了更進一步提高加密數(shù)據(jù)方法的可破解難度,加強其隨機性的程度,在另外的實施例中,還包括一個和加密編碼單元24連接的標簽加密單元,該單元利用滑動窗口技術處理加密結果Z,生成所述Z的引用標簽序列,以標簽序列作為新的加密結果Z。圖3是加密數(shù)據(jù)的傳輸方法實施例流程由圖3可知,圖3所示實施例與圖I所示實施例相比,增加了步驟16,現(xiàn)僅對步驟16進行說明。圖3中,步驟11到步驟15是傳輸數(shù)據(jù)W的加密過程,而步驟16是將加密結果傳輸?shù)倪^程。為使接收加密數(shù)據(jù)的節(jié)點能夠解密接收到的加密數(shù)據(jù),需要將加密結果Z和解密用的私鑰一并傳送到接收節(jié)點,即將Z與私鑰序列Ri組合成新的傳輸數(shù)據(jù)發(fā)送出去和/ 或存儲起來。為使接收節(jié)點能夠得到Z與Ri,例如采用下述做法
計算Ri的最大長度,將每個Ri鑲嵌到一個根據(jù)該長度制作的固定長度的數(shù)據(jù)框中,該數(shù)據(jù)框中包括數(shù)據(jù)首標識、尾標識、Ri和Ri識別標識等數(shù)據(jù),形成私鑰數(shù)據(jù)框Ri,當一個具體的Ri長度較小時,該數(shù)據(jù)框中還會有填充的隨機數(shù),根據(jù)公知常識,這時需要增加一些必要的數(shù)據(jù)標識,此不贅述。將由加密結果Z形成的數(shù)據(jù)框Z與Ri組織或組合成一個數(shù)據(jù)序列就形成了新的傳輸數(shù)據(jù)。當然,根據(jù)組織數(shù)據(jù)思路的約定不同,在數(shù)據(jù)框和/或新的傳輸數(shù)據(jù)中還會有其他標識數(shù)據(jù)結構用的數(shù)據(jù),甚至填充的隨機數(shù),等等,這是很容易做的。一種簡單的做法,就是按照約定的數(shù)據(jù)結構組織Z與Ri,例如采用最簡單的按照編碼順序、以順序組合的方式組織Z與Ri,鑒于這點極其容易實現(xiàn),此不再贅述。需要說明,在另外的實施例中,每次數(shù)據(jù)傳輸都即時約定或確定Z與Ri的數(shù)據(jù)結構,只需要在該結構中增加必要的標識,即可實現(xiàn)組織Z與Ri的隨機性,從而進一步增加數(shù)據(jù)被破解的難度。圖4是加密數(shù)據(jù)的傳輸裝置實施例I框圖。
由圖4可知,圖4所示實施例與圖2所示實施例相比,增加了與加密編碼單元 24連接的加密數(shù)據(jù)處理單元25,現(xiàn)僅對加密數(shù)據(jù)處理單元25進行說明。為使接收加密數(shù)據(jù)的節(jié)點能夠解密接收到的加密數(shù)據(jù),加密數(shù)據(jù)處理單元25需要將加密結果Z和解密用的私鑰一并傳送到接收節(jié)點,即將Z與私鑰序列Ri組合成新的傳輸數(shù)據(jù)發(fā)送出去和/或存儲起來。為使接收節(jié)點能夠得到Z與Ri, —種簡單的做法,就是按照約定的數(shù)據(jù)結構組織Z與Ri,這是很容易實現(xiàn)的。實際中,加密數(shù)據(jù)處理單元25組織數(shù)據(jù)使用的加密結果Z來源于存儲器單元 21或加密編碼單元24,這取決于數(shù)據(jù)傳輸過程的實時性程度。在另外的加密數(shù)據(jù)的傳輸裝置實施例中,還包括設置與加密數(shù)據(jù)處理單元連接的標簽單元26,參考圖5.該單元接收加密數(shù)據(jù)處理單元的輸出結果,即Z與私鑰序列Ri組合成的新傳輸數(shù)據(jù)M,利用滑動窗口技術處理M,生成所述M的引用標簽序列,以標簽序列作為最后的加密結果發(fā)送出去和/或存儲起來,從而進一步壓縮加密M。在另一個加密數(shù)據(jù)的方法實施例中,公鑰和私鑰序列也可以采用數(shù)據(jù)庫的方式通過預處理的方法得到。例如,將預先生成的公鑰和私鑰對存儲在一個設置好的數(shù)據(jù)庫中,只要有足夠數(shù)量的公鑰和私鑰對,也能夠生成滿足隨機性要求的公鑰私鑰序列,此時犧牲的隨機性也是極其有限的。該加密數(shù)據(jù)的方法實施例首先從傳輸數(shù)據(jù)W中隨機截取預訂長度k的數(shù)據(jù)Ψ,再以數(shù)據(jù)W’為種子產(chǎn)生一個隨機數(shù)r,以r作為種子隨機計算密鑰的數(shù)量p,p e [1,C),其中 C是常數(shù);然后在存儲公鑰私鑰的數(shù)據(jù)庫中隨機選擇P對公鑰和私鑰,即公鑰Ei和私鑰Ri, I ^ i ^ P ;最后用公鑰Ei循環(huán)編碼W,得到加密結果Z?;跀?shù)據(jù)庫獲得公鑰和私鑰加密數(shù)據(jù)的方法中,還可以進一步通過自學習方式積累每次數(shù)據(jù)傳輸過程中生成的公鑰和私鑰,即將數(shù)據(jù)庫中不存在的更新的公鑰私鑰對存儲到數(shù)據(jù)庫中。這樣,會使加密數(shù)據(jù)的方法實施例更具應用的靈活性。
權利要求
1.一種加密數(shù)據(jù)的方法,其特征在于包括從傳輸數(shù)據(jù)w中隨機截取預訂長度k的數(shù)據(jù)r ;以數(shù)據(jù)r為種子產(chǎn)生ー個隨機數(shù)r,再以r作為種子隨機計算密鑰的數(shù)量P,pe [1,C),其中C是常數(shù); 以數(shù)據(jù)r為參數(shù)生成公鑰Ei和私鑰Ri, I < i < P ;用公鑰Ei循環(huán)編碼W,得到加密結果Z。
2.根據(jù)權利要求I所述的加密數(shù)據(jù)的方法,其特征在于還包括 利用滑動窗ロ技術處理加密結果Z,生成所述Z的引用標簽序列,以標簽序列作為新的加密結果。
3.根據(jù)權利要求I或2所述的加密數(shù)據(jù)的方法,其特征在于 比較所述傳輸數(shù)據(jù)W的長度和k,當二者相等吋,以W作為W’ ;當W的長度大于k,從W中隨機截取k的長度作為W’,當W的長度小于k,向W中補充隨機數(shù),使W的長度等于k,將補充隨機數(shù)后的W作為W’。
4.根據(jù)權利要求3所述的加密數(shù)據(jù)的方法,其特征在于還包括 預先協(xié)商數(shù)據(jù)傳輸端點之間的數(shù)據(jù)處理能力,根據(jù)所述處理能力確定C。
5.根據(jù)權利要求4所述的加密數(shù)據(jù)的方法,其特征在于 以數(shù)據(jù)r為參數(shù),利用非線性可逆函數(shù)生成公鑰Ei和私鑰民。
6.一種加密數(shù)據(jù)的裝置,包括存儲待傳輸數(shù)據(jù)W的存儲器単元,其特征在于還包括 隨機數(shù)単元,從存儲器単元取得傳輸數(shù)據(jù)W,從W中截取預訂長度k的數(shù)據(jù)r,以數(shù)據(jù)r為種子產(chǎn)生ー個隨機數(shù)r,再以r作為種子隨機計算密鑰的數(shù)量p,p e [1,C),其中C是常數(shù); 可變動態(tài)密鑰單元,以數(shù)據(jù)r和P為參數(shù)生成公鑰Ei和私鑰Ri, I < i < P ;加密編碼単元,用公鑰Ei循環(huán)編碼W,得到加密結果Z。
7.一種加密數(shù)據(jù)的方法,其特征在于包括從傳輸數(shù)據(jù)w中隨機截取預訂長度k的數(shù)據(jù)r ;以數(shù)據(jù)r為種子產(chǎn)生ー個隨機數(shù)r,再以r作為種子隨機計算密鑰的數(shù)量P,pe [1,C),其中C是常數(shù);在存儲公鑰私鑰的數(shù)據(jù)庫中隨機選擇P對公鑰和私鑰,即公鑰Ei和私鑰Ri,I ^ i ^ P ;用公鑰Ei循環(huán)編碼W,得到加密結果Z。
8.ー種加密數(shù)據(jù)的傳輸方法,其特征在于包括從傳輸數(shù)據(jù)w中截取預訂長度k的數(shù)據(jù)r ;以數(shù)據(jù)r為種子產(chǎn)生ー個隨機數(shù)r,再以r作為種子隨機計算密鑰的數(shù)量P,pe [1,C),其中C是常數(shù); 以數(shù)據(jù)r為參數(shù)生成公鑰Ei和私鑰Ri, I < i < P ; 用公鑰Ei循環(huán)編碼W,得到加密結果Z ; 將Z與Ri組合成新的傳輸數(shù)據(jù)M發(fā)送。
9.ー種加密數(shù)據(jù)的傳輸裝置,包括存儲待傳輸數(shù)據(jù)W的存儲器単元,其特征在于還包括隨機數(shù)單元,從存儲器單元取得傳輸數(shù)據(jù)W,從W中截取預訂長度k的數(shù)據(jù)r,以數(shù)據(jù)W’為種子產(chǎn)生一個隨機數(shù)r,再以r作為種子隨機計算密鑰的數(shù)量p,p e [1,C),其中C是常數(shù); 可變動態(tài)密鑰單元,以數(shù)據(jù)r和P為參數(shù)生成公鑰Ei和私鑰Ri, I < i < P ;加密編碼單元,用公鑰Ei循環(huán)編碼W,得到加密結果Z ;加密數(shù)據(jù)處理單元,將Z與Ri組合成新的傳輸數(shù)據(jù)M發(fā)送。
10.根據(jù)權利要求9所述的加密數(shù)據(jù)的傳輸裝置,其特征在于還包括與加密數(shù)據(jù)處理單元連接的標簽壓縮加密單元; 所述標簽壓縮加密單元,接收加密數(shù)據(jù)處理單元的輸出結果M,利用滑動窗口技術處理M,生成所述M的引用標簽序列,以標簽序列作為最后的加密結果發(fā)送。
全文摘要
本發(fā)明提供了一種加密數(shù)據(jù)的方法和加密數(shù)據(jù)的傳輸裝置,首先從傳輸數(shù)據(jù)W中隨機截取預訂長度k的數(shù)據(jù)W’;以數(shù)據(jù)W’為種子產(chǎn)生一個隨機數(shù)r,再以r作為種子隨機計算密鑰的數(shù)量p,p∈[1,C),其中C是常數(shù);再以數(shù)據(jù)W’為參數(shù)生成公鑰Ei和私鑰Ri,1≤i≤p;最后用公鑰Ei循環(huán)編碼W,得到加密結果Z。本發(fā)明還提供了一種加密數(shù)據(jù)的裝置,以及一種加密數(shù)據(jù)的傳輸方法,和一種加密數(shù)據(jù)的傳輸裝置。
文檔編號H04L9/32GK102624527SQ20121004394
公開日2012年8月1日 申請日期2012年2月26日 優(yōu)先權日2012年2月26日
發(fā)明者白杰 申請人:光束(北京)國際工程技術研究院有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1