張雪鋒,衛(wèi)凱莉,姜 文
(1.西安郵電大學 網(wǎng)絡空間安全學院,陜西 西安 710121;2.國家計算機網(wǎng)絡應急技術(shù)處理協(xié)調(diào)中心,北京 100029)
隨著網(wǎng)絡通信和多媒體技術(shù)的快速發(fā)展,信息安全的問題也日益成為人們關注的熱點之一[1]。數(shù)字圖像作為多媒體信息的主要載體之一,相較于文本數(shù)據(jù),具有冗余度高、像素相關性強和數(shù)據(jù)量大等特點。如何結(jié)合數(shù)字圖像的特點實現(xiàn)相應的圖像保護,成為信息安全領域的一個重要研究方向。
當前,主要的數(shù)字圖像保護技術(shù)包括信息隱藏、數(shù)字水印和數(shù)字圖像加密技術(shù)[2-5]。其中,數(shù)字圖像加密技術(shù)通過將原始圖像轉(zhuǎn)化成無法辨別的噪聲圖像實現(xiàn)對圖像的保護,能夠有效防止數(shù)字圖像內(nèi)容信息的泄露,成為當前實現(xiàn)數(shù)字圖像保密性的主流技術(shù)之一[6]。目前,圖像加密技術(shù)主要包括圓形隨機網(wǎng)格、格雷碼、小波變換、斐波那契變換和混沌理論等[7-13]?;煦缋碚撌敲绹鴼庀髮W家Lorenz首次提出的[14],其具有初值敏感性、隨機性和遍歷性等特點,與傳統(tǒng)密碼算法對性能的要求具有一致性,基于混沌的數(shù)字圖像加密技術(shù)成為密碼技術(shù)的一個研究熱點。孫廣明等[15]提出新的三維混沌系統(tǒng)并用于數(shù)字圖像加密中。Rehman 等[16]提出基于混沌系統(tǒng)和DNA編碼的彩色圖像加密算法。Wang 等[17]提出一種基于Fisher-Yatess置換算法和Logistic映射的圖像加密方案。Erdem[18]將一維Logistic映射應用于基于內(nèi)容敏感的圖像加密算法中,結(jié)果表明該算法可以有效防止數(shù)據(jù)泄露和噪聲攻擊。同年,張健和霍達[19]將混沌系統(tǒng)引入量子圖像加密領域,提高了圖像安全性。
和傳統(tǒng)的混沌映射相比,改進的混沌映射或超混沌映射具有較復雜的混沌特性,相應的圖像加密算法具有較好的安全性。Han[20]提出改進的Logistic映射,其李雅普諾指數(shù)恒大于0,有較好的隨機性。Rajendran等[21]提出一種融合Sine映射到傳統(tǒng)Logistic映射的二維Logistic-Sine映射(2DLSM)和二維Logistic映射(2DLM),但分岔次數(shù)較多,系統(tǒng)進入混沌狀態(tài)較慢。Lan等[22]提出基于Sine、Tent和Logistic映射組合的新的混沌方案,并將其應用到圖像加密中,但存在密鑰空間小、混沌系統(tǒng)不穩(wěn)定的問題,而且隨著分岔判定閾值的增大,分岔迭代次數(shù)增長過快的問題未得到解決,使得系統(tǒng)初值敏感性和安全性較差。
針對傳統(tǒng)混沌映射在圖像加密算法中存在安全性問題,提出一種n維組合嵌套混沌模型?;趥鹘y(tǒng)混沌映射和改進的混沌映射構(gòu)造不同的三維超混沌映射,通過實驗仿真,分析組合混沌映射的Lyapunov指數(shù)、初值敏感性、相關性和功率譜等性能,并將其應用于改進的基于廣義貓映射的較為經(jīng)典的圖像加密算法中,驗證該加密算法的安全性能。
混沌是非線性系統(tǒng)普遍存在的現(xiàn)象,表現(xiàn)為不確定性、不可重復性和不可預測性。Lyapunov指數(shù)是用來描述在混沌系統(tǒng)中,隨著時間推移產(chǎn)生的相鄰軌道發(fā)散或收斂現(xiàn)象的物理量,其值大于0,表征相鄰軌道平均發(fā)散的快慢;值小于0則表征相鄰軌道平均收斂的快慢。其個數(shù)與系統(tǒng)空間的維數(shù)n相同,若只有一個指數(shù)大于0,則系統(tǒng)是混沌的;若至少有兩個指數(shù)大于0,則系統(tǒng)是超混沌的。大于0的指數(shù)越多,系統(tǒng)不穩(wěn)定的程度就越高[23]。
Sine映射是一種經(jīng)典的一維混沌映射,其結(jié)構(gòu)雖然簡單卻可以產(chǎn)生復雜的混沌序列,定義式為
xi+1=μsin(πxi)。
(1)
其中:xi是迭代序列值,i取非負整數(shù),x0∈(0,1);μ是系統(tǒng)參數(shù),μ∈[0,1],當μ∈(0.87,0.93)和(0.95,1)時出現(xiàn)混沌現(xiàn)象。Sine映射的分岔圖和Lyapunov指數(shù)如圖1所示。
圖1 Sine映射的分岔圖和Lyapunov指數(shù)
Logistic混沌映射被稱為蟲口模型,該模型最早被用來描述和預測昆蟲數(shù)目的變化情況,由于其計算簡單而被廣泛應用,其定義式為
xi+1=μxi(1-xi)。
(2)
其中:x0∈(0,1);μ∈[0,4],當3.569 9…<μ≤4時,映射進入混沌狀態(tài)。Logistic映射的分岔圖和Lyapunov指數(shù)如圖2所示。
圖2 Logistic映射的分岔圖和Lyapunov指數(shù)
在Logistic映射的基礎上,改進的Logistic映射[20]定義式為
(3)
當μ>0時,xi在[-2μ,2μ]內(nèi)有滿映射,其分岔圖和Lyapunov指數(shù)如圖3所示。
圖3 改進Logistic映射的分岔圖和Lyapunov指數(shù)
由圖3可知,當μ>0時,改進的Logistic映射的Lyapunov指數(shù)恒大于0,說明改進的Logistic映射處于混沌狀態(tài)。
通過具體分析混沌系統(tǒng)的Lyapunov 指數(shù),設計一種n維組合嵌套混沌模型,根據(jù)此模型提出三維超混沌系統(tǒng),以便對其進行性能分析。
為了提高一維混沌系統(tǒng)的復雜度,可將傳統(tǒng)混沌映射進行串聯(lián)、級聯(lián)等操作[24]。Lan和He等人在2018年提出一種組合嵌套混沌映射的模型,經(jīng)分析該模型有較好的混沌現(xiàn)象。以下用傳統(tǒng)的混沌映射對不同組合混沌模型進行具體分析。
2.1.1 串聯(lián)模型
假設混沌系統(tǒng)串聯(lián)模型的計算表達式為
xi+1=L(xi)+S(xi),
其中,L(xi)和S(xi)為傳統(tǒng)混沌映射。
將初始混沌序列值進行微小變化生成x′,定義序列值在每次迭代時的微小變化量為|xi-x′i|,且有
又定義
則當xi趨近于x′i時,從|xi-x′i|到|xi+1-x′i+1|的變化率為
Lyapunov指數(shù)計算公式為
(4)
其中:f為混沌映射;t為迭代次數(shù)。根據(jù)式(4)可得串聯(lián)系統(tǒng)的Lyapunov指數(shù)關系式為
則λτ1≥λL(x),且λτ1≥λS(x)。
2.1.2 級聯(lián)模型
假設混沌系統(tǒng)級聯(lián)模型的計算表達式為
xi+1=L(xi)S(xi),
其中,L(xi)和S(xi)為傳統(tǒng)混沌映射,且混沌序列值xi∈[1,)。由式(4)得該系統(tǒng)的Lyapunov指數(shù)為
且有
2.1.3 組合嵌套混沌模型Ⅰ
Lan,He等人在2018年提出的模型是由混沌系統(tǒng)的串聯(lián)和嵌套組成的,將混沌系統(tǒng)L(xi)和S(xi)進行嵌套,并用混沌系統(tǒng)M(xi)與嵌套后的系統(tǒng)進行串聯(lián),其表達式為
xi+1={L[S(xi)]+M(xi)}mod 1。
(5)
模型框圖如圖4所示。
圖4 組合嵌套混沌模型Ⅰ
組合嵌套混沌系統(tǒng)Ⅰ的Lyapunov指數(shù)為
由串聯(lián)模型中推導可知,當xi趨近于x′i時,S(xi)趨近于S(x′i),有
則有
對于嵌套系統(tǒng),可得
=λL(x)+λS(x)。
再由串聯(lián)系統(tǒng)推導可得,組合嵌套混沌系統(tǒng)Ⅰ的Lyapunov指數(shù)為
λτ3≥λ′τ3=λL(x)+λS(x),
λτ3≥λM(x)。
2.1.4 組合嵌套混沌模型Ⅱ
組合嵌套混沌模型也可將嵌套系統(tǒng)與級聯(lián)模型中提出的級聯(lián)系統(tǒng)組合,其中,嵌套系統(tǒng)L[S(xi)]和參與級聯(lián)的系統(tǒng)M(xi)產(chǎn)生的混沌序列值xi∈[1,),其表達式為
xi+1={L[S(xi)]M(xi)}mod 1。
(6)
模型框圖如圖5所示,
圖5 組合嵌套混沌模型Ⅱ
組合嵌套混沌系統(tǒng)Ⅱ的Lyapunov指數(shù)為
λτ4≥λL(x)+λS(x),
λτ4≥λM(x)。
由以上分析可得,不同類型的組合混沌映射在傳統(tǒng)混沌映射的基礎上,由Lyapunov指數(shù)表征的兩個相鄰點平均發(fā)散速度均有所提升,而在所給的傳統(tǒng)混沌映射均處于混沌狀態(tài)時,組合嵌套混沌映射的平均指數(shù)發(fā)散速度比串、級聯(lián)組合混沌映射更快,具備更好的混沌性能。
為便于直接選取傳統(tǒng)混沌映射或改進的混沌映射作為子映射,根據(jù)一維組合混沌模型Ι,可引申提出一種高維組合混沌模型,其第n(n僅用于區(qū)分不同維數(shù))個表達式為
(7)
要計算高維組合映射的Lyapunov指數(shù),先引入一般形式的指數(shù)計算方法。
若n維映射的一般數(shù)學方程為
(8)
則其雅可比矩陣式為
(9)
記初始值(x0,y0,…,z0),迭代t-1次得到t個雅可比矩陣為
J0=J(x0,y0,…,z0),J1=J(x1,y1,…,z1), ?Jt-1=J(xt-1,yt-1,…,zt-1),
再記各個雅可比矩陣的特征值為α1i,α2i,…,αni,則可計算出
(10)
以二維映射為例,從宏觀意義上對所提n維組合混沌映射的Lyapunov指數(shù)進行具體分析。由二維雅可比矩陣式和|αI-J|=0(其中I為二階單位矩陣)可得
則有
≥λL+λS。
(11)
其中,W(x)對應于模型中維度變量的二次復合結(jié)構(gòu),即
與一維混沌映射Lyapunov指數(shù)的變化對應,高維混沌映射的Lyapunov指數(shù)有所提升。
根據(jù)2.2節(jié)中提出的高維混沌映射模型,由傳統(tǒng)一維混沌映射或改進的混沌映射可組成不同的三維超混沌映射,定義式如表1所示。其中,L、S和IL分別表示Logistic映射、Sine映射和改進Logistic映射,均可作為子映射,組成表1中不同的超混沌映射。
表1 三維超混沌映射的定義式
Lyapunov維數(shù)[25]的計算公式為
(12)
圖6 三維L-S映射的吸引子圖
圖7 三維S-L映射的吸引子圖
圖8 三維IL-S映射的吸引子圖
為更好地分析組合混沌映射的性能,以下主要用三維L-S超混沌映射與三維貓映射和現(xiàn)已提出的其他組合混沌映射[21-22]在x維度的基礎上比較各方面的性能。
三維貓映射表達式為
(13)
三維貓映射的特征值為α1≈5.049,α2≈0.643,α3≈0.308,因此,Lyapunov指數(shù)分別為lnα1≈1.620>0,lnα2≈-0.442<0,lnα3≈-1.178<0。相比之下,所提出的三維超混沌映射比三維貓映射更早地進入混沌狀態(tài)。圖9給出文獻[22]中性能較好的一維Sine-Tent-Sine映射(ST-S)和Logistic-Tent-Logistic映射(LT-L)組合混沌系統(tǒng)的Lyapunov指數(shù)和文獻[21]中2DLM和2DLSM系統(tǒng)的最大Lyapunov指數(shù)。
如圖9(a)所示,將文獻[21]中β1用μ代替,繪出2DLSM和2DLM映射的最大Lyapunov指數(shù)圖,由圖9(a)可得在其混沌區(qū)間2.75≤μ≤3.45內(nèi),所提L-S映射的最大Lyapunov指數(shù)較大。同時在均采用嵌套結(jié)構(gòu)的前提下,圖9(b)中給出一維組合嵌套系統(tǒng)的Lyapunov指數(shù),從圖9(b)中可以看出一維ST-S和LT-L映射的Lyapunov指數(shù)較傳統(tǒng)映射均有明顯增長,與三維L-S映射的指數(shù)增長趨勢保持一致性。但隨著μ的變化,一維組合系統(tǒng)Lyapunov指數(shù)波動較明顯,存在奇異點現(xiàn)象。這也正印證了提出的高維超混沌系統(tǒng)在Lyapunov指數(shù)方面具備更好的性能。
圖9 不同組合混沌映射的Lyapunov指數(shù)
將三維L-S超混沌映射產(chǎn)生的序列用作加密密鑰時,為保證加密安全性,其密鑰空間應不小于2128。以此混沌系統(tǒng)參數(shù)和初值作為密鑰,采用精確到小數(shù)點后15位的雙精度實數(shù)表示,則密鑰空間1015×1015×1015×1015×1015×1015=1090>>2128,可見足以抵抗窮舉密鑰攻擊。不同組合混沌映射的密鑰空間如表2所示。
表2 不同組合混沌映射的密鑰空間
由表2可得,文獻[22]中的混沌映射密鑰空間為1030<2128,不能抵抗窮舉密鑰攻擊,三維貓映射密鑰空間為1045>2128,可抵抗窮舉密鑰攻擊,文獻[21]中的混沌系統(tǒng)密鑰空間最大。而所提出的三維L-S混沌映射密鑰空間與文獻[21]中的密鑰空間相當,可較好地抵抗窮舉密鑰攻擊。
隨機性是指由混沌系統(tǒng)自身產(chǎn)生的行為具有隨機性,其完全源自確定性系統(tǒng)本身,與外在因素不相關。下面從序列分布和頻數(shù)檢驗兩個方面分析序列的隨機性。
3.3.1 序列分布
將三維貓映射和三維L-S混沌映射在x維度分別迭代1 000次,得到混沌序列分布如圖10所示。
圖10 兩種映射在x維度的序列分布
由圖10可得,兩種映射序列分布范圍均隨機分布在(0,1)區(qū)間內(nèi),說明提出的三維L-S混沌映射和三維貓映射都有較好的隨機性。
為了進一步比較映射性能,首先將生成的混沌序列轉(zhuǎn)化成二值序列,然后對相應的二值序列的隨機性作進一步的比較分析。將混沌系統(tǒng)迭代t次,并定義序列{x1,x2,…,xt}所對應的二值序列{X1,X2,…,Xt}的取值為
(14)
以下對生成的二值序列相關性能進行分析。
3.3.2 頻數(shù)檢驗
頻數(shù)檢驗能保證二值序列中0和1的個數(shù)相等,這是二值序列具有隨機性的必要條件。計算公式為[26]
(15)
式中:p和q分別表示二值序列中0和1的個數(shù);N表示二值序列長度。表3給出三維貓映射和三維L-S混沌映射在x維度分別迭代10 000次的頻數(shù)檢驗結(jié)果。
表3 兩種映射x維度的頻數(shù)檢驗結(jié)果
實驗結(jié)果表明,三維L-S混沌映射產(chǎn)生的二值序列中0和1的個數(shù)基本相等,接近序列長度的一半,具備較好的頻數(shù)檢驗特性。而三維L-S混沌映射生成序列χ2的取值數(shù)量級較小于三維貓映射的χ2值,說明三維L-S混沌映射生成的序列有更好的頻數(shù)檢驗結(jié)果。
自相關系數(shù)和互相關系數(shù)是兩個評價序列隨機性能常用的統(tǒng)計量。設序列Xi的長度為N,則該序列的自相關系數(shù)[27]定義為
(16)
其中m為步長參數(shù)。自相關系數(shù)的值與步長m有關,當步長變化時,如果自相關系數(shù)變化越小,說明對應序列的隨機性越好。
假設不同的兩個二值序列X1i和X2i的長度均為N,則這兩個序列互相關函數(shù)定義為
(17)
互相關函數(shù)取值越接近0,說明兩個序列越互不相關,差異程度越大。
對于理想隨機序列,自相關函數(shù)應為δ函數(shù),互相關函數(shù)應為0。圖11和圖12分別給出兩種混沌序列的相關系數(shù)變化圖。由圖可以看出,混沌映射生成序列的自相關系數(shù)和互相關系數(shù)均接近理想情況的計算結(jié)果。同時,三維L-S混沌映射與三維貓映射產(chǎn)生序列的相關性基本一致,都有良好的隨機性。
圖11 三維貓映射x維度自相關系數(shù)及x與y維度 互相關系數(shù)
圖12 三維L-S混沌映射在x維度的自相關系數(shù)及 x與y維度互相關系數(shù)
3.5.1 位變化率
將混沌序列迭代10 000次并生成二值序列,統(tǒng)計當初始條件變化為Δx0=10-6時,二值序列中0和1的變化情況[28]。計算公式如下
(18)
其中:r為初始條件發(fā)生微小變化時二值序列中0和1發(fā)生變化的個數(shù);N為序列長度。位變化率越接近于50%,說明序列對初值越敏感。表4給出不同初始條件發(fā)生微小變化時三維貓映射、部分組合混沌映射和三維L-S混沌映射在x維度的位變化率情況。
表4 x維度混沌序列的位變化率
由實驗結(jié)果可得,對于初始條件的微小變化,三維L-S超混沌映射和文獻[21~22]提出的映射以及三維貓映射產(chǎn)生序列的位變化率相近,接近于50%,說明三維L-S混沌映射有較好的初值敏感性。
3.5.2 分岔迭代次數(shù)
假設混沌序列xi+1=f(xi),在初始條件產(chǎn)生微小變化(初始條件分別為x0和x′0)時產(chǎn)生序列{x1,x2,…,χt}和序列{x′1,x′2,…,x′t},給定分岔判斷閾值φ,定義Ω=min{i||xi-x′i|>φ},則稱Ω是混沌序列初始條件為x0和x′0時的分岔迭代次數(shù)[29]。
以下對三維貓映射和三維L-S混沌映射在初始條件變化10-6時進行分析,將混沌序列在x維度各迭代200次,并在區(qū)間(0,200)內(nèi)產(chǎn)生200個取樣點,分別比較在給定的不同閾值下其分岔迭代次數(shù),實驗結(jié)果如表5所示。
表5 x維度混沌映射分岔迭代次數(shù)
由實驗結(jié)果可知,對應相同的分岔判定閾值,文獻[21]中的混沌映射所需的平均分岔迭代次數(shù)大于三維L-S超混沌映射所需的平均迭代次數(shù),說明三維L-S混沌映射的分岔速度較快。三維貓映射和文獻[22]中的混沌映射在分岔判定閾值較小時迭代次數(shù)明顯小于三維L-S映射,隨著分岔判定閾值的增大,分岔迭代次數(shù)的增長速度大于三維L-S混沌映射,相比之下三維L-S混沌映射在加密過程中能夠較快地進入穩(wěn)定的混沌狀態(tài)。
假設序列中0與1的個數(shù)分別為p和q,則該二值序列的平衡度定義為[30]
(19)
二值序列中0和1的個數(shù)越接近,平衡度越小,則序列隨機性越好。
圖13給出不同初始條件x0下三維貓映射和三維L-S超混沌映射在x維度迭代10 000次生成序列的平衡度分布情況。
圖13 x維度兩種映射平衡度分布
由圖13實驗結(jié)果可得,三維貓映射和三維L-S超混沌映射的序列平衡度都在0附近,說明序列具有良好的隨機性。但三維貓映射在局部點處有陡增現(xiàn)象,表明在某些取值點生成的二值序列中0和1的個數(shù)相差較大,平衡度較差。通過比較,說明三維L-S組合混沌映射具有較好的隨機性。
一個信號的時域描述和頻域描述是一一對應的,功率譜分析能夠提供信號的頻域信息。一個信號的時間序列看上去是不規(guī)則的,但其功率譜卻可能呈現(xiàn)出規(guī)律性。若某動力學系統(tǒng)的頻譜定長且連續(xù)可重現(xiàn),則可確定該系統(tǒng)是混沌的。
對于時間序列xi(i=0,1,…,N-1),根據(jù)式(16)計算其自相關系數(shù)Ca(m)。對Ca(m)進行離散Fourier變換,可得到Fourier系數(shù)和序列功率譜的計算公式[13]分別為
(20)
Qk=[Re(Pk)]2+[Im(Pk)]2,
(21)
其中:Fs為采樣頻率;k表示信號頻率;Re表示取實部;Im表示取虛部。當功率譜具有單峰(或幾個峰),則對應周期序列;當功率譜無明顯的峰值或者峰值連成一片,則對應混沌序列。兩種混沌映射在x維度的功率譜如圖14所示。
圖14 x維度兩種映射功率譜
實驗結(jié)果表明,三維L-S超混沌映射的功率譜沒有明顯的峰值,且功率譜分析與三維貓映射的功率譜分析結(jié)果相似,說明與其混沌性能保持一致,也具有良好的混沌性能。
將提出的高維組合混沌映射應用到文獻[32]較為經(jīng)典的圖像加密算法中,驗證該系統(tǒng)具備良好的性能。其中,置亂、替換和擴散3個步驟中涉及的混沌序列分別對應三維L-S映射產(chǎn)生的序列值。選取Lena、Pepper和Boat彩色圖像為測試圖像,在R分量上的加解密圖像及直方圖如圖15所示。
由圖15可以看出基于高維組合混沌映射的加解密效果良好,加密圖像直方圖均衡,在密鑰正確時可完整恢復出明文圖像,說明該算法具備良好的安全性能。
圖15 加解密圖像及其直方圖分布情況
提出一種組合嵌套混沌模型,并以此為基礎,基于經(jīng)典低維混沌映射構(gòu)造一種n維組合混沌映射。首先,從理論上分析不同組合形式混沌映射的Lyapunov指數(shù),證明組合嵌套結(jié)構(gòu)具有良好的混沌性能,其次,構(gòu)建一種n維組合混沌映射模型,組成不同的三維超混沌映射。該組合映射通過擴展系統(tǒng)參數(shù),可以有效地抵抗密鑰窮舉攻擊,能改善混沌系統(tǒng)的復雜性和不可預測性。并以一種三維映射為例,主要在同一維度下對三維超混沌映射和三維貓映射及部分已提出的組合混沌映射進行性能分析,比較其在隨機性、初值敏感性、相關性、密鑰空間及功率譜分析中的性能優(yōu)劣,最后,將提出的組合混沌映射應用在文獻[32]提出的加密算法中,實驗結(jié)果表明,該算法具有較好的安全性能。