基于跳躍軌道的數(shù)字序列混沌加密算法
任何非線性系統(tǒng)的混沌狀態(tài)都是由無(wú)限不穩(wěn)定的周期軌道組成。對(duì)于任意給定的初始狀態(tài)值,混沌系統(tǒng)不能自發(fā)地移動(dòng)到任何一個(gè)軌道上。即該混沌系統(tǒng)可以不受任何外界影響落到這些軌道上的幾率接近零。但是,一旦混沌系統(tǒng)運(yùn)行于這些軌道上,就不會(huì)脫離這些軌道除非對(duì)其進(jìn)行外加控制。由于混沌系統(tǒng)的普遍性和其對(duì)初始狀態(tài)極強(qiáng)的敏感性,可以通過(guò)改變系統(tǒng)參數(shù),改變系統(tǒng)演化軌道,使混沌系統(tǒng)從一個(gè)周期軌道轉(zhuǎn)換到另一周期軌道。但是對(duì)于一個(gè)普通的非線性系統(tǒng)(非混沌),要達(dá)到同樣的效果非常困難?;煦缦到y(tǒng)的該特性提高了數(shù)字序列加密方法的安全性。
本文提出一種新的數(shù)字加密算法,該算法將加密序列映射至幾個(gè)不用的混沌周期軌道,然后將通過(guò)另一個(gè)非線性系統(tǒng)迭代周期軌道系統(tǒng)的參數(shù)得到的短序列作為重構(gòu)這些周期軌道的密鑰。在解密端,采用基于改進(jìn)的Newton-Raphson算法的混沌軌道陰影法獲取這些系統(tǒng)參數(shù)。該加密算法中的密鑰不僅包括混沌周期軌道的初始條件值,同時(shí)也包括非線性系統(tǒng)的模型參數(shù)。該加密算法的特殊性使加密序列可以完全隨機(jī),而且該加密序列不帶有原序列的任何信息。因此對(duì)于攻擊者來(lái)說(shuō),從參數(shù)空間估算模型參數(shù)是非常困難的;其次,只有獲得周期軌道的確切初始值,才有可能解密。但是,因?yàn)榛煦缦到y(tǒng)的演化值對(duì)于初始條件具有極強(qiáng)的敏感性,獲取周期軌道的精確初始值幾乎是不可能的。相對(duì)于其他加密算法,本文加密算法除了具有較強(qiáng)的抗破譯性,也不需要任何空間坐標(biāo)對(duì)的轉(zhuǎn)換。而且,由于Newton-Raphson的快速收斂性,粗略的初始條件估計(jì)值是可以達(dá)到理想效果的,重構(gòu)周期軌道的參數(shù)演化序列也會(huì)非常短。因此該算法在應(yīng)用中更容易實(shí)現(xiàn)。
一、一種新的數(shù)字加密算法
1、杜芬振蕩器的周期軌道
杜芬振蕩器是一種被廣泛研究的特殊非線性系統(tǒng)。標(biāo)準(zhǔn)表達(dá)式如式(1)所示。

在式(1)中,如果δ值已經(jīng)確定,當(dāng)δ值由小到大變化時(shí),系統(tǒng)狀態(tài)也相應(yīng)由小周期行為轉(zhuǎn)換為混沌行為,并且最終達(dá)到極大周期行為瞪鬮。因?yàn)榛鶞?zhǔn)信號(hào)γcos(t)的頻率是連續(xù)的(1 rad/s),杜芬方程的使用因此被限制在一個(gè)有限的定義域中。于是,ω0=2πfo,
式(1)可由式(2)表示如下。
![]()
式(2)中,令fo=0.2Hz,δ=0.3,使用四階龍格庫(kù)塔算法可以分別得到δ=0.2和δ=1.5時(shí)(x VS y)的平面圖。為了方便比較,將兩圖顯示在同一圖中,如圖1所示。

當(dāng)δ= 3.5時(shí),杜芬振蕩器處于混沌狀態(tài),下圖2是其吸引子。

當(dāng)δ= 0.3(或者其他值)時(shí),γ的值不同系統(tǒng)顯示出不同狀態(tài)。當(dāng)γ∈[0.05,0.26],系統(tǒng)表現(xiàn)為小周期行為,當(dāng)γ∈[0.27,0.43]時(shí),系統(tǒng)為混沌狀態(tài),但是當(dāng)γ∈[0.44,10.32]時(shí),系統(tǒng)狀態(tài)表現(xiàn)為極大周期行為。由此,可以得到另一個(gè)重要結(jié)論,小周期軌道與極大周期軌道是分離的。即這兩個(gè)軌道之間沒(méi)有任何交叉點(diǎn),這對(duì)于數(shù)字序列加密方法至關(guān)重要。而且,所有周期軌道的形狀完全不相同。
由混沌的可定義性可知,如果/取值屬于小周期軌道或者極大周期軌道的參數(shù)值域,系統(tǒng)軌道必定會(huì)演化并最終落在相應(yīng)的周期軌道上。同時(shí),由于混沌系統(tǒng)固有的隨機(jī)性,軌道上每一點(diǎn)的坐標(biāo)都是隨機(jī)的。在兩個(gè)周期軌道參數(shù)域間轉(zhuǎn)換/的值促使周期軌道轉(zhuǎn)換,這種現(xiàn)象被稱為“周期軌道跳躍”。
2、數(shù)字加密算法
對(duì)于一個(gè)給定的δ值,與其對(duì)應(yīng)的γ的小周期軌道取值域定義為A,極大周期軌道取值域?yàn)锽。假設(shè)數(shù)字序列如式(3)所示。
![]()
其中,ai∈{o,1}{i=1,2...n)。在該加密算法中,式(2)的初始條件是關(guān)鍵,該初始條件必須使求得的解在該方程的周期軌道上。對(duì)于隨機(jī)給定的初始條件(x0,yo),不需要馬上就落到一個(gè)周期軌道上。但是,當(dāng)γs∈A時(shí),可由式(2)演化的上一步的結(jié)果值得到點(diǎn)(Xsi,ysi)。同理,當(dāng)γg∈B時(shí),迭代式(2)可得到點(diǎn)(Xgi,Ygi)。此時(shí)(xsi,ysi)和(Xgi,ygi)都位于各自的軌道上,并且都是初始條件相對(duì)應(yīng)的軌道周期。
當(dāng)ao取值O時(shí),令γ=γs,式(2)由初始條件(Xsi,ysi)演化一步。那么ao被映射為小周期軌道上的一個(gè)點(diǎn)。相反,如果ao取值1,令7=yg,那么ao將映射到初始條件為(Xgi,Ygi)的極大周期軌道上的某個(gè)點(diǎn)。不論點(diǎn)在哪個(gè)軌道上,初始點(diǎn)都為(x0,Yo)。同理,ai被映射到點(diǎn)(xi,yi)。當(dāng)映射呸時(shí),其初始條件一定是(Xi-l,Yi-1)。否則,式(3)中的相同坐標(biāo)對(duì)映射的點(diǎn)對(duì)也會(huì)相同,那么加密序列會(huì)很容易被解密。
式(3)的序列被映射為一個(gè)新的序列,如式(4)所示。
![]()
在該式中,每個(gè)坐標(biāo)對(duì)都是隨機(jī)的并且對(duì)于一段不是很長(zhǎng)的序列來(lái)說(shuō)是唯一的。將序列映射到幾個(gè)混沌軌道,但是需要首先得到坐標(biāo)對(duì),然后將序列映射兩次以達(dá)到算法的性能。除了初始條件(Xsi,ysi)和(Xgi,Ygi),參數(shù)δ,γs,γg對(duì)于加密和解密也至關(guān)重要。因此,本文中通過(guò)一個(gè)非線性系統(tǒng)將其轉(zhuǎn)換為一個(gè)短序列,進(jìn)一步加強(qiáng)安全性能。該短序列和式(4)中的加密序列共同組成最終的加密序列。解密時(shí),如果非線性系統(tǒng)的模型參數(shù)已知,δ,γs,γg可由短序列獲得,重建周期軌道。那么通過(guò)判定每個(gè)坐標(biāo)對(duì)坐落的軌道,就可以解密得到原始序列。
二、關(guān)鍵參數(shù)的轉(zhuǎn)換與計(jì)算
1、轉(zhuǎn)換序列
已知Rossler系統(tǒng)方程如式(5)所示如下:

當(dāng)模型參數(shù)為a=0.2,b=0.2,c=9.0,該系統(tǒng)為混沌系統(tǒng)。其吸引子如圖3所示。模型參數(shù)也可為任意其他使其呈現(xiàn)混沌狀態(tài)的值。

將δ,γs,γg分別賦值為其參數(shù)值域中的某個(gè)值作為式(5)的初始條件。迭代式(5),由狀態(tài)變量xl,X2,X3可得到3個(gè)隨機(jī)向量。由于該系統(tǒng)狀態(tài)變量之間互相影響,任意一個(gè)狀態(tài)變量的演化向量必然包含完整的系統(tǒng)信息。那么,可從每個(gè)向量中截取一個(gè)短序列作為參數(shù)δ,γs,γg的轉(zhuǎn)換序列,這些序列對(duì)部分狀態(tài)變量可見(jiàn)的系統(tǒng)是非常重要且必須的。
現(xiàn)在,必須有一個(gè)算法可以由這些短序列準(zhǔn)確估算出式(5)的初始條件,即δ,γs,γg。
2、初始條件估測(cè)算法
隨機(jī)從式(5)吸引子中選取(Xli,X2i,x3i)賦值給δ,γs,γg。其中,(Xli,X2i,X3i)的值必須分別落入δ,γs,γg的定義域內(nèi)。將這些數(shù)據(jù)作為式(5)的初始數(shù)據(jù)。將Eq(5)改寫(xiě)為三維自治混沌系統(tǒng)的矩陣形式,如式(6)所示。
![]()
x= (xl,X2,X3)T∈Rn為狀態(tài)向量。假設(shè)方程向量已知為F=(FI,F(xiàn)2,F(xiàn)3)T,初始狀態(tài)向量z(O)=(δ,γs,γg)丁,時(shí)間演化的狀態(tài)向量x(t)可以唯一確定。目標(biāo)是估算x(0)的值。
從短序列截取一個(gè)狀態(tài)變量的值(Xli,X2i,X3i)。不失一般性情況下,選擇狀態(tài)變量x1)。
令y(o)指代x(0)的初始猜測(cè)值,從式(6)獲取時(shí)間演化值y(t)。令e(t)指代誤差可得式(7),如下所示:
![]()
y(o)由x(l)演化得到且滿足e(t)=0。由混沌系統(tǒng)的時(shí)間演化序列由初始條件y(o)唯一確定的屬性可知,y(o)等價(jià)于x(0)。該方法是一種改進(jìn)的Newton-Raphson方法。
引入xn= x(nΔt)指代第N個(gè)樣本,Δt代表步長(zhǎng)。同理yn= y(nΔt)且:
![]()
令Δy0= x0-yo=e0那么,可得式(8),如下所示。
![]()
最后一步為AΔ0的泰勒公式的擴(kuò)展式。對(duì)于At值較小時(shí)可寫(xiě)為式(9),如下所示。
![]()
將式(9)帶入式(8)忽略高階部分得到式(10a),如式(10a)所示。

式(10a)的等價(jià)式可表示為式(10b),如下所示。
![]()
式(10b)的矩陣形式如式(11)所示。
![]()
E1是向量81相應(yīng)的列矩陣,I為單位矩陣,其元素可由式(12)得到。

同理,e2或E2可表示為式(13),如下所示。

由式(6)迭代n步得到矩陣誤差如式(14)所示。
![]()
令y10=x10,可由X1的序列得出x0=(x1(o),x2(o),x3(O)),其中Y2,Y3可以是任意猜測(cè)值。那么,y(t)的初始猜測(cè)向量為yo=(x0,rand, rand)。
這里e10=y10一x10,即△y10 =Oo由式(12-14)演化得到麗個(gè)方程用于計(jì)算△y20,△y30,如式(15)所示。

其中,E20和E30分別指代△y20,△y30,d為系統(tǒng)維數(shù),這里為3。
因此,初始猜測(cè)向量可以通過(guò)一步演化改進(jìn),如式(16)所示。
![]()
給出初始向量yo經(jīng)過(guò)幾次迭代過(guò)程yo會(huì)收斂至xo=δ,γs,γg。由式(15)可知,x1只有兩個(gè)樣本值,xl和砰已知并且用于整個(gè)過(guò)程。得到加密序列如式(17)所示。
![]()
(x10,x11,x12)是x1的由方程(6)以δ,γs,γg為初始條件迭代后的前三個(gè)樣本值。
三、加密實(shí)例
1、加密
假設(shè)Rossler系統(tǒng)第n次迭代的狀態(tài)向量數(shù)據(jù)如式(18)所示。

使用上面的數(shù)據(jù)作為初始條件,可得到X1的演化序列。最初得到的序列可由式(19)表示。

由式(18)可知,這三個(gè)元素中沒(méi)有任何一個(gè)值落在δ,γs,γg的參數(shù)值域中。事實(shí)上,由于數(shù)據(jù)是隨機(jī)選取的,要使三個(gè)元素值分別落在相應(yīng)的參數(shù)值域中是非常困難且不必要的。可通過(guò)式(20)的簡(jiǎn)單轉(zhuǎn)換得到所需的值。

通過(guò)相似轉(zhuǎn)換可以落入δ,γs,γg參數(shù)值域的數(shù)據(jù)并不唯一,其轉(zhuǎn)換方式也不唯一。
令杜芬系統(tǒng)的小周期軌道的初始條件為γs=0.2,xs (0) =12013,γg(0)=-0.0849,對(duì)應(yīng)的極大周期軌道為γg=1.5,xg (O)=2.032 6,yg(O)=-0.8931。初始值也可以是其它任意落在相應(yīng)軌道上的值。為了說(shuō)明簡(jiǎn)便,加密一個(gè)8位的數(shù)字序列,如式(21)所示。
![]()
值為“1”時(shí),將其映射至極大周期軌道;反之,值為“0”時(shí),映射至小周期軌道。加密后的序列為:

為獲取δ,γs,γg的值,必須在解密端提供x的短序列值。因此,最終得到加密序列如式(23)所示。
![]()
該加密序列中,不僅數(shù)據(jù)由不同系統(tǒng)和不同的周期軌道獲得,而且每個(gè)周期軌道上的坐標(biāo)值都是完全隨機(jī)的。
2、解密
首先計(jì)算當(dāng)a=0.2,b=0.2,c=9.0時(shí),式(5)的參數(shù)δ,γs,γg的值。式(23)中code_kpara部分為Rossler系統(tǒng)的狀態(tài)變量xl的樣本序列。假設(shè)δ,γs,γg原始猜測(cè)值如式(24)所示。
![]()
代入式(16),得到迭代結(jié)果如下圖:

分析表1可知,y0快速且穩(wěn)定的收斂。將最后得到的值代入式(20)得到式(25)。
![]()
通過(guò)確定式(23)中每對(duì)坐標(biāo)數(shù)據(jù)所在的軌道,可解密得到原始數(shù)字?jǐn)?shù)列。解密序列01101010,為原始序列。實(shí)驗(yàn)表明,即使周期軌道初始條件的估測(cè)誤差為10-16,解密也會(huì)失敗。例如,當(dāng)ys (O)=-0.893 100 000 000 000 1,解密序列將會(huì)是00001010。同理,周期軌道的參數(shù)誤差為10-14,解密也將失敗。例如,當(dāng)ys=1500 000 000 000 01,因?yàn)閍,b,c的估測(cè)值都是錯(cuò)的,解密后的序列為0000。
小知識(shí)之線性系統(tǒng)
線性系統(tǒng)是狀態(tài)變量和輸出變量對(duì)于所有可能的輸入變量和初始狀態(tài)都滿足疊加原理的系統(tǒng)。一個(gè)由線性元部件所組成的系統(tǒng)必是線性系統(tǒng)。但是,相反的命題在某些情況下可能不成立。線性系統(tǒng)的狀態(tài)變量(或輸出變量)與輸入變量間的因果關(guān)系可用一組線性微分方程或差分方程來(lái)描述,這種方程稱為系統(tǒng)的數(shù)學(xué)模型。










