基於超混沌Lorenz系統構建Hash函數的數據加密方法
2023-05-31 14:22:56 3
基於超混沌Lorenz系統構建Hash函數的數據加密方法
【專利摘要】本發明公開了一種基於超混沌Lorenz系統構建Hash函數的數據加密方法,利用超混沌Lorenz系統的優點,先對固定長度密鑰和任意長度消息明文進行預處理,然後將其輸入一個精心設計的基於四維Lorenz系統超混沌特性的Hash函數中,通過函數內部多次迭代運算,最後得到一個長度為128比特的Hash值。通過四維Lorenz系統構建Hash函數來對消息明文進行加密處理,使得密文不容易被破解,算法安全性高、單向性好,易於軟體和硬體實現,可廣泛應用於數字籤名、身份認證、消息完整性檢測以及口令保護等領域。
【專利說明】基於超混沌Lorenz系統構建Hash函數的數據加密方法
【技術領域】
[0001]發明涉及信息處理中的數據加密技術,具體地講,是一種基於超混沌Lorenz系統構建Hash函數的數據加密方法。
【背景技術】
[0002]在信息處理技術中,MD5是計算機廣泛使用的散列算法之一,即Message-DigestAlgorithm5 (信息摘要算法5,又譯為摘要算法、哈希算法),廣泛運用於數字籤名、文件完整性驗證以及口令加密等領域。算法的作用是讓大容量信息在用數字籤名軟體籤署私人密鑰前被「壓縮」成一種保密的格式(就是把一個任意長度的字節串變換成一定長的大整數)。
[0003]但在2004年8月17日的美國加州聖巴巴拉的國際密碼學會議(Crypto2004)上,來自中國山東大學的王小雲教授做了破譯MD5算法的報告,公布了 MD系列算法的破解結果。宣告了世界通行密碼標準MD5不再安全。
[0004]因此,行業內還急需研究一種新型的、安全的數據加密算法,即要保證數據的安全性能,又要降低算法複雜度,便於軟體和硬體的實現。
【發明內容】
[0005]基於上述需求,本發明的目的在於提供一種基於超混沌Lorenz系統構建Hash函數的數據加密方法,由於超混沌Lorenz系統輸出的序列對系統初值和控制參數非常敏感,並且難以對輸出的序列進行預測和重構。通過參考中國專利201310048834.5和201210146858.X可以發現其優點,但目前主要用於數字圖像加密領域。本發明利用超混沌Lorenz系統的優點,先對固定長度密鑰和任意長度消息明文進行預處理,然後將其輸入一個精心設計的基於四維Lorenz系統超混沌特性的Hash函數中,通過函數內部多次迭代運算,最後得到一個長度為128比特的Hash值。通過四維Lorenz系統構建Hash函數來對消息明文進行加密處理,使其具備理想的密碼學特性,提高算法的安全性能。
[0006]為達到上述目的,本發明所採用的具體技術方案如下:
[0007]一種基於超混沌Lorenz系統構建Hash函數的數據加密方法,包括以下步驟:
[0008]步驟1:設置計數器i = 1,設置兩個長度為128比特的密鑰K1和K1' ,K1關K1',並將任意長度的消息明文M以128比特為一個單位分解為L組,即M=M1 Im2I I...I |ml,消息明文M分解時,位數不足填充O ;
[0009]步驟2:將十f,.』作為第一輸入值,將A; 作為第二輸入值,通過一個G函
數得出Ki+1,另外將K 'e Mi作為第一輸入值,將Ki十Ki 』作為第二輸入值,通過一個G函數得出Ki+1 』 ;
[0010]步驟3:判斷i+Ι是否大於L,如果不大於,則設置i = i+Ι,返回步驟2 ;如果大於,則進入步驟4 ;
[0011]步驟4:將Ki+1作為第一輸入值,將Ki+1』作為第二輸入值,通過一個G函數得出Hout, Hout即是任意長度消息明文M的單向Hash值;
[0012]其中:步驟2中的Mi表示消息明文M分解時的第i個分組;
[0013]步驟2和步驟4中的G函數為帶有兩個輸入和一個輸出的函數運算模塊,該函數運算模塊中嵌入有四維超混沛Lorenz系統。
[0014]作為進一步描述,所述G函數的第一輸入H1和第二輸入H2均為128比特,具體運算過程如下:
[0015]S1:按照8比特長度將第一輸入H1和第二輸入H2分別分解為16個分組,即:
[0016]H1 = H1; J Ih12I 卜..I Ih116 ;
[0017]H2 = H2jl Ih2 2I 卜..I Ih216 ;
[0018]S2:按照:
[0019]X0 = 十 Hg + Θ ^)/512;
[0020]y0 = (//S1 十 + 十/?)/ 512 ;
[0021 ] Z0 = 十 Hg + Φ /512;
[0022]% 二? 十/?2 +//JX)/512 ;
[0023]tx = H21 Θ H2 2 Θ H2 5 十 H2 6 ;
[0024]t2 = H23 十 H2a 十 Hin 十 H2.u ;
[0025]?3 = //2,9 十 //2,8 十 //2,12 十 // 14
[0026]t4 = H210 Φ H211 Φ H215 Φ H216 ;
[0027]k =X 16.6/ (4X256);
[0028]TV-50 + (Hll 十 tf + H14 Θ tf + H113 Θ tf + H116 θ tf) mod 256 ;
[0029]分別計算系統參數X。,y0, Z0, U0, k, N ;
X = -a(y - x)
y = -cx -y-xz +u
[0030]
【權利要求】
1.一種基於超混沌Lorenz系統構建Hash函數的數據加密方法,其特徵在於包括以下步驟: 步驟1:設置計數器i = 1,設置兩個長度為128比特的密鑰K1和K1' ,K1 Φ K1',並將任意長度的消息明文M以128比特為一個單位分解為L組,即M=M1I IM2 I...I |My消息明文M分解時,位數不足填充O ; 步驟2:將K.十Ki'作為第一輸入值,將? 作為第二輸入值,通過一個G函數得出Ki+1,另外將&M1□作為第一輸入值,將? K,.』作為第二輸入值,通過一個G函數得出 Ki+1,; 步驟3:判斷i+Ι是否大於L,如果不大於,則設置i = i+Ι,返回步驟2 ;如果大於,則進入步驟4 ; 步驟4:將Ki+1作為第一輸入值,將Ki+1』作為第二輸入值,通過一個G函數得出Hwt,Hwt即是任意長度消息明文M的單向Hash值; 其中:所述步驟2中的Mi表示消息明文M分解時的第i個分組; 所述步驟2和步驟4中的G函數為帶有兩個輸入和一個輸出的函數運算模塊,該函數運算模塊中嵌入有四維超混沛Lorenz系統。
2.根據權利要求1所述的基於超混沌Lorenz系統構建Hash函數的數據加密方法,其特徵在於:所述步驟2和步驟4中的G函數的第一輸入H1和第二輸入H2均為128比特,具體運算過程如下: 51:按照8比特長度將第一輸入H1和第二輸入H2分別分解為16個分組,即:
H1 = H1;1 H1j2 I...I Hljl6 ;
H2 = H2jl H2j2 I...I H2jl6 ; 52:按照: X。= ? 十/?2 + H<f 十Ιφ/512; y0 =(醜S1 Φ Ke2 + hUO Φ Ku)/512; Z0 = (H^ 十 H= + H^1 十 /O / 512 ;u0=(K:;
tx = H,j ? Hn,0 H,5 0 H,6 ;
-- = H13 Φ H』 4 Φ H0 η 0 H』 13 ;
t3 = H2 9 十 Η.2,% 十 H2,u 十 H2,u ;
,4 _ ^2,10 十 ^2,11 ? H2,15 十 ^2,16 ;
k = (t1+t2+t3+t4) X 16.6/ (4 X 256);
TV = 50 + (H11 十 + H14 十 tf + H113 十 tf + Hllb 十 tf) mod 256 ;
分別計算系統參數X(i,Y0, z0, u0, k, N ;
【文檔編號】H04L9/18GK103490876SQ201310491150
【公開日】2014年1月1日 申請日期:2013年10月18日 優先權日:2013年10月18日
【發明者】彭軍, 賈蓉, 韓琦, 金尚柱 申請人:重慶科技學院