分段式三角混沌及其加密應(yīng)用
為了提高圖像文件加密信息的安全性,我們提出一個(gè)基于三角混沌映射和分段相結(jié)合的混沌映射。將三角混沌映射進(jìn)行分段處理并構(gòu)造分段式三角混沌函數(shù),將該混沌映射產(chǎn)生的混沌序列量化為離敝二值序列,分析該序列對(duì)初始條件的敏感性、頻數(shù)檢驗(yàn)、平衡度、以及Lyapunov指數(shù)等指標(biāo),并將其應(yīng)用于圖像文件加密研究。
一、混沌系統(tǒng)
混沌現(xiàn)象是在非線(xiàn)性動(dòng)力系統(tǒng)中出現(xiàn)的確定性的、類(lèi)似隨機(jī)的過(guò)程,這種過(guò)程既非周期又不收斂,并且對(duì)初始值有極其敏感的依賴(lài)性。一維多參數(shù)非線(xiàn)性動(dòng)力系統(tǒng)定義為:
![]()
其中μi(i=1,2,…)為參數(shù),xn∈w(n=0,1,2,…)稱(chēng)之為狀態(tài),而f:w-w是一個(gè)映射,將當(dāng)前狀態(tài)xn映射到下一個(gè)狀態(tài)xn+1。
如果從初始值xn開(kāi)始反復(fù)應(yīng)用f,就可得到一個(gè)序列{xk:k=0.1,2,…)。這一序列稱(chēng)為該離散時(shí)間動(dòng)力系統(tǒng)的一條軌跡。如果為各μi選擇恰當(dāng)?shù)臄?shù)值,使ff:w-w滿(mǎn)足4個(gè)條件,即具有對(duì)初始條件的敏感性,頻數(shù)檢驗(yàn)和平衡度分析以及Lyapunov指數(shù)都滿(mǎn)足混沌的特性,則對(duì)應(yīng)的動(dòng)力系統(tǒng)在w上是混沌的。
二、Logistic混沌映射和三角混沌映射
三角混沌映射是一種一維的混沌映射,依賴(lài)于初始條件y0和t的值,其公式為:
![]()
其中yo和yn的取值范圍為O到1之間的正實(shí)數(shù),t的取值范圍為O到無(wú)窮大之間的正實(shí)數(shù)。三角混沌映射對(duì)初始條件非常敏感,初始值的變化(表1),將使yn的值發(fā)生變化,但三角混沌映射的混沌特性較弱,其詳細(xì)情況如表2所示。


由于三角混沌映射的混沌特性較一般,而Logistic混沌映射表達(dá)簡(jiǎn)單,隨機(jī)性能良好,被廣泛應(yīng)用于混沌保密通信的各個(gè)領(lǐng)域?;镜腖ogistic混沌映射定義為:
![]()
其中3.569946--≤μ≤4時(shí),Logistic混沌映射的輸入和輸出都分布在區(qū)問(wèn)(0,1)上,當(dāng)p=4時(shí),相應(yīng)的Logistic映射定義為:
![]()
Logistic混沌映射是一種非線(xiàn)性映射。三角混沌映射也是一種非線(xiàn)性的映射,分段Logistic混沌映射為:
![]()
實(shí)驗(yàn)測(cè)試發(fā)現(xiàn),雖然分段Logistic混沌映射具有良好的混沌特性(表3),但分段Logistic混沌映射的密鑰空間小,不適合加密的應(yīng)用,于是提出一種將具有巨大密鑰空間的三角混沌映射進(jìn)行改進(jìn)為重復(fù)計(jì)算一次,將兩個(gè)結(jié)果再進(jìn)行求和取模得公式,即:

其中:

改進(jìn)的三角混沌映射密鑰空間大,比三角混沌映射的性能要好,性能的詳細(xì)情況如表4所示,但該混沌映射性能參數(shù)的隨初始值的改變波動(dòng)性較大。

通過(guò)采用相同的初始值條件,對(duì)以上3種混沌映射產(chǎn)生的隨機(jī)序列進(jìn)行頻數(shù)檢驗(yàn),平衡度分析,初值敏感性測(cè)試。Lyapunov指數(shù)等測(cè)試的實(shí)驗(yàn),可以看到,這3種混沌映射雖然都滿(mǎn)足混沌要求,但分別存在密鑰空間小,隨初始值的變換波動(dòng)性大,算法效率低等缺點(diǎn)。
結(jié)合以上的這些混沌特性的優(yōu)缺點(diǎn),根據(jù)改進(jìn)的三角混沌映射的定義的公式和分段的Logistic混沌映射定義的公式,將改進(jìn)的三角混沌映射進(jìn)行分段式構(gòu)造,得分段式三角混沌映射。如果竹是偶數(shù)時(shí),則有:
![]()
否則有:
![]()
將連續(xù)兩次運(yùn)算結(jié)果相加求模獲得值為:
![]()
三、性能測(cè)試
對(duì)分段式三角混沌映像序列同樣進(jìn)行性能測(cè)試,首先對(duì)輸出的混沌值進(jìn)行簡(jiǎn)單的二值量化,得到二進(jìn)制序列。設(shè)混沌映射的輸出值xnV[m,M],則量化函數(shù)為:
![]()
取不同的初值,舍棄最初的100次迭代。計(jì)算10000個(gè)點(diǎn),得到長(zhǎng)為10000的二進(jìn)制序列,為了驗(yàn)證這種定義方式是否合理符合達(dá)到混沌的要求,給出初始條件,見(jiàn)表5。

1、頻數(shù)檢驗(yàn)
頻數(shù)檢驗(yàn)?zāi)軌虮WC二值序列中0和1的個(gè)數(shù)大致相等,這也是二值序列具有隨機(jī)性的必要條件。
計(jì)算公式為:
![]()
其中n1為二值序列中的1的個(gè)數(shù),x0為二值序列中的0的個(gè)數(shù),與1自由度的x12分布比較,對(duì)應(yīng)5%的顯著性水平,x12的值為3.84,即只要得到的x12值不大于3. 84,則認(rèn)為二值序列具有較好的隨機(jī)性。實(shí)驗(yàn)結(jié)果表明,公式(8)定義的分段式三角混沌映射生成的序列順利能夠通過(guò)頻數(shù)檢驗(yàn),并且x12得到的值遠(yuǎn)小于3. 84,通過(guò)選取不同的初始值得到的x12的值,通過(guò)選取不同的初始值可以從表6中看到頻數(shù)檢驗(yàn)的最后結(jié)果的值均不大于3. 84,可見(jiàn)該隨機(jī)性很好。

2、平衡度分析
設(shè)二值序列的長(zhǎng)度為N,序列中1與0的個(gè)數(shù)分別為p和Q,則該二值序列的平衡度定義為:
![]()
平衡度的值越小,說(shuō)明序列中1與0的個(gè)數(shù)越接近,隨機(jī)性越好。表6給出分段式三角混沌映射對(duì)不同初始條件生成序列的平衡度分布情況實(shí)驗(yàn)結(jié)果,其中序列長(zhǎng)度為1oooo。通過(guò)選取不同的初始值可以看到平衡度分析的最后結(jié)果的值均接近O,可見(jiàn)該隨機(jī)性很好。
3、初值敏感性
初值敏感性分析過(guò)程中,我們對(duì)混沌系統(tǒng)的初始條件進(jìn)行微小變化,通過(guò)統(tǒng)計(jì)產(chǎn)生的二值序列中相應(yīng)位置上的1和O的值的變化情況,計(jì)算相應(yīng)的序列位變化率。位變化率定義為:
![]()
其中n為序列長(zhǎng)度,以n'為初始條件進(jìn)行微小改變后生成的二值序列與原序列比較時(shí),對(duì)應(yīng)位置取值發(fā)生改變的位的個(gè)數(shù),位變化率越接近5o%,說(shuō)明該系統(tǒng)對(duì)于初始條件越敏感。表6給出了分段式三角混沌映射當(dāng)初始條件發(fā)生微小變化時(shí)所生成的不同混沌序列的位變化率。通過(guò)選取不同的初始值可以從表中看到初值敏感性的最后結(jié)果的值均接近50%。滿(mǎn)足混沌系統(tǒng)的參數(shù)要求。
4、Lyapunov指數(shù)
為了定量地刻畫(huà)混沌系統(tǒng)相鄰的兩點(diǎn)經(jīng)過(guò)循環(huán)迭代過(guò)程產(chǎn)生分離的快慢,人們引入Lyapunov指數(shù)來(lái)表示在多次迭代所引起的相鄰離散點(diǎn)之間以指數(shù)形式的分離或靠攏情況。對(duì)應(yīng)混沌系統(tǒng)的Lyapunov指數(shù)定義如下:
![]()
Lyapunov指數(shù)小于0意味著經(jīng)過(guò)混沌映射的迭代運(yùn)算,相鄰點(diǎn)最終要靠攏合并成一點(diǎn),這時(shí)混沌系統(tǒng)對(duì)應(yīng)穩(wěn)定的不動(dòng)點(diǎn)和周期運(yùn)動(dòng),Lyapunov指數(shù)大于0意味著相鄰點(diǎn)經(jīng)過(guò)混沌映射的迭代計(jì)算最終要分離,此時(shí)混沌系統(tǒng)對(duì)應(yīng)的軌跡產(chǎn)生局部不穩(wěn)定。Lyapunov指數(shù)大于0可以作為判斷序列是否為混沌序列的一個(gè)依據(jù)。一個(gè)正的Lyapunov指數(shù),意味著在系統(tǒng)相空問(wèn)中,無(wú)論初始兩條軌線(xiàn)的間距多么小,其差別都會(huì)隨著時(shí)間的演化而成指數(shù)率的增加以致達(dá)到無(wú)法預(yù)測(cè),這就是混沌現(xiàn)象,從表6中可以看出分段式三角混沌映射當(dāng)初始條件發(fā)生變化時(shí)所生成的不同混沌序列的Lyapunov指數(shù)變化情況。通過(guò)選取不同的初始值可以從表5中看到Lyapunov指數(shù)的最后結(jié)果的值均為正實(shí)數(shù)的值,滿(mǎn)足混沌動(dòng)力系統(tǒng)的要求。
通過(guò)對(duì)比,可以看到分段式三角混沌映射的各項(xiàng)技術(shù)指標(biāo)均滿(mǎn)足且總體優(yōu)于三角混沌映射,分段式Logistic混沌映射和改進(jìn)的三角混沌映射,三角混沌映射和改進(jìn)的三角混沌映射以及分段式Logistic混沌映射各項(xiàng)性能指標(biāo)雖滿(mǎn)足混沌特性基本要求,但由于分段式Logistic混沌映射的初始值3.569946--≤μ≤4 F1t,它才能進(jìn)入混沌狀態(tài),而三角混沌映射和改進(jìn)的三角混沌映射,它們具有波動(dòng)性和算法效率低等缺點(diǎn),而分段式三角混沌映射的初始值沒(méi)有嚴(yán)格的限制,且波動(dòng)性小,算法效率高,通過(guò)表2,表3,表4和表6,已經(jīng)看到,所以分段式三角混沌映射具有很好的靈活特性和安全特性,密鑰空間大,可以應(yīng)用在加密上,且能適應(yīng)不同的加密場(chǎng)合的應(yīng)用。
四、分段式三角混沌映射加密應(yīng)用
1、密文交錯(cuò)擴(kuò)散的加密
這里利用分段式三角混沌映射對(duì)圖像進(jìn)行加密,提出的密文交錯(cuò)擴(kuò)散的加密具有優(yōu)良的密碼學(xué)特性和非線(xiàn)性特性,本文在該加密方法的基礎(chǔ)上對(duì)中間混沌密鑰序列K的長(zhǎng)度的產(chǎn)生做出改進(jìn)。然后,利用中間混沌密鑰序列構(gòu)造與加密圖像有關(guān)的最終密鑰序列Key,并利用最終密鑰序列Key對(duì)圖像像素進(jìn)行兩個(gè)回合加密。在加密過(guò)程中,我們將圖像劃分成前后兩個(gè)子塊,同時(shí)對(duì)兩子塊進(jìn)行并行加密;并引人密文交錯(cuò)擴(kuò)散機(jī)制。
2、加密過(guò)程
(1)首先生成中間混沌密鑰序列K
將混沌序列進(jìn)行改造,生成中間混沌密鑰序列。設(shè)由系統(tǒng)生成的原始混沌序列表示為:
![]()
其中L為待加密圖像的像素點(diǎn)總數(shù),No為超混沌系統(tǒng)的預(yù)迭代次數(shù)。為了消除混沌序列暫態(tài)過(guò)程帶來(lái)的有害效應(yīng),以便增強(qiáng)序列對(duì)初始條件的敏感性,去掉原始混沌序列的前N0個(gè)值,得到長(zhǎng)度為L(zhǎng)的子序列{x(i):i=1,2,…,L},再按照變換式(14)對(duì)序列{x(i)}進(jìn)行改造,得到改進(jìn)序列:

其中max-x和min-x分別是序列中的最大值,最小值,然后由改進(jìn)序列{y(i)}經(jīng)二次改造,得到長(zhǎng)度為L(zhǎng)的混沌密鑰序列:
![]()
其中|x|取x的絕對(duì)值;floor(x)取小于或等于x的最大整數(shù);m為正整數(shù),在本文中取m =14。
(2)產(chǎn)生密文C
設(shè)原始圖像像素大小為M行、N列,總像素?cái)?shù)為L(zhǎng)=MXN,其矩陣表示形式為:

相應(yīng)的加密圖像矩陣用類(lèi)似于式(16)的矩陣C表示,按逐行掃描順序所得的密文像素序列為:
![]()
明文圖像的前半子塊依次由像素序列:
![]()
組成,而后半子塊則依次為像素序列:
![]()
第1回合加密操作步驟如下:
步驟1 i→1;并對(duì)前一子塊的第1個(gè)像素分別采用:
![]()
生成最終加密密鑰并進(jìn)行加密操作;同時(shí)對(duì)后一子塊的第1個(gè)像素分別采用:
![]()
生成最終加密密鑰并進(jìn)行加密操作。在式(17)和式(18)中,bitxor(x,y)將x和y按其二進(jìn)制值進(jìn)行比特位異或運(yùn)算;mod(x,y)求x除以y得到整數(shù)商以后的余數(shù)。Co∈[1,255J是一個(gè)預(yù)設(shè)的正整數(shù),P(i)和C(i)分別是原始圖像和加密圖像第f個(gè)像素的值。
步驟2 i→1;并對(duì)前一子塊的第i個(gè)像素分別采用:
![]()
生成最終加密密鑰且進(jìn)行加密操作;同時(shí)對(duì)后一子塊的相應(yīng)像素分別采用與式(18)相同的公式生成最終加密密鑰并進(jìn)行加密操作4。
步驟3 重復(fù)步驟2,直到i=L/2。
第2回合加密操作過(guò)程如下。
步驟4 i-1;并對(duì)前一子塊的第1個(gè)像素分別采用:
![]()
生成最終加密密鑰并進(jìn)行加密操作。
步驟5 i-i+1;并對(duì)前一子塊的第i個(gè)像素分別采用:
![]()
生成最終加密密鑰且進(jìn)行加密操作;同時(shí)對(duì)后一子塊的第1個(gè)像素分別采用:
![]()
步驟6 重復(fù)步驟5,直到i=L/2,便完成了第2回合的加密操作,并得到密文圖像C。
從上述加密過(guò)程可見(jiàn),對(duì)圖像像素加密所采用的最終加密密鑰Key(i)不僅與當(dāng)前混沌密鑰K(i)有關(guān),而且與另一子塊前一個(gè)已經(jīng)加密的密文像素值有關(guān),即引入了密文交錯(cuò)擴(kuò)散機(jī)制。因此,經(jīng)過(guò)兩個(gè)回合的加密后,任何像素值的變化都將影響到其余所有像素的密文值。
五、解密
解密過(guò)程是加密過(guò)程的逆操作,但解密的像素順序?yàn)槟嫘颉?/p>
小知識(shí)之Lyapunov指數(shù)
Lyapunov指數(shù)是衡量系統(tǒng)動(dòng)力學(xué)特性的一個(gè)重要定量指標(biāo),它表征了系統(tǒng)在相空間中相鄰軌道間收斂或發(fā)散的平均指數(shù)率。對(duì)于系統(tǒng)是否存在動(dòng)力學(xué)混沌, 可以從最大Lyapunov指數(shù)是否大于零非常直觀(guān)的判斷出來(lái): 一個(gè)正的Lyapunov指數(shù),意味著在系統(tǒng)相空間中,無(wú)論初始兩條軌線(xiàn)的間距多么小,其差別都會(huì)隨著時(shí)間的演化而成指數(shù)率的增加以致達(dá)到無(wú)法預(yù)測(cè),這就是混沌現(xiàn)象。







