隨機混沌動力系統(tǒng)組及序列加密算法
基于混沌系統(tǒng)的加密算法成為近年來序列密碼體系研究的全新領(lǐng)域,并出現(xiàn)了很多相應(yīng)的加密算法。然而目前提出的混沌加密算法多是基于單一的一維或是多維混沌動力系統(tǒng)。前者受有限計算精度的影響,其混沌映射的動態(tài)特征在一定條件下會出現(xiàn)退化,影響生成序列的隨機性,而且已經(jīng)存在一些諸如相空間重構(gòu)等較為有效的攻擊方法,使其安全性不高;而后者需要通
過數(shù)值積分的方法實現(xiàn)加密,在實際應(yīng)用中有一定難度。
為此我們提出了隨機混沌動力系統(tǒng)組的定義。該系統(tǒng)組具備比單一的一維混沌系統(tǒng)更復(fù)雜的動力行為,且便于應(yīng)用,是構(gòu)造加密算法的理想工具。通過分析和實驗表明,文中應(yīng)用這種隨機
混沌動力系統(tǒng)組設(shè)計的序列加密算法具有較高的安全性和擴展性。
一、隨機混沌動力系統(tǒng)組
在加密算法提出之前,先定義幾個必要的概念。
定義1:混沌動力系統(tǒng)組
令xi=fs(xi-1),s=0,1,…,n-1是n個不同的一維混沌動力系統(tǒng),則該n個混沌動力系統(tǒng)構(gòu)成一個混沌動力系統(tǒng)組模型,記為Fn,簡稱系統(tǒng)組。fs稱為Fn的第s個混沌動力子系統(tǒng),簡稱子系統(tǒng)。
定義2 :概率向量
定義一維向量P = (Po,P0,…,Pn-1),P的元素將[0,1]區(qū)間劃分為n段:[0,Po],[p0,p1],…,[pn-2,pn一1],其中pn-1 =1,0<ps-1<ps<ps+1≤1,s=1,2,…,n-2。稱P為概率向量,[Ps-i,Ps]為P的第5個概率區(qū)間,特別定義[O,p0]為第O個概率區(qū)間。
定義3:隨機混沌動力系統(tǒng)組
對于一維概率向量P=(Po,P1,…,Pn-1)和一個系統(tǒng)組Fn,定義P的第s個概率區(qū)間的長度為子系統(tǒng)fs對應(yīng)于該系統(tǒng)組中的概率,其中s=0,1,…,n-1,則概率向量Fn和系統(tǒng)組只構(gòu)成一個隨機混沌動力系統(tǒng)組,記為G(Fn,P),簡稱隨機系統(tǒng)組。
引入概率向量P后,F(xiàn)n就確定了每一個子系統(tǒng)在整個系統(tǒng)組中的權(quán)重,使得G( Fn,P)不僅和傳統(tǒng)的單一混沌動力系統(tǒng)一樣對初值xo具有敏感性,而且對p也較為敏感。進而影響到Fn的動力行為。
定義4:子系統(tǒng)序列
一個隨機系統(tǒng)組G(Fn,P),對任意一個定義在有限域CF(n)={0,1,…,n-1}上的長度為L的序列RL=(r0,r1,r2,…,rl-1),都能確定凡中所有子系統(tǒng)的一個組合序列SRl=(fro,fri,…frl-1)。
特別地,如果有一個定義在(0,1)中的變量Pnext,Pnext每經(jīng)過一次迭代,都定位到P的第s個概率區(qū)間(即Ps-1<Pnext≤ps),RL記錄了Pnext。在l次迭代中每一個概率區(qū)間的序號,則將SRL簡記為S,稱為子系統(tǒng)序列。
對于一個初值xo和一個子系統(tǒng)的組合序列SRL=(fro,fri,…frl-1),用SR(xo)代表以下一系列運算:xi=fri-1(Xi-1)。為使xi在經(jīng)過系統(tǒng)組中一個子系統(tǒng)作用后依然在下一個子系統(tǒng)的定義域內(nèi),可以采用例如Hash函數(shù)的方法將每個子系統(tǒng)的值域壓縮映射到所有子系統(tǒng)定義域的交集D(D≠φ)上。易證,在區(qū)域D中對于任意的xi,如果都有|f'ri-1|>1,則根據(jù)混沌映射的李雅普諾夫指數(shù)的定義,可以保證SRL(X0)的李雅普諾夫指數(shù)為正,從而SRL(xo)是一個離散混沌動力系統(tǒng)。其中i=(1,2,…,L),L足夠大。
S是G( Fn,P)所有子系統(tǒng)在P指導(dǎo)下的集合。一般地,這種集合性質(zhì)的混沌系統(tǒng)序列保持了所有子系統(tǒng)的混沌特性,其動力行為比單一子系統(tǒng)的要復(fù)雜得多。
二、算法描述
假定明文是一個長度為L的二進制序列M= m1,m2,...mL,隨機系統(tǒng)組G(F0,P)結(jié)合明文M生成一個子系統(tǒng)序列S,M在S的作用下得到密文C= c1,c2,...cL。
定義模運算T1(x)=[ax] mod 2,a=(1,+∞);[0,1]區(qū)間上的映射T2(x)。其中T1(x)的作用是將子混沌系統(tǒng)的生成序列由浮點數(shù)離散化為可用的二進制數(shù),T2 (x)用于生成概率Pnext以確定下次需要迭代的子系統(tǒng)fP。在遵循作用不變的原則下可將T1(x)和T2(x)復(fù)雜化。
對于加密過程中生成的某個概率變量Pnext,(0≤Pnext≤1),如果有Ps-1<Pnext≤Ps或0≤Pnext≤Po,則認為Pnext確定了子系統(tǒng)fP =fS或fP =fo。
1、 加密及解密算法
令有限區(qū)間D’為所有子系統(tǒng)定義域交集D的非空子集;Lenfgth(D’)代表區(qū)間D’的長度;inf D’為區(qū)間D’的下確界。
加密算法:
1)選取迭代初值x0,x0=D’。
2)計算密文C1=T(xo)+ m1,Pnext=T2(xo+m1)。
3)分別令i =1,2,…,L-1,xi-1=(xi-1[xi-1]×Length(D’)+inf D’,計算迭代值xi=fP(Xi-1),Pnext=T2(xi+mi+1),密文Ci+1=Ti(xi)+mi+1。
4)從第2、3步依次得到密文C= c1,c2,...,cL。
解密算法與加密算法一致。
解密算法:
1)獲得正確的迭代初值xo。
2)計算明文m1=T1(xo)+c1,Pnext=T2(xo+m1)。
3)分別令z =1,2,…,L-1,xi-1=(xi-1[xi-1]×Length(D’)+inf D’,計算迭代值xi=fP(Xi-1)Pnext=T2(xi+mi+1),明文mi+1=Ti(xi)= ci=+1。
4)從第2、3步依次得到明文M=m1,m2,...,mL。
加密算法的簡要流程如圖1所示。

2、算法分析
由加密算法可以看出,迭代過程不僅與密鑰有關(guān),而且還與概率向量P及被加密的明文密切相關(guān),這就使xs、P、ms+1、cs+1。四者之間關(guān)系緊密,因此分析者想要正確解密,必須知道迭代的初始值(xo;P)。即使分析者已經(jīng)知道部分密文序列及其所對應(yīng)的明文序列,也不可能確定之后的迭代值xs和迭代概率Pnext從而無法解密出后續(xù)部分的明文。
三、實驗與分析
簡單而不失普遍性,令映射T2(x)=| sin (2x)|,并選取兩個混沌子系統(tǒng)組成系統(tǒng)組F2,其中fi=4x2 +12x +8,f2=4x2+ 4x,x0∈(0,1)。易知(0,1)為f1和f2定義域交集D的非空子集,且f和f2都在(0,1)上滿足|f’i|>1,i=1,2。
1、敏感性測試
基于隨機混沌動力系統(tǒng)組的加密算法使密文與初值、概率向量以及明文之間的關(guān)系非常敏感。取明文M為106位全為0的二進制序列,設(shè)初值x0=0. 33,概率向量P=(0.5,1),將M加密后的密文為C。
實驗結(jié)果表明,僅當(dāng)初值變化為x'0=0. 33+10-16、僅當(dāng)概率向量變化為P’= (0.5+10-4,1)、僅當(dāng)明文第一位發(fā)生變化時,新生成的密文和C相比,分別約有50. 05%、50. 07%、49. 97%位發(fā)生了變化。
2、統(tǒng)計性分析
通過該算法加密二進制明文可以得到均勻分布的密文。分別取一系列全為1或全為0的二進制序列為明文,其長度L由103位增加到106位,取密鑰x0=0.33,P=(0.5,1)進行加密測試,生成的密文中O、1個數(shù)之比尺值為0. 934236~1. 07254,如圖2所示。

結(jié)果表明,該算法生成的密文中0、1個數(shù)幾乎相等,這種均勻分布的密文可以有效抵抗統(tǒng)計攻擊。
3、抗窮舉分析
通過敏感性測試可以看到,受計算機有限精度的限制,當(dāng)僅考慮初值xo時,該算法的密鑰空間至少達到253;而在引入了對系統(tǒng)組的動力行為具有一定影響的概率向量P之后,算法的密鑰空間得到進一步拓展,至少達到266。這一特點使算法可有效抵抗窮舉攻擊。
該算法的加密效果與系統(tǒng)組的復(fù)雜程度有關(guān),即構(gòu)成系統(tǒng)組的混沌子系統(tǒng)越多,且每一個子系統(tǒng)對應(yīng)于系統(tǒng)組中的權(quán)重相等(即P中所有概率區(qū)間的長度都相等),加密性能就越好。故在實際應(yīng)用中,可盡量選取多個混沌子系統(tǒng)構(gòu)成系統(tǒng)組,使加密效果更加理想。
小知識之李雅普諾夫指數(shù)
李雅普諾夫指數(shù)指的是對初值敏感(即對混沌現(xiàn)象)的判斷需要一個定量的指標,這個指標就是李雅普諾夫指數(shù),它表示相鄰軌線間的平均發(fā)散(分離)率,是一個統(tǒng)計平均量。









