顏閩秀,張 萍
(1.沈陽化工大學 信息工程學院,遼寧 沈陽 110142;2.工業環境-資源協同控制與優化技術遼寧省高校重點實驗室,遼寧 沈陽 110142)
自1963年著名的Lorenz混沌系統[1]建立以來,對混沌的研究迅速開展起來,并取得一些重要的成果,主要應用于圖像加密[2-3]、通信加密[4-5]、生物醫療[6]等方面。根據平衡點類型,系統產生吸引子可以分為自激吸引子和隱藏吸引子[7],而隱藏吸引子的數學定義,在2013年[8]才首次被提出。隱藏吸引子通常存在于無平衡點、唯一穩定平衡點或無限平衡點等[9]非線性混沌系統當中。Zhang等[10]在經典混沌系統的基礎上引入狀態反饋控制器,構建了具有隱藏吸引子的混沌系統,動態分析發現,隱藏型混沌系統具有復雜的動力學行為;Wang等[11]提出一個簡單的三維自治系統,該系統僅有一個穩定平衡點,具有隱藏混沌吸引子系統的特性。與有自激吸引子的混沌系統相比,具有隱藏吸引子的混沌系統復雜度更高,并且能夠避免一般混沌系統所具有的局限性和缺陷。由于在實際工程應用中具有重要作用,因此研究人員更加注重對隱藏吸引子的研究[12-14]。
吸引子共存[15]是一種非常復雜且有趣的現象,同時含有隱藏吸引子的共存現象也值得探究。Fang等[16]提出具有隱藏吸引子的分數階混沌系統,并分析了其共存現象;Al-Hayali等[17]基于Sprott S系統提出一個四維混沌系統,該系統不具有平衡點,不同參數時李雅普諾夫指數和為整數,此時具有保守吸引子;Li等[18]研究了一種具有共存的隱藏吸引子的分數階混沌系統,并設計了電路。在探索混沌系統復雜的動力學特性時,進行復雜度分析尤為必要。隨著科學技術的發展,對于數字圖像安全性的探究逐漸增多,圖像加密已經成為一項廣泛應用的技術,而混沌系統具有對初始值敏感性、隨機性等顯著特征,因此非常適合應用在數字圖像加密中[19]。Wang等[20]將隱藏型混沌系統應用于圖像加密算法中,具有較強的安全性能。Patro等[21]提出利用線性混沌映射交叉耦合的圖像加密算法,避免了單一映射的缺點。設計實用且可靠的圖像加密算法,并利用電路設計[22]驗證是否具有應用的可能,具有一定的實用價值。
本研究設計了一個結構簡單的新四維混沌系統,該系統不存在平衡點,卻表現出復雜的動力學特性。首先,通過對其耗散性、李雅普諾夫指數和維數分析驗證該系統的動態行為,改變參數值和初始條件,系統的吸引子類型也會相應改變,并且在給定不同初始值和參數的情況下,系統能夠產生不同狀態的隱藏吸引子共存,復雜度分析發現該系統具有極高的復雜度;然后,設計了圖像加密算法,實驗證明,基于隱藏吸引子混沌系統的加密算法具有很強的安全性能,利用混沌序列的不均勻性可為信息安全領域提供理論支撐;最后,隨機特性測試表明,P-value均大于0.01,說明該系統的混沌序列具有隨機性;利用Multisim進行電路仿真,仿真結果與Matlab運行結果一致,說明該系統具有可行性。
基于三維Lü混沌系統[23],構造一個新的四維混沌系統:
(1)
式中:x、y、z、w為狀態變量,a、b、c為參數值。
為計算系統的平衡點,令
(2)
根據式(2)顯然可得,當c≠0時,系統沒有平衡點,此時該系統所產生的吸引子均為隱藏吸引子。當參數值a=10、b=3、c=12,初始值為(1,1,1,1)時,系統的混沌吸引子如圖1所示。可以看出,隱藏混沌吸引子不具有平衡點,卻能產生混沌行為,其運動軌跡復雜,具有復雜的折疊性、重復性和延伸性結構,但又是有界的。

圖1 系統的吸引子相圖
對系統進行耗散度分析,有
(3)


圖2 李雅普諾夫指數圖
(4)
由圖2可以看出,系統有一個正數、兩個零、一個負數的李雅普諾夫指數,說明系統具有混沌特性。同時,由于李雅普諾夫維數是分數,說明隱藏型系統具有混沌特性。由于參數及初始值的波動對系統具有一定影響,同時該系統具有復雜的動力學特性,因此根據參數的不同取值可得系統吸引子類型,如表1。

表1 系統不同類型的吸引子
隱藏吸引子的共存在非線性系統中是一種復雜現象,一般在系統存在對稱性的情況下產生,而該系統不存在對稱性,卻能產生共存現象,是極為少見的。
情況Ⅰ。固定參數b=0.3,c=12,令a為變量,a∈[0,4],得到關于初始值(1,1,1,1)和初始值(-1,-1,-1,-1)的分岔圖,如圖3所示。取初始值為(1,1,1,1)時關于a的李雅普諾夫指數如圖4所示。

圖3 情況Ⅰ的分岔圖

圖4 情況Ⅰ的李雅普諾夫指數圖
通過圖3可以看出,系統存在共存現象,給定不同的初始值系統具有不同的混沌特性,對比分析可以發現隱藏型混沌系統具有共存現象。當a∈[0.32,2.06]時,分析圖4可知,系統呈周期狀態;當a∈[0,0.32]∪[2.06,4]時,最大李雅普諾夫指數為正,說明系統是混沌狀態。
為使共存現象清晰展示,取a=1,產生如圖5的周期與周期共存狀態的相圖。由圖5可以看出,在給定參數a=1,b=0.3,c=12以及不同初始值的情況下,出現兩個環形的周期吸引子共存的現象。

圖5 周期與周期吸引子共存
情況Ⅱ。固定參數b=2,c=12,令a為變量,a∈[0,4],得到關于初始值(1,1,1,1)和(-1,-1,-1,-1)的分岔圖,如圖6所示。取初始值為(1,1,1,1)時關于a的李雅普諾夫指數如圖7所示。

圖6 情況Ⅱ的分岔圖

圖7 情況Ⅱ的李雅普諾夫指數圖
由圖6可以看出,改變參數值得到的分岔圖不同,但同樣存在共存現象。由圖7可以看出,當a∈[0.78,1.54]∪[3.06,3.26]時,系統做周期運動;當a∈[0,0.78]∪[1.54,3.06]∪[3.26,4]時,系統做混沌運動;當a=3.2時,出現隱藏混沌吸引子與隱藏混沌吸引子共存現象,兩個混沌吸引子結構相似但運動軌跡不同,如圖8所示。

圖8 混沌與混沌吸引子共存
情況Ⅲ。固定參數b=3,c=12,令a為變量,a∈[0,3],給定初始值分別為(1,1,1,1)和(1,-1,1,-1),可以得到分岔圖如圖9所示。取初始值為(1,1,1,1)時,關于a的李雅普諾夫指數如圖10所示。

圖9 情況Ⅲ的分岔圖

圖10 情況Ⅲ的李雅普諾夫指數圖
由圖9可以看出,系統具有復雜多變的動力學行為,當系統選取不同的初始值時,分岔圖中的密集點分布存在明顯的差異,說明系統具有共存現象。對比圖9與圖10可知,隱藏型混沌系統具有復雜的共存特性。
為進一步探究系統吸引子共存的具體情況,分別取a=0.5、a=2.8,產生如圖11、圖12所示的混沌吸引子與混沌吸引子共存現象。由圖11和圖12可以看出,當a=0.5時,混沌吸引子成“薯片狀”共存;當a=2.8時,混沌吸引子成“花狀”共存。

圖11 a=0.5時的共存混沌吸引子圖

圖12 a=2.8時的共存混沌吸引子圖
由上述分岔圖可知,系統具有復雜的混沌特性,通過對a的不同取值可以得到不同形狀的混沌吸引子共存現象。
相對普通混沌系統,具有隱藏混沌吸引子的系統更具復雜性,利用譜熵(spectral entropy,SE)和C0復雜度算法證明系統結構復雜程度較高,如圖13、圖14。

圖13 C0復雜度

圖14 SE復雜度
C0算法保留了系統不規則的部分,由圖13可以看出,C0的值均大于0.52,即在序列當中不規則部分較大,說明序列的復雜度高。與傳統混沌系統對比可知,經典Bao混沌系統C0的值最大為0.4,因此隱藏吸引子的復雜程度相對較高。分析SE復雜度圖像可以看出,譜熵值整體大于0.9,序列振幅明顯,測量值較高,因此系統的復雜程度較高。經典Bao混沌系統最大譜熵值在0.75左右,R?ssler混沌系統最大譜熵值在0.3左右[24]。綜上可知,具有隱藏吸引子的混沌系統復雜度較高。
基于隱藏吸引子的混沌系統設計圖像加密系統,結構如圖15所示。該圖像加密系統主要包含四部分,分別為基于具有隱藏吸引子的混沌系統(1)(式(1))的密碼生成模塊、明文無關的順向擴散模塊、明文關聯的圖像置亂模塊、明文無關的逆向擴散模塊。

圖15 基于隱藏吸引子的圖像加密系統結構圖
給定密鑰為K={a0,b0,c0,d0,r1,r2,r3,r4},其中a0、b0、c0、d0為系統的初始條件,r1、r2、r3、r4為[0,255]中的4個隨機整數。用P表示明文圖像,大小為M×N。利用混沌密碼發生器產生與明文圖像P大小相等的隨機矩陣,記為A、B、C、D。將這4個矩陣分別用于擴散模塊和置亂模塊中。具體步驟為:
1) 將{a0,b0,c0,d0}作為系統的初始條件,利用龍格-庫塔法迭代r1+r2+r3+r4+MN次,跳過過渡狀態值,因此得到狀態變量序列長度為MN,該狀態變量序列可記為{xi},i=1,2,…,MN。
2) 由序列{xi},i=1,2,…,MN,根據式(5)得到隨機矩陣A、B、C、D。
(5)
式中:L=max(M,N);u=1,2,…,M;v=1,2,…,N;floor(t)是返回小于等于t的最大整數。
接下來,通過順向擴散模塊將明文圖像P轉換為矩陣T。
3) 將P(1,j)轉化為T(1,j),j=1,2,…,N。
T(1,1)=mod(P(1,1)+A(1,1)+r1+r3,256),
(6)
T(1,j)=mod(P(1,j)+A(1,j)+T(1,j-1),256)。
(7)
4) 將P(i,1)轉化為T(i,1),i=2,3,…,M。
T(i,1)=mod(P(i,1)+A(i,1)+T(i-1,1),256)。
(8)
5) 將P(i,j)轉化為T(i,j),i=2,3,…,M,j=1,2,…,N,
T(i,j)=mod(P(i,1)+A(i-1,j)+T(i,j-1)+T(i-1,j),256)。
(9)
然后,通過對像素點T(i,j),i=2,3,…,M,j=1,2,…,N與T(m,n)置換位置對矩陣T進行置亂。
6) 計算T(i,j)所在行的全部元素(不含T(i,j))的和,記為sri,
sri=sum(T(i,1:N))-T(i,j)。
(10)
7) 計算T(i,j)所在列的全部元素(不含T(i,j))的和,記為sci,
sci=sum(T(1:M,j))-T(i,j)。
(11)
8) 計算m、n的值
(12)
9) 當m=i或者n=j時,T(i,j)與T(m,n)位置是相同的。反之,兩者根據循環置換位置。最后,將由T置亂得到的圖像命名為S,通過逆向擴散模塊將S轉化為矩陣密文圖像J。
10) 將S(M,j)轉化為J(M,j),j=N,N-1,…,2,1,
J(M,N)=mod(S(M,N)+B(M,N)+r2+r4,256),
(13)
J(M,j)=mod(S(M,j)+B(M,j)+J(M,j+1),256),j=N-1,N-2,…3,2。
(14)
11) 將S(i,N)轉化為J(i,N),i=M,M-1,…,2,1,
J(i,N)=mod(S(i,N)+B(i,N)+J(i+1,N),256)。
(15)
12) 將S(i,j)轉化為J(i,j),i=M,M-1,…,2,1,j=N,N-1,…,2,1,
J(i,j)=mod(S(i,j)+J(i+1,j)+J(i,j+1)+B(i,j),256)。
(16)
通過擴散處理之后可得到密文圖像J。
以上是圖像加密的全部過程,而解密過程就是加密過程的逆過程。解密步驟的置亂和擴散的步驟與加密步驟完全相同,過程相反,此處不再過多贅述。
密鑰是加密性能好壞以及是否足夠安全的一個非常直觀的體現,這里給定密鑰為K={a0,b0,c0,d0,r1,r2,r3,r4},同時給定系統(1)的參數值a=10,b=3,c=12,密鑰選取a0,b0,c0,d0∈[-40,40],步長為1/l,l=1015,因此密鑰空間為2.814 7×1066,遠大于2100。
仿真使用計算機配置:CPU為Intel(R) Core(TM)i5-9300H 2.40 GHz,RAM為8.00 GB,64位操作系統。在Matlab R2019b中編寫并運行加密解密算法過程,選用經典Lena圖像進行仿真。同時,選取一組密鑰K1={5.490 1,5.578 7,-4.108 6,9.411 9,99,245,66,138,3},可得如圖16的圖像加密和解密圖。由圖16可以看出,加密解密前后圖像完全相同,說明具有良好的加密和解密效果,并且具有可實現性。

圖16 圖像的加密與解密
圖17為明文與密文的直方圖。當直方圖分布均勻平穩時,可視信息較少,信息熵較大,安全性能高,保密性較強,此時攻擊者難以獲取圖像的特征。由圖17可看出,加密后直方圖相對平穩,計算明文的信息熵為7.445 1,密文的信息熵為7.999 3,信息熵較高,說明保密性能較好。

圖17 明文與密文的直方圖
為驗證密鑰的敏感性,選取8組密鑰進行實驗操作,并取其平均值,密鑰敏感性分析結果如表2。表2中,NPCR為像素數變化率(number of pixels change rate),UACI為統一平均變化強度(unitied average changing intensity),BACI為塊平均變化強度(block average changing intensity)。由表2可知,對比文獻[21],實驗值幾乎接近于理論值,說明密鑰敏感性較強,系統抵抗差分攻擊性強,安全性能高。

表2 密鑰敏感性性能分析結果
以上為定量分析得到的結論,接下來進行定性分析。對密鑰進行微小的改變,觀察加密解密過程的變化,進一步分析密鑰的敏感性。給定密鑰Kc={3.363 0,-1.323 1,-3.099 7,-1.921 8,196,39,204,89,3},對Kc進行微小改變,得到Kn={3.363 0+1/l,-1.323 1,-3.099 7,-1.921 8,196,39,204,89,3}。根據這兩組密鑰進行加密解密分析,得到密鑰敏感性性能測試結果如圖18。分析圖18可知,盡管密鑰進行了微小的改變,卻不能解密出原圖像,只有正確的密鑰才能解密,驗證了密鑰的敏感性。

圖18 密鑰敏感性性能測試結果
一般來說,明文圖像有很強的相關性,若經過安全性較強的保密處理之后,圖像相鄰像素相關性應當較弱。為驗證這一理論,首先進行定量分析,在水平、垂直、對角方向上分別取10 000對相鄰像素點,相鄰像素相關測試系數如表3。通過測試仿真可得到如圖19所示的相鄰像素間的相關性。

表3 相鄰像素相關測試系數

圖19 相鄰像素間的相關性
分析表3和圖19可得,明文圖像相關性均在0.9以上,相關性較強,而通過加密過程處理之后,圖像相關性幾乎接近于0,說明加密操作的安全性強,證明該算法具有可實現性。
為驗證具有隱藏吸引子的新四維混沌系統的混沌序列偽隨機性,使用四階Rugge-Kutta法將系統進行離散化,按照NIST(national institute of standards and technology)標準,利用SP800-22 Revla標準評估中給出的15種測試方法檢驗系統的比特序列的隨機特性。在15個檢驗指標中,每項檢驗指標都會產生P-value,通過P-value是否大于0.01判斷系統是否具有隨機性。若P-value大于等于0.01,即可認為序列具有隨機性,反之不具有隨機性。由于SP800-22 Revla標準評估中建議測試比特序列長度為103~107,這里給定長度n為106,定義測試序列為S,同時給定(x0,y0,z0,w0,a,b,c)=(10,10,10,10,10,3,12),由此可得表4的測試結果。由表4可以看出,P-value值結果均大于0.01,可以判定混沌系統產生的比特序列具有隨機性。

表4 隨機性測試結果
利用Multisim設計混沌系統的仿真電路,進一步判斷混沌系統是否具有可實現性。由圖1可看出,系統的吸引子狀態在較大峰值范圍內變化。較大的峰值變化范圍對系統的硬件實現難度較大。以運算放大器LM324m為例,需要通過一定的變化使系統的峰值縮小到工作范圍之內。

(17)
根據混沌系統(1)和式(17),可得:
(18)
計算可得,R1=100 kΩ,R2=10 kΩ,R3=3 kΩ,R4=R5=R7=R11=100 kΩ,R6=4 kΩ,R8=75 kΩ,R9=20 kΩ,R10=15 kΩ,R12=200 kΩ,R13=2 000 kΩ,R14=50 kΩ,R15=3 kΩ,R16=100 kΩ,V1=1 V,C1=C2=C3=C4=1 μF。搭建電路設計仿真圖如圖20所示,其仿真結果如圖21所示。

圖20 電路設計仿真圖

圖21 電路仿真吸引子相圖
從圖21可以看出,所得吸引子相圖與Matlab中所得相圖基本一致,混沌吸引子存在的峰值范圍符合電路元器件的要求,表明該混沌系統在實際生產生活中具有可實現性。
本研究構造了一個新的四維混沌系統,該系統沒有平衡點即可產生隱藏吸引子,具有豐富的動力學特性,改變其參數值能夠產生不同的隱藏吸引子共存現象。通過SE和C0算法進行復雜度分析表明,該系統的C0復雜度均高于0.52,SE復雜度均高于0.9,總體復雜度較高;設計了圖像加密算法,通過性能分析發現,該加密算法可以更好地抵抗攻擊,具有良好的保密性能和可實現性。系統通過了NIST標準測試中的15項指標,表明混沌系統具有隨機性。最后,通過電路仿真驗證了其可實現性。