張雪鋒,劉偉東,姜 文
(1.西安郵電大學 網(wǎng)絡空間安全學院,陜西 西安 710121;2.國家計算機網(wǎng)絡應急技術處理協(xié)調(diào)中心,北京 100029)
隨著網(wǎng)絡信息技術的迅速發(fā)展,大量的信息在網(wǎng)絡上傳播[1],帶來了隱私和機密泄露等數(shù)據(jù)安全問題。為此,提出了眾多信息加密算法。其中,混沌在信息加密中有著重要的應用。
混沌是指在非線性動態(tài)系統(tǒng)中,不添加任何隨機因素,由系統(tǒng)內(nèi)部相互作用而產(chǎn)生的一種類隨機現(xiàn)象[2]。混沌系統(tǒng)具有初值敏感性[3]、偽隨機性[4]和遍歷性[5]等性能,使得當混沌系統(tǒng)應用于加密算法時具有較好的雪崩效果[6]、安全性[7]和更大的密鑰空間[8]。這些特點導致混沌系統(tǒng)成為加密算法的重要工具之一。
數(shù)字混沌系統(tǒng)可以分為一維混沌系統(tǒng)和高維混沌系統(tǒng)兩類[9]。高維混沌系統(tǒng)具有更復雜的混沌特性,更大的混沌區(qū)間和密鑰空間,更高維度的遍歷性等特點[10],但是,計算復雜度和實現(xiàn)成本比較高,限制了其實際應用[11]。相比之下,一維混沌系統(tǒng)的結構更加簡單、計算成本較低,更加易于硬件實現(xiàn)。一些經(jīng)典的一維混沌系統(tǒng)如Logistic、Sine、Cubic、分段線性混沌映射(Piecewise Linear Chaotic Mapping,PWLCM)和Tent等已經(jīng)應用于相關的加密方案設計中[12-13]。但是,傳統(tǒng)的一維混沌系統(tǒng)的初值敏感性和序列隨機性較差[14],混沌區(qū)間和密鑰空間較小[15],導致其應用在加密算法中的安全性較低[15]。
針對經(jīng)典一維混沌系統(tǒng)安全性能較差的問題,有研究提出,在將一維混沌系統(tǒng)應用到加密方案的設計之前,先對一維混沌系統(tǒng)實施改進,改善其混沌特性,進而將其應用于加密算法中,以提升加密算法的安全性等性能[16]。例如,文獻[11]提出了一種級聯(lián)混沌系統(tǒng)(Cascade Chaotic System,CCS)框架,將任意兩個一維混沌映射復合起來,第一個混沌映射的輸出作為第二個的輸入,第二個的輸出又反饋到第一個作為輸入進行循環(huán)迭代,從而將任意兩個映射級聯(lián)成為一個新的映射,然而,這種方法只有當兩個混沌映射均具有較大的Lyapunov正值時,級聯(lián)后的映射才會表現(xiàn)出更復雜的混沌特性。另外,如果多個混沌映射進行級聯(lián)操作,會增高計算成本,導致硬件難以實現(xiàn)等問題。文獻[17]提出了一種輪開關轉化系統(tǒng),通過控制密鑰選取混沌映射,這種改進能夠有效提高加密算法的安全性,但是,設計合適且高效的輪式開關轉化系統(tǒng)較為復雜。文獻[18]提出了一種組合混沌系統(tǒng),將Logistic、Sine、Tent等3種一維映射進行組合,并通過控制參數(shù)取值范圍,然后進行加法和取模操作,進而構造出新的一維混沌系統(tǒng),這種構造方式改善了混沌區(qū)間小、混沌區(qū)間不連續(xù)等問題,但是,系統(tǒng)的Lyapunov值較低。文獻[19]提出了一種級聯(lián)組合的方式來改造底層的一維映射,將Logistic、Sine、Tent等3種一維映射的任意一種作為一級的輸入,然后在3種映射中任選兩種映射進行級聯(lián)后再組合,取模得到混沌映射,該方案改善了混沌序列隨機性差、混沌區(qū)間小等問題,但是系統(tǒng)的初值敏感性較低。文獻[20]提出一種復合混沌系統(tǒng)(Integrated Chaotic System,ICS-I)結構模型對Logistic、Sine和Tent映射進行級聯(lián)組合,得到的新映射比僅通過級聯(lián)操作得到映射的Lyapunov值大,但是,存在混沌區(qū)間不連續(xù),初值敏感性低的問題[21]。文獻[21]提出了一種復合混沌系統(tǒng),用一個子映射的輸入去擾動主映射的輸出,然后再和子映射相加取模得到新的映射,利用乘法器使得狀態(tài)變量在相空間中的分布更好,但是,該方法混沌區(qū)間小,當混沌系統(tǒng)參數(shù)取值較小時,初值敏感性較差,另外,還存在系統(tǒng)框架對于映射的選取不夠靈活等問題。
針對文獻[20]存在的混沌區(qū)間不連續(xù)、初值敏感性低以及文獻[21]存在的混沌區(qū)間小等問題,擬在文獻[20]和文獻[21]的基礎上提出一種改進的復合混沌系統(tǒng),應用Logistic映射和Sine映射作為種子映射,通過擴展系統(tǒng)參數(shù)對種子映射進行隨機地復合和組合,取模得到混沌映射,以擴大混沌區(qū)間,提升初值敏感性,擴展系統(tǒng)參數(shù)個數(shù),改善混沌區(qū)間不連續(xù)問題,生成隨機性較好的混沌序列。
主要介紹Logistic映射和Sine映射兩種傳統(tǒng)的一維混沌映射,以及文獻[20]和文獻[21]提出的兩種構造一維復合混沌系統(tǒng)的方法。
Logistic映射是一種經(jīng)典的一維混沌映射[10],其結構簡單,在多種圖像加密中得以應用。Logistic映射的定義[10]為
xn+1=μxn(1-xn)
(1)
式中:初始值x0∈(0,1);控制參數(shù)μ∈[0,4],當3.569 9…<μ≤時,系統(tǒng)處于混沌狀態(tài)。
Sine映射同樣作為一種經(jīng)典的一維混沌映射[10],其定義[10]為
(2)
式中:初始值x0∈(0,1);混沌系統(tǒng)控制參數(shù)μ∈[0,4],當μ在區(qū)間(3.48,3.72)和(3.8,4)之內(nèi)時,系統(tǒng)處于混沌狀態(tài)。
文獻[20]和文獻[21]分別以Logistic、Sine和Tent等3種一維映射構建一維復合混沌系統(tǒng)。
文獻[20]提出的ICS-I系統(tǒng)可以表示為
xn+1=(F(G(xn))+H(xn))(mod 1)
(3)
式中,F(xiàn)(xn)、G(xn)和H(xn)分別為Logistic、Sine、Tent映射中的任意一種。
文獻[21]提出的一維復合混沌系統(tǒng)可以表示為
xn+1=((fmain·(fseed(xn))+fseed(xn))·r)(mod 1)
(4)
式中:系統(tǒng)參數(shù)r∈[0,4];主映射fmain(xn)和子映射fseed(xn)分別為經(jīng)典一維混沌映射Logistic、Sine和Tent映射中的任意一種。
Logistic映射和Sine映射雖然結構簡單,但混沌區(qū)間小,容易被窮舉攻擊,安全性低。文獻[20]的一維復合混沌系統(tǒng)的混沌區(qū)間不連續(xù),文獻[21]的一維復合混沌系統(tǒng)的混沌區(qū)間較小。
為了改善Logistic映射和Sine映射的動力學特性,受到文獻[20]和文獻[21]一維復合混沌系統(tǒng)的啟發(fā),擬提出一種一維復合混沌系統(tǒng)構建方法。該方法的主要思想是利用一個混沌映射的輸入,擾動另外一個混沌映射的輸出,看似只用到了兩個混沌映射,實際上該混沌映射的最終輸出序列受到3個混沌映射的動力學特性的影響。
提出的一維復合混沌系統(tǒng)可以表示為
xn+1=((μa·F(G(xn))+
(ca-μa)·F(xn))·μb)(mod 1)
(5)
式中:+和·分別表示浮點加法和乘法;(mod 1)運算是保證生成的序列位于(0,1)之間;混沌系統(tǒng)參數(shù)a∈[8,10],b∈[0,2],c∈(4,6],μ∈[0,4];F(xn)和G(xn)分別表示Logistic和Sine映射的任意一種。
該方法將級聯(lián)算子隨機作用于F(xn)和G(xn),在此基礎上,對于F(G(xn))和F(xn)采用了加法和模的組合算子。F(xn)和G(xn)組合條件為,兩個混沌系統(tǒng)的控制參數(shù)取值范圍相同并且相空間也相同。
為了增強系統(tǒng)結構的靈活性,在構造映射的過程中,并不嚴格的區(qū)分主映射和子映射。改變F(xn)和G(xn)的順序,對F(xn)和G(xn)進行隨機選取復合和組合就能夠生成不同的混沌映射,這種復合方式構造新映射的選擇機會更多。
選取Sine和Logistic這兩種映射作為種子映射,通過復合和組合相結合來構造如下4種一維復合混沌映射。
1)S(L)+L映射,其表達式為
(6)
式中:n為迭代次數(shù);混沌系統(tǒng)參數(shù)a∈[8,10],b∈[0,2],c∈(4,6],μ∈[0,4]。
2)S(L)+S映射,其表達式為
(7)
3)L(S)+L映射,其表達式為
(8)
4)L(S)+S映射,其表達式為
(9)
為了驗證所提復合混沌系統(tǒng)的性能,使用Matlab 2019進行仿真。采用Lyapunov指數(shù)、分岔圖、序列隨機性、相關系數(shù)、平衡度、初值敏感性和位變化率等常用的測試指標[22-23]仿真復合混沌映射的性能,并與文獻[20]和文獻[21]提出的映射性能進行對比。選擇的測試指標中:Lyapunov指數(shù)和分岔圖反映了映射是否具有混沌行為以及混沌區(qū)間;序列隨機性、相關系數(shù)和平衡度反映了產(chǎn)生混沌序列的隨機性能;初值敏感性和位變化率反映了映射的初值敏感性。
分岔圖可以直觀反映混沌映射的混沌區(qū)間,其是檢驗一個系統(tǒng)是否具有混沌行為的重要指標。分岔圖中陰影區(qū)域?qū)煦鐓^(qū)域,利用混沌系統(tǒng)的分岔圖可以直觀地反映系統(tǒng)的混沌區(qū)間[22]。提出的4種復合混構造的4種映射性能相近,以S(L)+L映射為例,通過分岔圖對除μ外的系統(tǒng)參數(shù)a,b,c的混沌范圍進行仿真。S(L)+L映射不同參數(shù)的分岔圖如圖1所示。圖中的陰影部分對應區(qū)域為混沌區(qū)域。從圖1可以看出,在3個系統(tǒng)參數(shù)取值范圍內(nèi),S(L)+L映射進入了混沌狀態(tài),表明在此范圍內(nèi)構造映射具有隨機性。
圖1 S(L)+L映射不同參數(shù)的分岔圖
Lyapunov指數(shù)值能夠有效地反映當變量值發(fā)生變化時,系統(tǒng)對于初始值的敏感性。李雅普諾夫指數(shù)(Lyapunov Exponent,LE)值大于0時的序列被稱為混沌序列[22]。
構造4種映射的Lyapunov指數(shù)仿真結果如圖2所示。從圖中可以看出,當μ∈[0.1,4]時,4種映射的LE值始終大于0,并且沒有奇異點的出現(xiàn),說明當μ∈[0.1,4]時,提出的4種混沌映射均處于穩(wěn)定的混沌狀態(tài)。
圖2 4種映射的Lyapunov指數(shù)仿真結果
參數(shù)在μ∈[0.1,4]的范圍內(nèi),提出的4種復合混沌映射的分岔圖如圖3所示??梢钥闯?,當μ∈[0.1,4]時,4種映射開始出現(xiàn)混沌現(xiàn)象,并且處于穩(wěn)定的混沌狀態(tài),表現(xiàn)出復雜的混沌行為。
圖3 4種映射的分岔圖
文獻[20]利用ICS-I復合結構生成的一維復合混沌映射有12種,這些映射的混沌區(qū)間均不連續(xù)。為了方便展示,選取其中的LT-L映射和LS-S映射作為例子進行展示。文獻[20]中的LT-L映射和LS-S映射的分岔圖如圖4所示。從圖中可以看出,文獻[20]中的LT-L和LS-S兩種映射的混沌區(qū)間均不連續(xù),說明該映射的混沌狀態(tài)不夠穩(wěn)定。當該兩種映射被應用于圖像加密過程中時,容易受到密鑰窮舉的攻擊。
圖4 文獻[20]中兩種映射的分岔圖
文獻[21]提出的復合混沌映射有兩種,分別是TLT和TST映射。文獻[21]中兩種映射的分岔圖如圖5所示。從圖中可以看出,當μ∈[1.05,4]時,文獻[21]提出的TLT映射和TST映射出現(xiàn)混沌現(xiàn)象,處于穩(wěn)定的混沌狀態(tài),表現(xiàn)出復雜的混沌行為。
圖5 文獻[21]中兩種映射的分岔圖
對比圖3、圖4和圖5可以發(fā)現(xiàn),所提的復合混沌映射混沌區(qū)間為μ∈[0.1,4],改善了文獻[20]混沌區(qū)間不連續(xù)的問題以及文獻[21]混沌區(qū)間小的問題,使用所提的混沌映射設計加密方案時,映射能夠更快地進入穩(wěn)定的混沌狀態(tài),另外,混沌區(qū)間的增大可以有效地抵抗密鑰窮舉攻擊,算法的安全性也就相應提高。
混沌的隨機性衡量其不可預測性,隨機性越強混沌系統(tǒng)的保密性能越好。所提4種映射性能接近,文獻[20]和文獻[21]提出復合混沌映射的性能也各自比較相近。因此,為了方便結果展示,接下來,以所提出的S(L)+L映射為例,與文獻[20]提出的LS-S映射和文獻[21]提出的TLT映射進行隨機性的仿真比較。
3.4.1 頻數(shù)檢驗
將混沌序列經(jīng)二值化處理得到二值序列。頻數(shù)檢驗可以確保該序列里出現(xiàn)0和1的次數(shù)接近一致,其計算公式[23]為
(10)
式中:n1表示序列中1出現(xiàn)的次數(shù);n0表示序列中0出現(xiàn)的次數(shù);n表示生成的序列長度。
序列長度是10 000,對S(L)+L映射、TLT映射以及LS-S映射生成的序列進行頻數(shù)檢驗,仿真結果如表1所示。
表1 3種混沌二值序列頻數(shù)檢驗結果
3.4.2 隨機性分布
設置混沌映射的初始值x0=0.40,序列長度取3 000,在系統(tǒng)參數(shù)μ的不同取值的條件下,文獻[20]的LS-S、文獻[21]的TLT和所提S(L)+L映射生成序列的隨機分布圖如圖6所示。
從圖6可以看出,當系統(tǒng)參數(shù)μ分別取4、3.7和1.05時,提出的S(L)+L映射生成序列均在整個(0,1)區(qū)間內(nèi)有著近似均勻的隨機性分布,而文獻[20]提出的LS-S映射和文獻[21]提出的TLT映射在μ取值不同的情況下,其生成序列有時候會位于(0,1)之間的中間區(qū)域,說明提出的S(L)+L映射在參數(shù)μ取值不同的情況下有著更好的隨機性。
圖6 3種映射生成的序列隨機分布圖
自相關系數(shù)和互相關系數(shù)是兩個評價序列隨機性的常用的統(tǒng)計指標。當其他參數(shù)改變時,序列自相關系數(shù)的變化越小,說明序列的隨機性能越好;序列的互相關系數(shù)均越接近于0,說明序列的隨機性能越好[23]。接下來,利用自相關系數(shù)和互相關系數(shù)指標來對比文獻[20]的LS-S映射、文獻[21]TLT映射和所提S(L)+L映射生成序列的隨機性能。
3.5.1 自相關性
設定3映射的初始值x0=0.40,生成序列長度均為10 000。文獻[20]的LS-S映射、文獻[21]的映射TLT和所提S(L)+L映射生成的二值序列的自相關性分析結果如圖7所示。
圖7 3種映射二值序列自相關性仿真結果
自相關系數(shù)值與步長參數(shù)有關,當步長參數(shù)改變時,若自相關系數(shù)的改變越小,則證明二值序列的隨機性能越好。從圖7可以看出,當步長不為0時,LS-S映射的自相關系數(shù)位于0的上方,而TLT映射和S(L)+L映射的自相關系數(shù)均在0的附近且無限逼近,說明相比于LS-S映射,TLT映射和S(L)+L映射產(chǎn)生的二值序列有著更好的自相關性,其對應的二值序列隨機性能更好。
3.5.2 互相關性
考查文獻[20]的LS-S映射、文獻[21]的TLT映射和所提S(L)+L映射生成序列的互相關性。互相關系數(shù)越逼近0,序列的隨機性能越理想。設定3種映射的序列長度均為10 000,序列的初始值分別為0.4和0.5。當序列的初始值發(fā)生變化時,3種映射互相關性仿真結果如圖8所示。從圖中可以看出,LS-S映射生成序列的互相關系數(shù)距離0比較遠,而TLT映射和S(L)+L映射生成序列的互相關系數(shù)均接近于0,說明相比于LS-S映射,TLT映射和S(L)+L映射生成的混沌序列具有較高的隨機性能。
圖8 3種映射互相關性仿真結果
將混沌映射的實值序列經(jīng)二值化處理得到二值序列,定義序列平衡度的計算表達式[23]為
(11)
式中:N為序列長度;p和q分別表示序列中0和1出現(xiàn)的次數(shù)。
E越小,說明序列中p和q越接近,從而說明序列隨機性越理想[23]。設定混沌映射序列的N=10 000,初始值x0由0到1。文獻[20]的LS-S映射、文獻[21]的TLT映射和所提S(L)+L映射產(chǎn)生序列的平衡度分布情況如圖9所示。從圖中可以看出,文獻[20]中LS-S映射產(chǎn)生二值序列的平衡度位于0.2附近,而文獻[21]中TLT映射和所提的S(L)+L映射的平衡度都位于0的附近且無限逼近于0。說明相較于LS-S映射,TLT映射和所提S(L)+L映射的平衡度較好。
圖9 3種映射的平衡度分布
初值敏感性反映混沌系統(tǒng)的不可預測性能。設定相同的系統(tǒng)參數(shù),對于初值發(fā)生微小的變化,分岔情形出現(xiàn)早的序列,對應映射的初值敏感性就越好。
設定初始值x0=0.40,變化值Δx=10-15,生成序列長度分別取1,2,…,20。文獻[20]的LS-S映射、文獻[21]的TLT映射和所提S(L)+L映射的初值敏感性仿真結果如圖10所示。圖10顯示,當序列長度取20時,LS-S映射沒有出現(xiàn)分岔情形;TLT映射在長度為9時出現(xiàn)了分岔情形;S(L)+L映射在長度為3時就出現(xiàn)了分岔情形。說明在系統(tǒng)參數(shù)設定相同的情況下,所提的S(L)+L映射比文獻[20]提出的LS-S映射以及文獻[21]中提出的TLT映射出現(xiàn)分岔情形更早,具有更好的初值敏感性。
圖10 3種映射的初值敏感性仿真結果
位變化率從另一個側面反映混沌序列的初值敏感性,一般認為,若位變化率接近50%,則表明映射具有較理想的初值敏感性[23]。設定生成序列長度N=10 000,初始值變化值Δx=10-15。文獻[20]的LS-S映射、文獻[21]的TLT映射和所提S(L)+L映射的位變化率仿真結果如表2所示。
表2顯示,TLT映射和S(L)+L映射比LS-S映射的位變化率更接近50%,說明相較于文獻[20]的LS-S映射,文獻[21]提出的TLT映射和所提的S(L)+L映射對初始值的變化更敏感。
表2 3種映射生成序列的位變化率仿真結果
提出一種改進的一維復合混沌系統(tǒng)。該復合混沌系統(tǒng)以Logistic和Sine映射作為種子映射,復合、組合生成不同的混沌映射。與經(jīng)典一維混沌系統(tǒng)以及文獻[20]、文獻[21]提出的一維復合混沌系統(tǒng)相比,擴展了混沌系統(tǒng)參數(shù)個數(shù),改善了混沌區(qū)間小、混沌區(qū)間不連續(xù)、生成序列隨機性差以及初值敏感性差等問題,另外,生成的混沌映射保留了底層映射的參數(shù)取值范圍,可以直接取代底層映射應用于圖像加密中。下一步要做的工作主要是,如何在不降低安全性的前提下,改善在此復合混沌模型,提高計算效率。