專利名稱::一種基于三維Arnold映射的圖像分組加密方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種基于三維Arnold映射的圖像分組加密方法,屬于信息安全領(lǐng)域中的密碼技術(shù),是一種利用電子計算機技術(shù)、混沌映射實現(xiàn)的基于s-p網(wǎng)絡(luò)的圖像數(shù)據(jù)加密方案。
背景技術(shù):
:隨著Internet在多個領(lǐng)域的快速發(fā)展,現(xiàn)代社會對國際互聯(lián)網(wǎng)的依賴越來越深,然而,隨著互聯(lián)網(wǎng)同時出現(xiàn)的安全問題也成為了用戶在選擇使用時關(guān)注的一個重要方面。近年來,網(wǎng)絡(luò)安全事故的頻頻發(fā)生,給大到國家小到個人的國際互聯(lián)網(wǎng)用戶帶來了巨大的損失,因此,信息安全問題成為了計算機領(lǐng)域不容忽視的問題。隨著學(xué)科的發(fā)展,密碼術(shù)在許多研究人員的不懈努力下,已經(jīng)發(fā)展成為信息安全領(lǐng)域最受歡迎的數(shù)據(jù)保護手段之一?;煦缑艽a系統(tǒng)具有各態(tài)遍歷性和對初值、參數(shù)敏感的特點,非常適合構(gòu)建加密方法,而且混沌密碼系統(tǒng)還具有加密速度快,資源耗費少,實現(xiàn)過程簡單明了,為數(shù)據(jù)的安全傳輸提供了很好的加密應(yīng)用,因此混沌密碼學(xué)(明文數(shù)據(jù)與亂數(shù)流疊加產(chǎn)生密文)成為近代加密學(xué)的一個熱點。常見的混沌密碼系統(tǒng)主要分為兩類1.基于混沌的流密碼,即利用混沌映射產(chǎn)生密鑰流,一次與一個明文符號進行加密操作;2.基于混沌的塊密碼,把一定大小的一組明文作為明文塊,通過混沌映射進行加密操作。一般來說,基于混沌的塊密碼的應(yīng)用要比流密碼的應(yīng)用廣泛的多。混沌密碼學(xué)還正處于發(fā)展階段,近些年來,很多關(guān)于混沌系統(tǒng)的圖像加密方案接連呈現(xiàn)于大家的視野,但是卻不得不說一些低維混沌密碼系統(tǒng)已經(jīng)被證明存在安全問題。例如,使用一維混沌系統(tǒng)的加密方法,密鑰空間不夠,直接導(dǎo)致無法抵御窮舉攻擊,同時容易利用相空間重構(gòu)方法破解出密鑰,從而不能抵御已知明文攻擊。二維Cat映射和Baker映射在某些參數(shù)下不能保證其安全性。Cat映射加密方法在某些控制參數(shù)下經(jīng)過多次迭代可恢復(fù)明文,Baker映射加密方法在某些控制參數(shù)下迭代多次并不能改變明文。這就需要在方法構(gòu)建時有效的排除此類弱密鑰,以保證方法安全??梢娫诨煦缑艽a方法構(gòu)建的過程中,混沌映射的應(yīng)用方式直接影響到方法的安全性。許多利用高維混沌的加密方法也就應(yīng)時而生了。
發(fā)明內(nèi)容要解決的技術(shù)問題為了避免現(xiàn)有技術(shù)的不足之處,本發(fā)明提出一種基于三維Arnold映射的圖像分組加密方法,以保證在混沌密碼方法構(gòu)建的過程中,混沌映射應(yīng)用方式影響到方法的安全性。本發(fā)明的思想在于首先采用擴展到三維的Arnold映射構(gòu)造S盒,再由Chebyshev映射產(chǎn)生的混沌序列進行排序法置亂,經(jīng)多輪迭代完成加密操作。技術(shù)方案—種基于三維Arnold映射的圖像分組加密方法,其特征在于対于數(shù)字圉像Pwxh,其中W是圖像的寬度,H是圖像的高度,均以像素計,其加密的具體步驟如下步驟1:輸入4個32位無符號整型密鑰key0,keyl,key2,key3,所述的key0、keyl、key2、key3為由用戶提供的32位無符號整型密鑰;步驟2:計算x01=(key0+keyl)/(0xffffffff*2)和x02=(key2+key3)/(0xffffffff*2),以xOl和x02分別作為logistic的參數(shù),然后采用logistic映射迭代100次得到x21和x22,x2=(x21+x22)/2;所述的logistic映射為xn+1=xn,yG(0,2),xnG[-l,l];其中的x01、x02、x21、x22均為求雙精度數(shù)x2的中間變量;步驟3:以x2為參數(shù),采用chebyshev每迭代100次,取混沌序列值,生成S_xO[times]數(shù)組中的一個值,直至生成整個以times為大小的數(shù)組;所述的times為加密輪數(shù)大于4;所述的chebyshev映射為:xn+1=cos(kcos—1(xn)),k>2,xnG[-1,1];步驟4:計算y01=(key0+key2)/(Oxffffffff*2)和y02=(keyl+key3)/(Oxffffffff*2),分別用logistic映射迭代100次得到y(tǒng)21和y22,y2=(y21+y22)/2;其中的y01、y02、y21、y22均為求雙精度數(shù)y2的中間變量;步驟5:以y2為參數(shù),用chebyshev每迭代100次,取混沌序列值,然后把序列映射到(1,2]范圍內(nèi)生成S_uO[times]數(shù)組的一個值,直至生成整個以times為大小的數(shù)組;步驟6:第k輪第j塊sbOX_xO經(jīng)過下列迭代logxO[k]=S_xO[k],logxO[k][j]=l—suO承l(wèi)ogxO[k]承l(wèi)ogxO[k][j_l],sbox_xO[k][j]=fabs(cos(4承acos(logxO[k][j])))其中xO[][]是為計算sbOX_xO[k][j]值而建立的臨時中間數(shù)組;步驟7:計算zOl=(key0+keyl)/(0xffffffff*2),z02=(key2+key3)/(0xffffffff*2),分別用chebyshev映射迭代100次得到z21和z22,z2=(z21+z22)/2;其中的z01、z02、z21、z22均為求雙精度數(shù)z2的中間變量;步驟8:以z2為參數(shù),用logistic每迭代100次,取混沌序列值,生成P_uO[times]數(shù)組中的一個值,直至生成整個以times為大小的數(shù)組;步驟9:將數(shù)字圖像PwxH按8承8像素點分塊,每一塊中第l個像素點P。={r,g,b}T,以S_uO[k]為參數(shù)用Logistic映射生成長度為6的混沌序列D[O..5],其中r為數(shù)字圖像塊中紅色的值,g為數(shù)字圖像塊中綠色的值,b為數(shù)字圖像塊中藍(lán)色的值;步驟10:通過K[i]=(D[i]*106)mod256(i=O,l,,5)生成K[O..5],把K[O.5]作為三維Arnold映射的參數(shù),根據(jù)Arnold映射獲得矩陣A,1"12+ai3*fefll2*"23+fll3*(l+a23*fe)y4=Z)12l+ai2*6l2+Z12*ai3*to(l+ai2*Z>12)*a23+Z12*ai3*(l+a23*fe)6l3(l+"13*6l3)*te(l+"13*fe)*(l+a23*te)5其中a12=k[O],a13=k[l],a23=k[2],b12=k[3],b13=k[4],b23=k[5];由B={KeK[l],K[2]K[3],K[4]K[5]}T生成歹ij矩陣B,通過S『(A^Pi)eB得到S盒的輸出結(jié)果S。,其中Pi為第i個像素點的值P二(r,g,b);步驟11:根據(jù)sbox—x「(sbox—xw+(Pi小rePi小gePi小b)/255)/2修改用于加密每塊中第i個像素的混沌映射的初始參數(shù);每次新生成用于加密此像素點的數(shù)組K中的K[3]、K[4]、K[5],而K[O]、K[l]、K[2]選取第i_l個像素點對應(yīng)數(shù)組K中的K[3]、K[4]、K[5];步驟12:將S。的每個字節(jié)分成高4位和低4位生成sbox—out,用P_u0[k]作為初始值生成長度為(8*8-1)*3*2的序列p[378],把步驟6、7中的前s個元素與p[O..378]—一對應(yīng),對p[O..378]進行排序,同時改變s[O..378]序列中元素的位置,s[379..384]位置不變;步驟13:合并高4位和低4位生成p[192],把前三個字節(jié)與后三個字節(jié)交換位置;步驟14:再用xn+1=cos(4cos—'GO),xnG[-l,l]生成混沌值映射到整數(shù)m,0<m<n-l,選取第m種排序方法進行置亂;重復(fù)步驟611,直到加密完成,其中n為排序方法,n=width/block—size。上述方法的解密方法為加密過程的逆過程。有益效果本發(fā)明提出的一種基于三維Arnold映射的圖像分組加密方法,首先采用擴展到三維的Arnold映射構(gòu)造S盒,再由Chebyshev映射產(chǎn)生的混沌序列進行排序法置亂,經(jīng)多輪迭代完成加密操作。理論分析和實驗結(jié)果表明方法具有密鑰空間大、敏感度高、速度快、安全性好,抗攻擊能力強等優(yōu)點。與同類方法相比,該方法保證安全性的同時具有更快的速度,更適合用于圖形數(shù)據(jù)加密。主要優(yōu)越性在于有足夠大的密鑰空間抵抗窮舉攻擊;任何一位密鑰的改變都會使混沌序列的初始值和參數(shù)完全改變。這樣極大的增加了密鑰的敏感性;統(tǒng)計特性不會暴露任何有用信息,密圖相鄰像素相關(guān)性小和抗攻擊能力強。圖l:本發(fā)明的加密過程圖2:采用本方法的加密圖像試驗圖3:采用本方法的加密圖像試驗圖4:Lena圖像加密后的統(tǒng)計直方圖圖5:明密文圖像中的水平相鄰像素相關(guān)性分析具體實施例方式現(xiàn)結(jié)合實施例、附圖對本發(fā)明作進一步描述數(shù)字圖像Input—Picture,用Mwxh表示,w是圖像的寬度,以像素計,將圖像按8*8像素點分塊,block—size是加密塊的大小,n=w/block—size,每一加密塊中第一個像素點P。={r,g,b}T'。下文所有雙精度的值key0key3以及int類型times都由用戶提供,取u0=1.9999。具體加密過程如下(參見附圖1):61.分別利用公式xOl=(keyO+keyl)/(0xffffffff*2)和x02=(key2+key3)/(0xffffffff*2),得到的xOl和x02作為logistic的參數(shù),迭代100次得到x21和x22。2.用x2=(x21+x22)/2得到的x2作為chebyshev的參數(shù),然后每迭代100次,取混沌序列值,生成S—xO[times]中的一個數(shù)組元素值,直至生成整個以times為大小的數(shù)組,數(shù)組中的每一個值作為每輪生成s盒混沌映射的初始值。3.分別利用公式y(tǒng)Ol=(key0+key2)/(Oxffffffff*2),y02=(keyl+key3)/(0xffffffff*2),得到的yOl和y02作為logistic的參數(shù),迭代100次得到y(tǒng)21和y22。4.用y2=(y21+y22)/2得到的y2作為chebyshev的參數(shù),然后每迭代100次,取混沌序列值,把序列映射到(1,2]范圍內(nèi)生成S—uO[times]中的一個數(shù)組元素值,直至生成整個以times為大小的數(shù)組,數(shù)組中的每一個值作為每輪生成s盒混沌映射的參數(shù)。5.分別利用公式zOl=(key0+keyl)/(0xffffffff*2),z02=(key2+key3)/(0xffffffff*2),得到的zOl和z02作為chebyshev的參數(shù),迭代100次得到z21和z22。6.用z2二(z21+z22)/2得到的z2作為chebyshev的參數(shù),然后每迭代100次,取混沌序列值0,生成P_uO[timeS]數(shù)組中的一個值,直至生成整個以times為大小的數(shù)組,數(shù)組中的每一個值作為對應(yīng)每輪生成P盒混沌映射的初始值。7.將第k輪s盒混沌映射的參數(shù)S_uO[k]賦值給suO,將另一參數(shù)S_xO[k]賦值給logxO[k][O],利用迭代公式logxO[k][j]=l-su0*lOgX0[k]*lOgX0[k][j-1]得到logxO[k][j],作為fabs(cos(4*aC0S(logxO[k][j])))的參數(shù),算出第k輪j±央s盒混沌映射的初始值sbOX_xO[k][j]。8.以S_uO[k]為參數(shù)代入公式xn+1=xn,iiG(0,2),xnG[-1,1]生成一個長度為6的混沌序列D[O..5],并通過K[i]=(D[i]*106)mod256生成Arnold矩陣。9.取K混沌序列的后三個值作為三維Arnold映射的參數(shù),并且算出B二(K十K[1],K[2]K[3],K[4]④K[5]廠的值。10.S盒的輸出為S。=(A*P。)④B,修改用于加密每塊中第i個像素的混沌映射的初始參數(shù),利用sbox—Xl=(sbox—Xw+(Pi—lr④Pw.gePH.b)/255)/2,計算出加密每塊中第i個像素的混沌映射的初始參數(shù)sboX_Xi。11.將s盒輸出的結(jié)果的每個字節(jié)分成高低4位生成sbox—out,用P—uO[k]作為初始值生成長度為(8*8-1)*3*2的序列p[378],把步驟10中的前s個元素與p[O..378]—一對應(yīng),對p[O..378]進行排序,同時改變s序列中元素的位置,s[379..384]位置不變。把前三個字節(jié)與后三個字節(jié)交換位置后,合并高低四位生成p[192]。12.利用xn+1=cos(4cos—'GO),xnG[-1,1]生成混沌值映射到整數(shù)m(O<m<n-1),選取第m種排序方法進行置亂。13.重復(fù)8-12步驟,直到加密完成。解密過程為加密過程的逆過程。根據(jù)本實施例可以看出本發(fā)明具有如下特點本方法首先采用擴展到三維的Arnold映射構(gòu)造S盒,再由Chebyshev映射產(chǎn)生的混沌序列進行排序法置亂,經(jīng)多輪迭代完成加密操作。理論分析和實驗結(jié)果表明方法具有密鑰空間大、敏感度高、速度快、安全性好,抗攻擊能力強等優(yōu)點。與同類方法相比,該方法保證安全性的同時具有更快的速度,更適合用于圖形數(shù)據(jù)加密。I.密鑰空間大由于本方法復(fù)合使用了多個混沌映射,而且本方法所采用的是128位密鑰,密鑰空間為2128,所以本方法有足夠的密鑰空間抵抗窮舉攻擊。II.敏感度高本方法中混沌映射的初始值和參數(shù)是由128位密鑰整體生成,其中任何一位密鑰的改變都會使混沌序列的初始值和參數(shù)完全改變。這樣極大的增加了密鑰的敏感性。隨機選取128加密密鑰為5fe2345978d2e3al4dfea580falb3e68,加密4輪,對512*512的lena圖進行加密,加密時間為0.359s。實驗結(jié)果如附圖2,很明顯,圖像的加密結(jié)果使得原始信息不可辨識,同時如果輸入正確的密鑰就可以得到如附圖3所示的正確解密結(jié)果。表1的結(jié)果說明該方法對于一個固定長度的明文塊,當(dāng)密鑰的任意一位發(fā)生改變時,密文塊的每個位發(fā)生改變的概率為50%,滿足精確密鑰雪崩標(biāo)準(zhǔn),可以在一定程度上抵抗差分密碼攻擊。原始密鑰改變一位新密文與原密文不同位數(shù)百分比5fe2345978d2e3al4dfea580falb3e685fe2345978d2e3al4dfea580falb3e6949.9簡%5fe2145978d2e3al4dfea580falb3e6849.9875%5fe2345978d2e3alcdfea580falb3e6849.9828%表l密鑰改變一位密文變化百分比表2的結(jié)果說明該方法對于一個固定長度的明文塊,當(dāng)明文塊的任意變時,密文塊的每個位發(fā)生改變的概率為50%,滿足精確密鑰雪崩標(biāo)準(zhǔn),可以在抵抗差分密碼攻擊。密鑰改變明文塊一位新密文與原密文不同位數(shù)百分比5fe2345978d2e3al4dfea580falb3e68改變每塊第一個字節(jié)的最低1位50.0287%改變每塊第91個字節(jié)的最高1位50.0111%改變每塊最后一個字節(jié)的最低1位49.9816%表2明文塊改變一位密文變化百分比8位發(fā)生改定程度上III.統(tǒng)計特性不會暴露任何有用信息—個好的圖像加密方法應(yīng)該使得密圖在統(tǒng)計上不能提供任何有用的信息,從而使得破解變得更加困難,比較理想的狀態(tài)是加密過程將原始圖像像素值的不均勻分布變成了像素值的均勻分布;使密文像素值在整個空間范圍內(nèi)取值概率均等,則明文的統(tǒng)計特性完全被打破。這樣使得加密的安全性更高。附圖4展示了原圖與密圖的色彩分量的灰度直方圖??梢钥闯觯軋D的紅、綠、藍(lán)分量的灰度直方圖都呈均勻分布,這說明加密方法對原圖像起到了很好的混淆效果,有效地掩蓋了原圖的統(tǒng)計特征,攻擊者很難通過對密圖灰度直方圖的分析得到有用的信息。IV.密圖相鄰像素相關(guān)性小為了檢驗明文圖像和密文圖像相鄰像素的相關(guān)性,從密圖中隨機選取1000個相鄰像素對(分別在水平、豎直和對角線方向上)。然后,用公式定量計算相鄰像素相關(guān)性并畫出對應(yīng)的分析圖像。附圖5即為該方法像素點相關(guān)性分析的結(jié)果,其中,x和y分別表示圖像中兩個相鄰像素的灰度值,Yxy即為兩個相鄰像素的相關(guān)系數(shù)。通常原始明文圖像的相鄰像素的相關(guān)系數(shù)接近于1,即相鄰像素是高度相關(guān)的。而比較理想的加密方法使得密圖的相鄰像素的相關(guān)系數(shù)接近于0,即相鄰像素已基本不相關(guān),這樣可以說明明文的統(tǒng)計特征已被擴散到隨機的密文中。V.抗攻擊能力強低維混沌系統(tǒng)受有限精度影響產(chǎn)生短周期效應(yīng),嚴(yán)重影響其產(chǎn)生序列的隨機性。而盡管采用復(fù)雜的非線性高維混沌系統(tǒng)可以克服一維混沌系統(tǒng)不能抵御相空間重構(gòu)攻擊的缺點,但此類方案計算復(fù)雜度高,難以滿足實時性要求。本方法利用三維Arnold映射構(gòu)建的S盒,用Chebyshev映射構(gòu)建的擴散過程以及密鑰產(chǎn)生器,能夠很好地增加方法的抗攻擊能力。根據(jù)香農(nóng)的信息論,當(dāng)密圖信源隨機的傳輸信息時,信源的熵值應(yīng)為8,因此,考慮到現(xiàn)實中的信源很少真正隨機的傳輸數(shù)據(jù),一個安全的圖像加密算法加密后的圖像的熵值應(yīng)該盡可能的接近于8。利用公式,我們得到密圖的熵值H(S)=7.999745,這說明加密過程中的信息泄漏是可以忽略的,并且加密系統(tǒng)可以抵抗熵攻擊。此外,我們可以看到,明文圖像中的每一個像素在迭代過程中都做為產(chǎn)生logistic序列的參數(shù)出現(xiàn),所以密鑰子序列的產(chǎn)生與明文高度相關(guān),因而本方法能夠有效抵抗已知明文攻擊。權(quán)利要求一種基于三維Arnold映射的圖像分組加密方法,其特征在于對于數(shù)字圖像PW×H,其中W是圖像的寬度,H是圖像的高度,均以像素計,其加密的具體步驟如下步驟1輸入4個32位無符號整型密鑰key0,key1,key2,key3,所述的key0、key1、key2、key3為由用戶提供的32位無符號整型密鑰;步驟2計算x01=(key0+key1)/(0xffffffff*2)和x02=(key2+key3)/(0xffffffff*2),以x01和x02分別作為logistic的參數(shù),然后采用logistic映射迭代100次得到x21和x22,x2=(x21+x22)/2;所述的logistic映射為xn+1=1-μxn,μ∈(0,2),xn∈[-1,1];其中的x01、x02、x21、x22均為求雙精度數(shù)x2的中間變量;步驟3以x2為參數(shù),采用chebyshev每迭代100次,取混沌序列值,生成S_x0[times]數(shù)組中的一個值,直至生成整個以times為大小的數(shù)組;所述的times為加密輪數(shù)大于4;所述的chebyshev映射為xn+1=cos(kcos-1(xn)),k≥2,xn∈[-1,1];步驟4計算y01=(key0+key2)/(0xffffffff*2)和y02=(key1+key3)/(0xffffffff*2),分別用logistic映射迭代100次得到y(tǒng)21和y22,y2=(y21+y22)/2;其中的y01、y02、y21、y22均為求雙精度數(shù)y2的中間變量;步驟5以y2為參數(shù),用chebyshev每迭代100次,取混沌序列值,然后把序列映射到(1,2]范圍內(nèi)生成S_u0[times]數(shù)組的一個值,直至生成整個以times為大小的數(shù)組;步驟6第k輪第j塊sbox_x0經(jīng)過下列迭代logx0[k]=S_x0[k],logx0[k][j]=1-su0*logx0[k]*logx0[k][j-1],sbox_x0[k][j]=fabs(cos(4*acos(logx0[k][j])))其中x0[][]是為計算sboxx0[k][j]值而建立的臨時中間數(shù)組;步驟7計算z01=(key0+key1)/(0xffffffff*2),z02=(key2+key3)/(0xffffffff*2),分別用chebyshev映射迭代100次得到z21和z22,z2=(z21+z22)/2;其中的z01、z02、z21、z22均為求雙精度數(shù)z2的中間變量;步驟8以z2為參數(shù),用logistic每迭代100次,取混沌序列值,生成Pu0[times]數(shù)組中的一個值,直至生成整個以times為大小的數(shù)組;步驟9將數(shù)字圖像PW×H按8*8像素點分塊,每一塊中第1個像素點P0={r,g,b}T,以Su0[k]為參數(shù)用Logistic映射生成長度為6的混沌序列D,其中r為數(shù)字圖像塊中紅色的值,g為數(shù)字圖像塊中綠色的值,b為數(shù)字圖像塊中藍(lán)色的值;步驟10通過K[i]=(D[i]*106)mod256(i=0,1,...,5)生成K,把K作為三維Arnold映射的參數(shù),根據(jù)Arnold映射獲得矩陣A,<mrow><mi>A</mi><mo>=</mo><mfencedopen='['close=']'><mtable><mtr><mtd><mn>1</mn></mtd><mtd><msub><mi>a</mi><mn>12</mn></msub><mo>+</mo><msub><mi>a</mi><mn>13</mn></msub><mo>*</mo><msub><mi>b</mi><mn>23</mn></msub></mtd><mtd><msub><mi>a</mi><mn>12</mn></msub><mo>*</mo><msub><mi>a</mi><mn>23</mn></msub><mo>+</mo><msub><mi>a</mi><mn>13</mn></msub><mo>*</mo><mrow><mo>(</mo><mn>1</mn><mo>+</mo><msub><mi>a</mi><mn>23</mn></msub><mo>*</mo><msub><mi>b</mi><mn>23</mn></msub><mo>)</mo></mrow></mtd></mtr><mtr><mtd><msub><mi>b</mi><mn>12</mn></msub></mtd><mtd><mn>1</mn><mo>+</mo><msub><mi>a</mi><mn>12</mn></msub><mo>*</mo><msub><mi>b</mi><mn>12</mn></msub><mo>+</mo><msub><mi>b</mi><mn>12</mn></msub><mo>*</mo><msub><mi>a</mi><mn>13</mn></msub><mo>*</mo><msub><mi>b</mi><mn>23</mn></msub></mtd><mtd><mrow><mo>(</mo><mn>1</mn><mo>+</mo><msub><mi>a</mi><mn>12</mn></msub><mo>*</mo><msub><mi>b</mi><mn>12</mn></msub><mo>)</mo></mrow><mo>*</mo><msub><mi>a</mi><mn>23</mn></msub><mo>+</mo><msub><mi>b</mi><mn>12</mn></msub><mo>*</mo><msub><mi>a</mi><mn>13</mn></msub><mo>*</mo><mrow><mo>(</mo><mn>1</mn><mo>+</mo><msub><mi>a</mi><mn>23</mn></msub><mo>*</mo><msub><mi>b</mi><mn>23</mn></msub><mo>)</mo></mrow></mtd></mtr><mtr><mtd><msub><mi>b</mi><mn>13</mn></msub></mtd><mtd><mrow><mo>(</mo><mn>1</mn><mo>+</mo><msub><mi>a</mi><mn>13</mn></msub><mo>*</mo><msub><mi>b</mi><mn>13</mn></msub><mo>)</mo></mrow><mo>*</mo><msub><mi>b</mi><mn>23</mn></msub></mtd><mtd><mrow><mo>(</mo><mn>1</mn><mo>+</mo><msub><mi>a</mi><mn>13</mn></msub><mo>*</mo><msub><mi>b</mi><mn>23</mn></msub><mo>)</mo></mrow><mo>*</mo><mrow><mo>(</mo><mn>1</mn><mo>+</mo><msub><mi>a</mi><mn>23</mn></msub><mo>*</mo><msub><mi>b</mi><mn>23</mn></msub><mo>)</mo></mrow></mtd></mtr></mtable></mfenced></mrow>其中a12=k,a13=k[1],a23=k[2],b12=k[3],b13=k[4],b23=k[5];由生成列矩陣B,通過B得到S盒的輸出結(jié)果S0,其中Pi為第i個像素點的值P=(r,g,b);步驟11根據(jù)修改用于加密每塊中第i個像素的混沌映射的初始參數(shù);每次新生成用于加密此像素點的數(shù)組K中的K[3]、K[4]、K[5],而K、K[1]、K[2]選取第i-1個像素點對應(yīng)數(shù)組K中的K[3]、K[4]、K[5];步驟12將S0的每個字節(jié)分成高4位和低4位生成sbox_out,用P_u0[k]作為初始值生成長度為(8*8-1)*3*2的序列p[378],把步驟6、7中的前s個元素與p一一對應(yīng),對p進行排序,同時改變s序列中元素的位置,s[379..384]位置不變;步驟13合并高4位和低4位生成p[192],把前三個字節(jié)與后三個字節(jié)交換位置;步驟14再用xn+1=cos(4cos-1(xn)),xn∈[-1,1]生成混沌值映射到整數(shù)m,0<m<n-1,選取第m種排序方法進行置亂;重復(fù)步驟6~11,直到加密完成,其中n為排序方法,n=width/block_size。F2009102191657C0000022.tif,F2009102191657C0000023.tif,F2009102191657C0000024.tif2.根據(jù)權(quán)利要求l所述的基于三維Arnold映射的圖像分組加密方法,其特征在于上述方法的解密方法為加密過程的逆過程。全文摘要本發(fā)明涉及一種基于三維Arnold映射的圖像分組加密方法,其特征在于首先采用擴展到三維的Amold映射構(gòu)造S盒,再由Chebyshev映射產(chǎn)生的混沌序列進行排序法置亂,經(jīng)多輪迭代完成加密操作。理論分析和實驗結(jié)果表明方法具有密鑰空間大、敏感度高、速度快、安全性好,抗攻擊能力強等優(yōu)點。與同類方法相比,該方法保證安全性的同時具有更快的速度,更適合用于圖形數(shù)據(jù)加密。主要優(yōu)越性在于有足夠大的密鑰空間抵抗窮舉攻擊;任何一位密鑰的改變都會使混沌序列的初始值和參數(shù)完全改變。這樣極大的增加了密鑰的敏感性;統(tǒng)計特性不會暴露任何有用信息,密圖相鄰像素相關(guān)性小和抗攻擊能力強。文檔編號G06T9/00GK101739695SQ20091021916公開日2010年6月16日申請日期2009年11月26日優(yōu)先權(quán)日2009年11月26日發(fā)明者周哲,張云鵬,張向彬,朱歟,楊海兵,潘文杰,趙新奎申請人:西北工業(yè)大學(xué)