融合雅克比橢圓混沌映射的圖像文件加密算法
由于當(dāng)前的基于混沌映射的圖像加密算法存在瞬態(tài)效應(yīng),且在像素擴散階段都沒有使用完整的隨機密碼序列,從而降低了加密系統(tǒng)的安全性,無法抵御各類明文與密文攻擊。對此,設(shè)計了一個完整的隨機密碼序列和新的雅克比橢圓映射,并定義了一個S盒變換規(guī)則;構(gòu)造了預(yù)混淆-混淆-擴散結(jié)構(gòu),提出了一種基于S盒變換規(guī)則耦合雅克比橢圓混沌映射的圖像文件加密算法。
一、雅克比橢圓混沌映射
可將具有不變測度的雅克比橢圓映射視為n次多項式比值,其方程如下:
![]()
式(l)中,Qn(x,β)為雅克比橢圓映射函數(shù);x為系統(tǒng)變量;β為控制參數(shù);H為替代函數(shù)。單參數(shù)集合所處區(qū)間為[0,1]。的表達式由sn、dn以及cn代替

以上關(guān)系可表示為:

式(4)中,sn(v)、cn(v)以及dn(v)均為雅克比橢圓映射形式函數(shù);式(4)中,sn(v)、cn(v)以及dn(v)均為雅克比橢圓映射形式函數(shù);v為變量;而為模量。
從上述可知,雅克比橢圓映射函數(shù)sn(v)與變量鈔和模量k有關(guān)。映射Q為(N-I)個節(jié)點映射,也就是說該映射在單位區(qū)間[O,1]中有(N-1)個關(guān)鍵點,他們具有一個穩(wěn)定固定點或遍歷行為,如圖1所示。

對公式(1)進行求schwarzian導(dǎo)數(shù),得到如下模型

式(6)中,Z[ QN(X,β)]代表QN(X,β)映射的導(dǎo)數(shù);QN(X,β)代表雅克比橢圓混沌映射;H(x)為替代甬?dāng)?shù);Vs代表菇的矢量。
由上述公式可知,該導(dǎo)數(shù)是負的,它限制了穩(wěn)定周期軌道的數(shù)量,具有負Schwarzian導(dǎo)數(shù)的單峰映射最多有一個穩(wěn)定的周期軌道。因此,映射Q最多有(N+1)個吸引周期軌道,他們只有單周期的一個穩(wěn)定固定點或者他們是遍歷映射。
根據(jù)模型(1)一模型(4),可得如下模型:

式中,k代表模型式(7)一式(9)的控制參數(shù)。對于模型式(7)一式(9)的任何一個具體參數(shù)而言,這些模型都是遍歷的。和其他普通映射相反,因上述映射的參數(shù)是變換的,因此這些模型并沒有顯示倍周期、周期Ⅳ分岔或者逐步過渡到混沌狀態(tài),而是在某個參數(shù)的固定區(qū)域內(nèi),他們擁有單個固定點吸引子,對于正Lyapunovz指數(shù)的參數(shù)而言,他們無需精確的周期N分岔就可以直接分岔到混沌狀態(tài)。
1、Lyapunovz指數(shù)
圖像加密算法應(yīng)該擁有姣好的初值敏感性。Lyapunovz指數(shù)是混沌狀態(tài)的一個標準。在對雅克比橢圓映射迭代計算之后,考慮相鄰的兩個點xo與(xo+δ),則其Lyapunovz指數(shù)定義如下:

式中,λ(x0)為Lyapunovz指數(shù);Qtn( xo)為點xo在t時刻的雅克比橢圓混沌映射函數(shù)狀態(tài);δ為相鄰兩點的差值。
很顯然,這些負值表明這個系統(tǒng)是處于吸引子體系中,而他們的正值則暗示了這個系統(tǒng)是可預(yù)測的o Lyapunovz指數(shù)的數(shù)量與初始點xo無關(guān),它表明了在不變流形范圍內(nèi)的運動是遍歷的,因此將λ(xo)雅克比橢圓映射的不變流形視為一個整體。對于方程式(1O)和式(ll)而言,根據(jù)Birkhoff遍歷定理可知,其極限在某些輕微的限制條件下是存在的。對初值條件的敏感性可通過Lyapunovz指數(shù)來預(yù)測。鑒于此,對于混沌加密系統(tǒng)來說,控制參數(shù)值必須按照正Lyapunovz指數(shù)來選擇,對于所有控制參數(shù)值而言,使用一個正Lyapunovz指數(shù)的混沌映射是非常重要的。因此,雅克比橢圓映射由于其具有多個正的Lyapunovz指數(shù),是混沌加密系統(tǒng)的一個好選擇。為了區(qū)分雅克比橢圓映射控制參數(shù)的合理范圍,本文模擬了不同β值對應(yīng)的Lyapunovz指數(shù),如圖l所示。通過調(diào)整初值和控制參數(shù)能夠產(chǎn)生密鑰空間,將雅克比橢圓映射轉(zhuǎn)變?yōu)榛煦缬成洌铱梢愿淖兠荑€空間的大小。
二、S盒變換規(guī)則融合雅克比橢圓混沌映射的圖像加密算法
圖2為本文加橙算法的流程框架圖。其包含了三個階段:①S盒變換階段;②混淆階段;③擴散階段。在S盒變換規(guī)則下預(yù)處理圖像,使得處理后的圖像擁有非線性結(jié)構(gòu),達到了預(yù)混淆效果;通過混淆與擴散階段,并將完整的隨機密碼序列引入在擴散階段,顯著增強了加密算法的安全性。本文設(shè)計的加密算法實現(xiàn)了雙混淆與擴散機制相結(jié)合,顯著增強加密系統(tǒng)的抗攻擊能力。

1、本文加密算法設(shè)計
1)步驟I:S盒變換階段
1)首先從j=2n到2反復(fù)執(zhí)行S盒變換規(guī)則。S盒變換規(guī)則定義如下:
①將區(qū)間[O,1]分成j個子區(qū)間:
![]()
②迭代雅克比橢圓混沌映射模型式(7),迭代次數(shù)為i次,得到當(dāng)前值Qcn(xi,β);
③假沒當(dāng)前狀態(tài)值Qcn(xi,β)位于第m個子區(qū)間![]()
內(nèi)。交換序列K中的第m個整數(shù)后km與第j整數(shù)jm。其中,K為隨意置亂整數(shù)序列{O,1,2…2n—l}所得到的序列之一;
④根據(jù)以下方程改變模型(7)的控制參數(shù)β:
![]()
式(12)中,無限為序列K中的第m個整數(shù);β’為改變后的參數(shù);盧為改變前的參數(shù)。
2)將K轉(zhuǎn)換成一個2a/2×2n/2表格,從而得到nxn的S盒,例如,若圖像大小為256×256,則得到16 x16的s盒。
3)將尺寸為M×N的圖像I分成z個像素塊,每個像素塊為8 byteso定義SBi、Pi分別為像素塊Bi的第j個S盒子、第i個字節(jié)。其中Bi=( PoP1...P7),Bz以此類推。首先用SBi替代Pi,得到替代塊Bz。
![]()
4)隨后利用左循環(huán)移4位操作對步驟3)中得到的替代塊Bj進行置亂,繼而得到密文塊Cz。
S盒變換過程如圖3所示。

步驟2:混淆階段
1)在經(jīng)步驟l預(yù)混淆后圖像里任取一個像素點pi,經(jīng)過代數(shù)變換函數(shù)計算得到x’。
![]()
式(13)中,戈’o為預(yù)設(shè)初值,α、ε為特殊參數(shù),α、ε∈[O,1,2,…,M×N]。
2)將上述得到的xo'作為Logistic混沌映射的初值,對該映射進行達代MxN次,得到一組偽隨機序列 X=(x’l,X'2,X’3"...X’mxN)。
3)在步驟2)中得到的偽隨機數(shù)組任意選取一個x’,將其作為雅克比橢圓混沌映射(7)的初始密鑰匙,并進行迭代計算L+MxN次,l為灰度級別,從而有效地消除了混沌映射的瞬態(tài)效應(yīng),并忽略本輪迭代結(jié)果。
4)在偽隨機序列中再任選一個x'j(i≠j),根據(jù)代數(shù)變換函數(shù)f(i)以及f’j,通過簡單的乘除運算改變雅克比橢圓混沌映射(7)的初值xo以及參數(shù)β,得到新的初始外部密鑰(x’o和β’)。

式(14)中,floor(引代表的是與X相距最小的X整數(shù)(≤X);mod(X,y)代表的是X對y取余,XOR為按位異或操作,B;為第f個像素塊。
5)將步驟4)得到的外部密鑰(菇’o和JB’)視為雅克比橢圓混沌映射(7)的初始條件,再次對模型式(7)進行迭代計算L+MxN次,得到一維數(shù)組Y=(xl,x’2,x’,3,…,XL+JvxN)。
6)借助修正函數(shù)對一維數(shù)組Y=(X"2,,…,XL+VxN)進行修正,得到一個新數(shù)組y,=(xJ,X2,X3,…,XL).修正函數(shù)如式(15)。
![]()
式(15)中,xi為修正后的序列,為修正前的序列。
7)利用步驟6)所得到的新數(shù)組按照按如下方程對S盒變換處理后的圖像像素點Pi進行混淆,直到所有的像素點混淆完畢D像素值混淆方程如下:

式(16)中,P’;一,為混淆后的像素值,Pi-I為S盒變換后的置亂圖像像素值;0代表異或運算。
3)步驟3:擴散階段
1)采用密鑰流機制量化修正后的序列y,(X1,X2,X3,…,XL十MxN),得到一個新的序列S’=(X7I,另’2,菇’3,…,XL.MxN),模型如下:

式(17)中,round(剮代表的是對X進行取整;L代表的是圖像的灰度等級。
2)為了在該階段能夠有效的進行擴散,顯著提高加密系統(tǒng)的安全性,根據(jù)步驟1)得到的密鑰流量化序列S7=(石7】石’2 Xr3..石’工+Ⅳ×Ⅳ),本文設(shè)計一個完整的隨機密碼序列X=(XI,X2,X3,…,面L.MxⅣ):
![]()
式(18)中,mod(X,y)代表的是X對y取余;floor(鄹代表的是與X相距最小的X整數(shù)(≤X)o
3)利用完整的隨機密碼序列X=(XI,X2,X3,”.,XL+ⅣxN)o
按照擴散機制對混淆后的圖像像素進行擴散。
擴散模型如下:

式(19)中,①代表異或運算。n是迭代次數(shù),W( r}-l)町、P’(n—I)町分別代表密文像素值、混淆圖像像素值;JV(n-I)+j-1為對應(yīng)被處理明文圖像的前一個密文圖像的像素值,其初值Wo位于[O,255]內(nèi),為整數(shù)常量;a為特殊參數(shù),O∈[O,1,2,…,M×N]。
小知識之迭代
迭代是重復(fù)反饋過程的活動,其目的通常是為了逼近所需目標或結(jié)果。每一次對過程的重復(fù)稱為一次“迭代”,而每一次迭代得到的結(jié)果會作為下一次迭代的初始值。



