趙 耿,張森民,馬英杰
(北京電子科技學院,北京 100071)
混沌具有十分豐富的動力學特性,近年來受到了國內(nèi)外學者的廣泛研究,也在多個領域得到了應用。因為混沌的特性和密碼學的安全要求有許多相似點,如混沌具備初值條件敏感性、不可預測性、遍歷性等特點,與密碼學所要求的混亂性、擴散性和密鑰不可預測性相似,所以將混沌運用于密碼學具有十分廣闊的前景[1-2]。然而混沌系統(tǒng)一旦運用在計算機等有限精度的設備上時,會發(fā)生動力學性能的退化現(xiàn)象。原來具有的遍歷性、不可預測性均不復存在,取而代之的是系統(tǒng)的數(shù)據(jù)值只能取在有限范圍內(nèi),數(shù)據(jù)會進入周期循環(huán)軌道或不動點。這種退化行為導致基于混沌系統(tǒng)構建的密碼體制存在安全風險。所以數(shù)字混沌系統(tǒng)的退化行為是混沌密碼走向?qū)嶋H使用的一大障礙,也是亟需解決的問題之一[3-6]。
近些年針對數(shù)字混沌系統(tǒng)的退化問題,國內(nèi)外主要有以下五種抗退化的方法[7-9]:①提高精度法,依靠提高計算機的精度會加大計算成本,并且退化現(xiàn)象依然存在;②級聯(lián)法:將兩個或兩個以上的混沌系統(tǒng)先后級聯(lián)在一起,上一系統(tǒng)的輸出作下一個系統(tǒng)的輸入;③切換法:切換使用多個混沌系統(tǒng),也可切換單一混沌系統(tǒng)的不同初始狀態(tài);④擾動法:構造擾動函數(shù),對混沌系統(tǒng)迭代過程進行一定的干預控制;⑤誤差補償法:在數(shù)字混沌系統(tǒng)的每一次迭代中都引入一個誤差補償值,該值來自于系統(tǒng)本身。擾動法能有效地改善混沌系統(tǒng)在有限精度條件下動力學性能的退化問題,該方法的基本思想是,使用某些系統(tǒng)作擾動源,利用其生成的序列,來對數(shù)字混沌系統(tǒng)的迭代過程進行擾動。Liu等人[10]使用可變函數(shù)來替代狀態(tài)變量;Chen等人[11]提出了一種基于偽隨機序列的動態(tài)攝動-反饋混合控制方法;Lahcene Merah等人[12]提出了一種不需要外部發(fā)生器對混沌軌道進行擾動的的新擾動方法,具有自攝動機制;Jun等人[13]提出了一種在有限計算精度范圍內(nèi)構造高維數(shù)字混沌系統(tǒng)的新方法;Cao等人[14]提出了一種基于帳篷映射Lyapunov指數(shù)的擾動方案;Liu等人[15]提出了一種同時擾動輸入和控制參數(shù)的方法。上述方法均使得混沌周期得以延長,取得了較好的抗退化效果。
擾動法的擾動源一般包含偽隨機序列、數(shù)字混沌系統(tǒng)和模擬混沌系統(tǒng),利用偽隨機序列或數(shù)字混沌系統(tǒng)做擾動源,會導致擾動信號不均勻分布,從而使系統(tǒng)容易受到非線性預測技術攻擊。模擬混沌系統(tǒng)具有更復雜的相空間分布,許多學者將模擬-數(shù)字混合的方法用于解決數(shù)字混沌系統(tǒng)的動態(tài)退化問題[9,15]。擾動法的擾動對象一般有系統(tǒng)的參數(shù)、輸入和輸出,對數(shù)字系統(tǒng)的控制參數(shù)進行擾動能使軌道周期變長,但是不能使數(shù)據(jù)的非均勻分布得到有效改善,擾動其輸入或輸出可以使數(shù)據(jù)分布得更加均勻。因此,本文結合單獨擾動某一對象的優(yōu)勢,首次提出對一維Chebyshev混沌系統(tǒng)的全部擾動對象進行擾動的方法,使Chebyshev映射表達式的每一個部分都被擾動源所影響。同時,利用模擬的三維Lorenz混沌系統(tǒng)生成三個擾動函數(shù),用單一擾動源完成對三個對象的擾動。一定意義上,該方法通過擾動法構建了一個融合的混沌系統(tǒng),不僅有效地延長了數(shù)字混沌系統(tǒng)的周期,使數(shù)據(jù)分布情況比模擬狀態(tài)更好;還大大提升了密鑰空間,具備運用到其它系統(tǒng)的通用性,可以說具有廣闊的研究前景。
模擬混沌系統(tǒng)具備良好的動力學特性,如初值敏感性、不可預測性和遍歷性等特點。在計算機等數(shù)字器件上實現(xiàn)混沌系統(tǒng)時,由于計算精度總是有限的,混沌系統(tǒng)的迭代值只能取到有限精度范圍,關于數(shù)字混沌系統(tǒng)的退化原因的數(shù)學描述如下
給定一個離散時間混沌系統(tǒng)的迭代方程
X(i+1)=F(X(i))
(1)
式中X(i)∈Ω?Rm是狀態(tài)向量。F:Ω→Rm是混沌系統(tǒng)的迭代函數(shù)。理論上,混沌系統(tǒng)的迭代值具有不可遍歷性,但是在P比特的有限精度設備上實現(xiàn)時,其所有的值都會被離散化,系統(tǒng)的數(shù)值軌道也會被限制在有限狀態(tài)集ΩL中
(2)
所以式(1)也將退化成如下數(shù)字混沌系統(tǒng)
X*(i+1)=F(X*(i))=BL°F(X*(i))
(3)
或
(4)
式中,BL:Ω→ΩL是量化函數(shù),可看作每一次迭代前都對輸入值做了一次量化處理,并且在所有計算算法中有三種最常用的量化形式[15]:
1)floorL(x)=?x·2L」/2L,?x」表示不超過x的最大整數(shù);
2)roundL(x)=round(x·2L)/2L,round(x)表示對x進行四舍五入取整;
3)ceilL(x)=「x·2L?/2L,「x?表示不小于x的最小整數(shù),x是一個實數(shù)或向量。
本文所提方法是利用模擬Lorenz混沌映射來擾動一維數(shù)字Chebyshev映射,下面分別對兩個混沌映射進行分析。
2.1.2 Chebyshev混沌映射
Chebyshev混沌映射是目前較常用的混沌映射之一,輸出混沌序列狀態(tài)值的分布特性良好,而且狀態(tài)值之間的自相關性很低[14],可選取作為受擾混沌系統(tǒng)。Chebyshev映射公式如下
X(i+1)=cos(β·cos-1X(i))
(5)
其中β為系統(tǒng)參數(shù),X(i)和X(i+1)為第i次迭代的輸入和輸出值。β>2時系統(tǒng)呈現(xiàn)出混沌特性,圖1是系統(tǒng)參數(shù)為8,初值為0.25,迭代10000次的模擬Chebyshev混沌吸引子圖,模擬狀態(tài)下吸引子圖像類似于三角函數(shù)的波形,數(shù)值的取值范圍為[-1,1]。
圖1 Chebyshev混沌映射吸引子
Chebyshev映射的概率密度為
(6)
(7)
當Chebyshev映射產(chǎn)生無窮多狀態(tài)值時,其數(shù)學期望為0,表明在相空間分布上是穩(wěn)定的平衡狀態(tài),具有良好的性能[15]。
2.1.2 Lorenz混沌映射
Lorenz混沌系統(tǒng)的狀態(tài)方程為
(8)
在參數(shù)選取滿足條件σ=16,b=4,r=45.92時系統(tǒng)處于混沌狀態(tài)。
Lorenz系統(tǒng)原本是模擬的,但計算機無法處理模擬系統(tǒng),所以需要將其進行離散化處理,如下采用Euler算法,取采樣時間T=0.002,得到方程如下
(9)
Lorenz系統(tǒng)的吸引子如圖2所示,x(i)的取值范圍為(-30,30)、y(i)的取值范圍為(-40,40.75),z(i)的取值范圍為(0,72.14),三個分量的取值范圍都很廣,因此可以用來用作擾動序列。
圖2 Lorenz混沌映射的吸引子
結合Chebyshev函數(shù)的特性和Lorenz函數(shù)的特性,提出擾動全部擾動對象的方法,擾動方案如圖3所示。
圖3 擾動方案流程圖
該方案的具體步驟為:
步驟1:先迭代Lorenz混沌映射,即對式(8)設置初值x(0)=1,y(0)=1,z(0)=1,系統(tǒng)參數(shù)設為σ=16,b=4,r=45.92,迭代1000次生成的三個混沌序列采樣,得到三個離散的混沌序列{x},{y},{z}。再對Chebyshev混沌映射,即式(5)也賦初值X(0)=0.25,系統(tǒng)參數(shù)β=8。
步驟2:構建擾動控制參數(shù)和輸入的表達式,具體方法為,將{x}序列用于構建擾動參數(shù)表達式,將{z}序列用于構建擾動輸入的表達式,擾動表達式如下所示
(10)
其中,Q(i)為擾動參數(shù)的變量,W(i)為擾動輸入的變量,mod(*,1)表示對括號內(nèi)數(shù)值取模1運算。其中,擾動參數(shù)的變量Q(i)由改進前系統(tǒng)的輸入值X(i)與擾動序列{x}的值相加后模1處理,再加上常數(shù)值8得到;擾動輸入的變量W(i)只需要將輸入值X(i)與擾動序列{z}的值相加后模1處理。
接下來,再將準備好的擾動變量分別代入式(5),用Q(i)替換參數(shù)β,W(i)替換輸入值X(i)。得到新的Chebyshev映射表達式
X(i+1)=cos[Q(i)arccos(W(i))]
(11)
步驟3:用{y}序列擾動Chebyshev函數(shù)的輸出,改進后系統(tǒng)完整的輸出表達式為
X′(i+1)=mod[X(i+1)+y(i),-1]+
mod[X(i+1)+y(i),1]
=mod[cos[W(i)arccos(Q(i))]+y(i),-1]+
mod[cos[W(i)arccos(Q(i))]+y(i),1]
(12)
利用上一步中的輸出值X(i+1)與擾動序列{y}的值相加,然后再分別對該值進行模1和-1的操作,最后將這兩個值相加得到擾動輸出的表達式。
步驟4:分析系統(tǒng)運用在計算機等有限精度設備上的情況,因為存在有限精度效應,所以每一步迭代都要考慮數(shù)據(jù)值的范圍。擾動表達式如式(13),改進的Chebyshev映射表達式如式(14),擾動輸出后系統(tǒng)表達式如式(15)
(13)
X(i+1)=BP{cos[W(i)arccos(Q(i))]}
(14)
X′(i+1)
=Bp[mod(X(i+1)+y(i),-1)]
+BP[mod(X(i+1)+y(i),1)]
=Bp{mod[Bp[cos[W(i)arccos(Q(i))]]+y(i),-1]}
+Bp{mod[Bp[cos[W(i)arccos(Q(i))]]+y(i),1]}
(15)
其中BP:Ω→ΩP是一個量化函數(shù),如第2.1節(jié)所述,混沌系統(tǒng)的表達式可看作每一次迭代都對輸入值做了一次量化處理。因此,假設是P比特精度情況下,要在每一個混沌方程中引入量化函數(shù)。
此處三個分量{x},{y},{z}與擾動對象還可以任意進行組合,一共有6種排列組合方式,均能得到與本文類似的性能。因此,若系統(tǒng)應用在密碼學中,在不改變系統(tǒng)結構的情況下,還可以使系統(tǒng)的密鑰量得到擴展。
該方法融合了對系統(tǒng)參數(shù)的擾動、對系統(tǒng)輸入值的擾動和對系統(tǒng)輸出值的擾動,結合了以往單獨擾動某一對象所具備的優(yōu)點。Chebyshev混沌映射的表達式的每一個部分都被Lorenz映射所影響,擾動源Lorenz映射無論初值還是分量的改變,都將使系統(tǒng)最終的輸出結果產(chǎn)生巨大改變。
本節(jié)將分析改進系統(tǒng)在低有限精度情況下的抗退化效果,首先,設置系統(tǒng)的計算精度為8位,使表達式(5)和表達式(15)的初值和系統(tǒng)參數(shù)保持一致。然后,再對兩個系統(tǒng)迭代500次,分別記錄混沌軌跡圖。數(shù)字Chebyshev混沌系統(tǒng)的軌跡在迭代幾次后便退化為周期軌跡,如圖4;但使用本文改進的系統(tǒng)之后,短周期現(xiàn)象就消失了,軌跡圖在迭代500次以上仍然表現(xiàn)出雜亂無序的特征,如圖5。因此,本文改進的系統(tǒng)極大地延長了原系統(tǒng)的周期,抗退化效果十分明顯。
圖4 數(shù)字Chebyshev映射軌跡圖
圖5 本文改進系統(tǒng)的軌跡圖
混沌系統(tǒng)具有的顯著特征之一便是初值敏感性,即對同一個混沌系統(tǒng)而言,兩個初始輸入值即使差別特別微小,在若干次迭代后,二者的軌跡也會變得完全不一樣。在這里,保持Lorenz映射的初值和系統(tǒng)參數(shù)不變,僅對Chebyshev映射的初值進行微小的改變,分別賦初值0.25和0.25000003。記錄下運動軌跡如圖6,大約在第10次迭代后,二者的軌跡變得完全不一樣,說明該混沌系統(tǒng)具備初值敏感性。
圖6 初值敏感性分析圖
近似熵是用來衡量時間序列復雜度和穩(wěn)定性的指標,近似熵的值越大,說明該序列越復雜,復雜程度也越穩(wěn)定。圖7是對不同系統(tǒng)近似熵值進行的對比圖,橫軸表示計算精度,縱軸表示近似熵值。與改進前的系統(tǒng)對比,可以發(fā)現(xiàn)改進后的系統(tǒng)不僅大幅提高了數(shù)字Chebyshev系統(tǒng)的近似熵值,而且在低于24bit精度情況下也能維持在一個較高水平,因此,系統(tǒng)在精度較低的情況下依然具備實用性能。與近年來的擾動方法對比,本文改進系統(tǒng)的近似熵值幾乎都大于2,比文獻[10.14.15]中的近似熵值更高,說明本文改進方案生成的序列復雜程度更高。
圖7 近似熵對比分析圖
混沌吸引子是衡量混沌系統(tǒng)復雜度的指標之一,模擬混沌系統(tǒng)的吸引子呈連續(xù)性,數(shù)字混沌系統(tǒng)的吸引子呈點狀分布。數(shù)字混沌系統(tǒng)的吸引子分布得越隨機、越均勻,說明混雜效果越好。下面對不同系統(tǒng)迭代5000次的吸引子圖進行了對比,圖8(a)是模擬Chebyshev映射的吸引子圖;圖8(b)是在8bit精度情況下,數(shù)字Chebyshev映射的吸引子圖;圖8(c)是文獻[15]的吸引子圖;圖8(d)是本文提出的方法的吸引子圖。通過對比可以很明顯地看出,在低有限精度情況下,數(shù)字Chebyshev映射的吸引子僅分布在幾個固定的點上,文獻[15]的改進結果也有向四周聚集的情況,并不十分均勻,而本文的方案不僅大大改善了原始系統(tǒng)的吸引子的分布情況,還使其隨機地分布在數(shù)值空間內(nèi)。隨著迭代次數(shù)的增加,吸引子依然具備均勻分布的特點,而且?guī)缀跄芊植妓袛?shù)值點。
圖8 吸引子對比圖
圖9 頻率分布統(tǒng)計對比圖
頻率分布直方圖反映的是數(shù)值出現(xiàn)的頻率,統(tǒng)計結果越平均,則統(tǒng)計特性越好。下面在相同條件下對不同系統(tǒng)的頻率分布做了比較。圖9(a)是模擬Chebyshev映射輸出序列的頻率分布圖;圖9(b)是在8bit精度情況下數(shù)字Chebyshev映射的頻率分布圖;圖9(c)是文獻[15]方法改善后的頻率分布圖;圖9(d)是本文改進系統(tǒng)的頻率分布圖。通過對比,可以明顯看出低有限精度情況下的Chebyshev映射序列值只分布在個別數(shù)值上,其余值的頻率均為0;文獻[15]方法改善序列值的頻率分布在-1和1兩端出現(xiàn)的頻率值還比較大,而本文改進方案使所有值的出現(xiàn)頻率幾乎一致,比模擬狀態(tài)更加均勻。
自相關函數(shù)體現(xiàn)的是針對同一個序列,在一個時刻的值與另一時刻的值的相互關聯(lián)程度。圖10(a)是原始模擬系統(tǒng)的自相關圖;圖10(b)是8bit精度情況下數(shù)字Chebyshev映射的自相關圖;圖10(c)和(d)分別是文獻[15]的方法和本文方法的結果??梢园l(fā)現(xiàn)低有限精度情況下的Chebyshev映射自相關性很強,輸出序列安全程度不高,而本文改進方案可以使數(shù)字Chebyshev混沌映射自相關性大幅降低,恢復其在模擬情況下的自相關特性。
圖10 自相關函數(shù)對比圖
本文首次提出對數(shù)字Chebyshev混沌系統(tǒng)的全部擾動對象進行擾動的方法,使映射表達式的每一部分,包括控制參數(shù)、輸入和輸出,均與各自的擾動序列相關。同時,對改進系統(tǒng)的近似熵、吸引子和數(shù)據(jù)頻率分布等特性進行了對比分析,實驗結果表明,該方案能有效延緩數(shù)字Chebyshev混沌系統(tǒng)的退化,在低有限精度情況下不僅大大延長了周期,還使系統(tǒng)的動力學性能得到提高,在數(shù)值分布方面比模擬狀態(tài)下的性能更好。如果應用于密碼學中,該系統(tǒng)的三個擾動序列與擾動對象可以任意組合,能夠增大密鑰空間。此外,本文所提的擾動方案還具備三維混沌系統(tǒng)擾動一維數(shù)字混沌系統(tǒng)的通用性,使改進后的一維混沌系統(tǒng)具有較好的動力學特性,在低有限精度情況下依然適用,因此在混沌保密通信等領域具有潛在的應用價值。