一種基于混沌技術(shù)的新型圖像置亂方法
【專利摘要】本發(fā)明公開了一種基于混沌技術(shù)的新型圖像置亂方法,通過量化處理后的混沌序列來控制圖像的循環(huán)移位和旋轉(zhuǎn)角度。首先結(jié)合彩色圖像R,G,B,不同層的特征值產(chǎn)生混沌系統(tǒng)的三個初始值,然后通過獨立的混沌系統(tǒng)產(chǎn)生三個混沌序列;根據(jù)明文圖像長和寬的最大值定義變量w對混沌序列進行量化處理;最后通過三個混沌序列的兩兩結(jié)合來控制不同圖層、不同行像素的循環(huán)移位位數(shù)和旋轉(zhuǎn)角度,最終得到置亂后的彩色圖像。本發(fā)明置亂后的圖像具有很好的隨機性,不僅能夠抵御常規(guī)圖像攻擊,而且也打破傳統(tǒng)置亂圖像算法加密后不同圖像層在相同位置像素具有很高相關(guān)性的局限。
【專利說明】
一種基于混沌技術(shù)的新型圖像置亂方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及圖像加密技術(shù)領(lǐng)域,具體涉及一種基于混沌技術(shù)的新型圖像置亂方 法。
【背景技術(shù)】
[0002] 圖像置亂是指對圖像的像素進行混淆,也叫像素洗牌。在如今的圖像加密技術(shù)中 擴散和混淆是當(dāng)前比較常見的技術(shù)。當(dāng)前大多數(shù)的圖像加密都是將擴散和混淆相組合的方 法對圖像進行加密?,F(xiàn)在主要對圖像在像素域、色度域、頻率域和位平面這四個方向?qū)D像 進行加密。研究者主要是通過優(yōu)化擴散對圖像進行處理,使其具有一定隨機性,對原始圖像 信息進行隱藏,一定程度上忽略了混淆算法的重要性,這些置亂算法往往大同小異。如在像 素域通常采用正交變換,騎士巡游變換,阿諾德貓映射,遍歷陣算法等。這些算法中最常見 的是阿諾德貓映射和遍歷陣算法,但是這兩種算法都存在許多的不足之處。
[0003] 第一種貓映射算法,其變換公式如下所示。 _4] 涵―^
[0005] 其中(X,Y)為圖像的初始坐標(biāo),通過轉(zhuǎn)換得到了新的坐標(biāo)(Xn+1,Yn+1),但貓映射存 在很多的局限性。例如貓映射受到明文圖像的尺寸限制,其尺寸必須是NXN的方形規(guī)則圖 像,如果對不規(guī)則圖像,就得對其進行模塊化處理,這就顯得十分復(fù)雜。而且對于一次轉(zhuǎn)化, 圖像置亂的效果并不是很理想,還是能反映比較多的圖像信息,并且使得圖像的相鄰像素 點相關(guān)性比較高。因此往往需要通過多次迭代才能有比較好的效果。但通過多次迭代加密 后會對解密的要求變得很高,往往需要通過多次迭代才能得到解密圖像,增加了計算難度 與解密時間。而且貓映射存在循環(huán)周期,使其置亂結(jié)果存在有限性,容易被破解。
[0006] 第二種是遍歷算法,這種算法是通過混沌系統(tǒng)得到與明文圖像長和寬相等的兩個 遍歷序列,對像素的坐標(biāo)進行改變。這種方法由于受到計算機有限精度的影響,產(chǎn)生的混沌 序列并不會完全遍歷,因此需要通過人為操作對其進行遍歷化處理。比較常見的是通過對 混沌序列冒泡排序的同時對順序序列進行打亂得到遍歷序列,或者通過插值法,對混沌序 列中所重復(fù)或者所缺的值進行增減。最后用所得到的兩個遍歷序列對圖像的行與列進行重 排。通過上述兩種人為的方法進行遍歷化處理都會使得產(chǎn)生序列的隨機性下降,導(dǎo)致置亂 后的圖像相鄰像素間存在比較高的相關(guān)性,置亂效果不理想,并且需要通過多次置亂才能 得到比較好的效果,這樣就大大增加了算法的復(fù)雜度與圖像置亂的時間。
【發(fā)明內(nèi)容】
[0007] 為了解決上述所存在的問題,增強圖像信息的安全性,提高加密處理的效率,本發(fā) 明提供一種基于混沌技術(shù)的新型圖像置亂方法。
[0008] 發(fā)明的新型圖像置亂方法主要以混沌系統(tǒng)構(gòu)造隨機數(shù)發(fā)生器,根據(jù)圖像本身的特 性產(chǎn)生混沌初值和量化參數(shù),對生成的混沌序列進行量化處理,并利用魔方的循環(huán)移位和 旋轉(zhuǎn)機制,實現(xiàn)圖像RGB三層的相互置亂加密,并最終得到了置亂后的圖像。
[0009] 實現(xiàn)本發(fā)明的技術(shù)方案為:
[0010] -種基于混沌技術(shù)的新型圖像置亂方法,包括圖像置亂和圖像解置亂兩個過程;
[0011] 所述圖像置亂過程包括如下步驟:
[0012] 1)求出各層中二進制數(shù)"1"的百分比值,分別將其設(shè)置混沌系統(tǒng)的初始值XR(1), XC (1),XB(1);
[0013] 2)比較初始圖像的長和寬,取其較大值為參數(shù)w;根據(jù)初始值XR (1),XG (1),XB (1), 迭代混純系統(tǒng)(l)w次,得到混純序列XR(n),xc(n),XB(n),l<n<w;
[0015] 其中,式⑴中a(〇<a<l,且a判.5)是帳篷映射的控制參數(shù),i表示序列的第i個 值,XR, G,B表示生成與RGB三層相對應(yīng)的三組混沌序列;進一步通過下式(2)將上述所得到的 三個序列的數(shù)值進行量化得到對應(yīng)的整數(shù)序列X' r (n),X' c (n),X' b (n);
[0016] x'r,g,bQ) =XR,G,B(i) X 1014modw+l i G (1,w) (2)
[0017] X'R,G,B表示通過量化后的三組混沌序列;
[0018] 3)對R、G、B三層進行循環(huán)移位和旋轉(zhuǎn)操作,具體循環(huán)移位和旋轉(zhuǎn)方式如下:
[0019] 假定置亂處理過程中各層數(shù)據(jù)矩陣任意時刻的行數(shù)為L,對圖像R層的置亂步驟 為:
[0020] a.設(shè)i = l,對R層中小于等于L/2的偶數(shù)行和大于等于L/2的奇數(shù)行進行循環(huán)左移 YcG)位;對R層中的其它行進行循環(huán)右移YbG)位,如式(3)所示,其中i表示序列的第i個 值,Ir表示圖像的R層矩陣,j表示圖像的第j行;
[0022] b.-次循環(huán)移位完成后,對得到的新矩陣向右旋轉(zhuǎn)90° ;
[0023] c ?令i = i+l,重復(fù)步驟a和步驟b;
[0024] d.當(dāng)i>w時,R層置亂操作完成;
[0025]圖像G層和B層的置亂步驟與R層的置亂步驟基本一致,只存在處理的細(xì)微區(qū)別,具 體為:
[0026]①G層與R層的奇偶移位方向相反且移位控制參數(shù)不同,如對G層中小于等于L/2的 奇數(shù)行和大于等于L/2的偶數(shù)行進行循環(huán)左移Wi)位,對其它行進行循環(huán)右移YbG)位, 具體如式(4)所示;
[0028]②B層與R層的旋轉(zhuǎn)方向相反且移位控制參數(shù)不同,如B層步驟b中為向左旋轉(zhuǎn)90°, 移位控制參數(shù)分別為V R( i)和V e( i),具體如式(5)所示;
[0030] 通過上述對R層、G層和B層的置亂,最終得到置亂的圖像,置亂過程結(jié)束;
[0031 ]所述圖像的解置亂過程包括如下步驟:
[0032] 1)與置亂過程的步驟1)、2)、3)-致,首先得到三個整數(shù)混沌序列Wnhx'dn), X' B(n),Kn<w;
[0033] 2)同理,對R、G、B三層進行循環(huán)移位和旋轉(zhuǎn)操作,假設(shè)解置亂過程中各層矩陣任意 時刻的行數(shù)為L,對R層的解密步驟為:
[0034] a.設(shè)i=w,對R層中小于等于L/2的偶數(shù)行和大于L/2的奇數(shù)行進行循環(huán)右移Yc (i)位,對R層中其它行進行循環(huán)左移V b(i)位;
[0035] b.-次循環(huán)移位完成后,對得到的新矩陣向左旋轉(zhuǎn)90° ;
[0036] c ?令i = i_l,重復(fù)步驟a和步驟b;
[0037] d.當(dāng)i彡0時,R層解置亂操作完成。
[0038] 對G層和B層的解置亂過程基本一致,具體細(xì)節(jié)區(qū)別為:G層各行的移位方式與R層 相反,且控制參數(shù)分別為Wi)和YbG);而B層的解置亂時每次的旋轉(zhuǎn)方向與R層相反,且 以移位的控制參數(shù)分別為V R( i)和V c( i)的移位方式進行解置亂。
[0039] 通過上對述R層、G層和B層的解置亂,最終得到解置亂后的圖像,解置亂過程結(jié)束。
[0040] 本發(fā)明基于混沌技術(shù)的新型圖像置亂方法有益效果體現(xiàn)在:
[0041] 1)混沌系統(tǒng)的初始值是根據(jù)明文圖像的信息特征獲得,通過得到各個像素層中二 進制數(shù)"1"的百分比值作為混沌系統(tǒng)的初始值。它們都是由高精度的定點小數(shù)組成,使整個 系統(tǒng)具有非常大的密鑰空間。
[0042] 2)本發(fā)明的新型魔方置亂算法是自適應(yīng)圖像置亂算法,對于任意尺寸的圖像,都 可以依據(jù)其本身的特性對其進行置亂。并且混沌序列的值和個數(shù)都受到明文圖像本身長和 寬的最大值嚴(yán)格控制,使其置亂像素能夠遍歷圖像的任意位置。
[0043] 3)置亂方法主要依據(jù)了魔方的旋轉(zhuǎn)和移位特性,對于不同圖層的像素矩陣所采用 的旋轉(zhuǎn)和移位操作方式都各不相同,極大增強了像素分散在圖像中的隨機性。
[0044] 4)通過圖像各層間相互置亂的方法,降低了圖層間相同位置的相鄰像素值的相關(guān) 性。
[0045] 本發(fā)明的基于混沌技術(shù)的新型魔方置亂算法具備快速置亂明文圖像的功能,同時 系統(tǒng)復(fù)雜度與置亂后圖像安全性極高,并且能抵御常規(guī)圖像攻擊。
【附圖說明】
[0046] 圖1為本發(fā)明總體RGB圖像置亂方法流程圖;
[0047] 圖2為本發(fā)明圖像置亂方法的置亂過程的流程圖;
[0048] 圖3為本發(fā)明實施例的像素移位圖;
[0049] 圖4為本發(fā)明實施例中向右旋轉(zhuǎn)90度后的10X8圖像像素移位圖;
[0050] 圖5為本發(fā)明圖像置亂方法的解置亂過程的流程圖。
【具體實施方式】
[0051]如圖1和圖2所示,一種基于混沌技術(shù)的新型圖像置亂方法,其置亂過程如下:
[0052] 1)、以RGB圖像(假設(shè)大小為MXN)為例,分別求出各層中二進制數(shù)"1"的百分比值, 分別將其設(shè)置混沌系統(tǒng)的初始值xr( 1),xc( 1),xb( 1);
[0053] 2)、比較初始圖像的長和寬,取其較大值為參數(shù)w;根據(jù)初始值XR(1),xc(1), XB(1), 迭代混純系統(tǒng)(l)w次,得到混純序列XR(n),xc(n),XB(n),l<n<w; r 喊(.[、、、!)/沒 f. ◎么 .、'1》爲(wèi)
[0055] 其中,式(1)中a(0<a<l,且a辛0.5)是帳篷映射的控制參數(shù),進一步通過式(2)將 上述所得到的三個序列的數(shù)值進行量化得到對應(yīng)的整數(shù)序列V R(n),X\(n),YB(n) ;
[0056] x7 R,c,B(i) = XR,G,B(i) X 1014modw+l i G (1 ,w) (2)
[0057] 3)、對R、G、B三層進行循環(huán)移位和旋轉(zhuǎn)操作。其中,各層的具體移位和旋轉(zhuǎn)采用了 不同的操作方式。具體如下:
[0058]假定置亂處理過程中各層數(shù)據(jù)矩陣任意時刻的行數(shù)為L,對圖像R層的置亂步驟 為:
[0059] a.設(shè)i = l,對R層中小于等于L/2的偶數(shù)行和大于等于L/2的奇數(shù)行進行循環(huán)左移 YcG)位;對R層中的其它行進行循環(huán)右移YbG)位,如式(3)所示,其中i表示序列的第i個 值,j表示圖像的第j行;
[0061] b.-次循環(huán)移位完成后,對得到的新矩陣向右旋轉(zhuǎn)90° ;
[0062] c ?令i = i+l,重復(fù)步驟a和步驟b;
[0063] d?當(dāng)i>w時,R層置亂操作完成。
[0064]圖像G層和B層的置亂步驟與R層的置亂步驟基本一致,只存在處理的細(xì)微區(qū)別,具 體為:
[0065]①G層與R層的奇偶移位方向相反且移位控制參數(shù)不同,如對G層中小于等于L/2的 奇數(shù)行和大于等于L/2的偶數(shù)行進行循環(huán)左移Wi)位,對其它行進行循環(huán)右移YbG)位, 具體如式(4)所示。
[0067]②B層與R層的旋轉(zhuǎn)方向相反且移位控制參數(shù)不同,如B層步驟b中為向左旋轉(zhuǎn)90°, 移位控制參數(shù)分別為Wi)和匕⑴,具體如式(5)所示。
[0069] 實施例
[0070] 為便于說明本發(fā)明,現(xiàn)以尺寸為10X8的圖像為例,通過魔方置亂算法對其進行置 亂。根據(jù)上述置亂步驟1)得到三個初始混沌序列x R(n),xG(n),XB(n)。通過步驟2)定義w為圖 像長和寬的最大值10,并且控制三組序列個數(shù)為10,通過公式(2)對序列的值進行量化得到 三組新的序列X' R(n),x' G(n),x' B(n)。
[0071]圖3是以10 X 8RGB圖像的R層為例,圖像有8行,因此L的值等于8,這里由x' G(n) Y B (n)兩組數(shù)列控制R層圖像循環(huán)移位:
[0072] a.判斷前L/2行的奇偶性,若為小于等于L/2奇數(shù)行和大于等于L/2偶數(shù)行,通過 VMn)序列的第1個數(shù)x^a)控制該行像素循環(huán)右移位。若為小于等于L/2偶數(shù)行和 大于等于L/2奇數(shù)行,則通過xVn)序列的第1個數(shù)xVl)控制該行像素循環(huán)左移xVl)位。
[0073] 如圖3所示,第1行至第8行根據(jù)上述的判斷規(guī)則,圖像第1,3,6,8行循環(huán)右移Yb (1)位,第2,4,5,7行循環(huán)左移Vdl)位。
[0074] b.將圖像向右旋轉(zhuǎn)90°,得到新圖像尺寸為10X8,如圖4所示,令i = i+l。
[0075] c.圖4是旋轉(zhuǎn)后的圖像像素移位圖,重新讀取圖像的行數(shù)為10,則變量L重新賦值 等于10。與上述方法相同,對于小于等于L/2奇數(shù)行和大于等于L/2偶數(shù)行,通過YbU)序列 的第2個數(shù)1、(2)來控制該行像素循環(huán)右移1、(21)位;對于小于等于L/2偶數(shù)行和大于等于 L/2奇數(shù)行,通過x^n)序列的第2個數(shù)來控制該行像素循環(huán)左移位;如圖4所 示,第1行至第10行根據(jù)上述的判斷規(guī)則,圖像第1,3,5,6,8,10行循環(huán)右移1%(2)位,第2, 4,7,9行循環(huán)左移x\(2)位。
[0076] d.圖像向右旋轉(zhuǎn)90°,重復(fù)步驟a至步驟c,直到i>w,得到R層置亂圖像。
[0077]圖像G層和B層的置亂步驟與R層的置亂步驟基本一致,只存在處理的細(xì)微區(qū)別,具 體為:
[0078]①G層與R層的奇偶移位方向相反且移位控制參數(shù)不同,移位控制參數(shù)分別為Yr (i)和YbG),如對G層中小于等于L/2的奇數(shù)行和大于等于L/2的偶數(shù)行進行循環(huán)左移Yr (i)位,對其它行進行循環(huán)右移x^a)位,具體如式(4)所示。
[0080]②B層與R層的旋轉(zhuǎn)方向相反且移位控制參數(shù)不同,如B層步驟b中為向左旋轉(zhuǎn)90°, 移位控制參數(shù)分別為Wi)和匕⑴,具體如式(5)所示。
[0082]圖5是本發(fā)明新型圖像置亂方法中解置亂過程的流程圖,解置亂過程為置亂的逆 過程,其具體步驟如下:
[0083] 1)如置亂過程的步驟1)、2)-致,得到三個整數(shù)混沌序列WnhxVnhxYnhl
[0084] 2)假設(shè)反置亂過程中各層矩陣任意時刻的行數(shù)為L,對R層的解置亂步驟為:
[0085] a.設(shè)i=w,對R層中小于等于L/2的偶數(shù)行和大于等于L/2的奇數(shù)行進行循環(huán)右移 x^a)位,對r層中其它行進行循環(huán)左移x^a)位;
[0086] b.-次循環(huán)移位完成后,對得到的新矩陣向左旋轉(zhuǎn)90° ;
[0087] c ?令i = i_l,重復(fù)步驟a和步驟b;
[0088] d.當(dāng)i<0時,R層解置亂操作完成。
[0089]對G層和B層的解置亂過程基本一致,具體細(xì)節(jié)區(qū)別為:G層各行的移位方式與R層 相反,即對R層中小于等于L/2的奇數(shù)行和大于等于L/2的偶數(shù)行進行循環(huán)右移VJi)位,對 R層中其它行進行循環(huán)左移x^a)位,且控制參數(shù)分別為Wi)和x^a);而B層的解密時每 次的旋轉(zhuǎn)方向與R層相反,且移位的控制參數(shù)分別為YrG)和Ydi)的移位方式進行解置 亂。
【主權(quán)項】
1. 一種基于混沌技術(shù)的新型圖像置亂方法,其特征在于,包括圖像置亂和圖像解置亂 兩個過程; 所述圖像置亂過程包括如下步驟: 1) 分別求出RGB三層中二進制數(shù)"Γ的百分比值,并將其設(shè)置為混沌系統(tǒng)的初始值XR (I),xg(1),xb(1); 2) 比較初始圖像的長和寬,取其較大值為參數(shù)w;根據(jù)初始值XR(1),Xc(l),XB(1),迭代 混純系統(tǒng)(l)w次,得到三組混純序列XR(n),XG(n),χβ(π),l<n<w;其中,式(I)中α(0<α< I,且α辛0.5)是帳篷映射的控制參數(shù),i表示序列的第i個值, xr,g,B表示生成與RGB三層相對應(yīng)的三組混沌序列;進一步通過下式(2)將上述所得到的三個 序列的數(shù)值進行量化得到對應(yīng)的整數(shù)序列X 7 R(η ),X7 C(η ),X7 B(η); x/R,G,B(i) = XR,G,B(i)X1014modw+l ie(l,w) (2) X'R,G, B表示通過量化后的三組混純序列; 3) 對R、G、B三層進行循環(huán)移位和旋轉(zhuǎn)操作,具體循環(huán)移位和旋轉(zhuǎn)方式如下: 假定置亂處理過程中各層數(shù)據(jù)矩陣任意時刻的行數(shù)為L,對圖像R層的置亂步驟為: a. 設(shè)i = 1,對R層中小于等于L/2的偶數(shù)行和大于等于L/2的奇數(shù)行進行循環(huán)左移Y c( i) 位;對R層中的其它行進行循環(huán)右移YbG)位,如式(3)所示,其中i表示序列的第i個值,Ir表 示圖像的R層矩陣,j表示圖像的第j行;b. -次循環(huán)移位完成后,對得到的新矩陣向右旋轉(zhuǎn)90° ; c. 令i = i+Ι,重復(fù)步驟a和步驟b; d. 當(dāng)i >w時,R層置亂操作完成; 圖像G層和B層的置亂步驟與R層的置亂步驟基本一致,只存在處理的細(xì)微區(qū)別,具體 為: ① G層與R層的奇偶移位方向相反且移位控制參數(shù)不同,如對G層中小于等于L/2的奇數(shù) 行和大于等于L/2的偶數(shù)行進行循環(huán)左移Wi)位,對其它行進行循環(huán)右移YbG)位,具體 如式(4)所示;② B層與R層的旋轉(zhuǎn)方向相反且移位控制參數(shù)不同,如B層步驟b中為向左旋轉(zhuǎn)90°,移位 控制參數(shù)分別為Wi)和xVi),具體如式(5)所示;通過上述對R層、G層和B層的置亂,最終得到置亂的圖像,置亂過程結(jié)束; 所述圖像的解置亂過程包括如下步驟: 1) 與置亂過程的步驟1)、2)、3)-致,首先得到三個整數(shù)混沌序列Yr(II) ,Yb (n),l^n^w; 2) 同理,對R、G、B三層進行循環(huán)移位和旋轉(zhuǎn)操作,假設(shè)解置亂過程中各層矩陣任意時刻 的行數(shù)為L,對R層的解置亂步驟為: a. 設(shè)i=w,對R層中小于等于L/2的偶數(shù)行和大于L/2的奇數(shù)行進行循環(huán)右移Ydi)位, 對R層中其它行進行循環(huán)左移V b( i)位; b. -次循環(huán)移位完成后,對得到的新矩陣向左旋轉(zhuǎn)90° ; c. 令i = i_l,重復(fù)步驟a和步驟b; d. 當(dāng)i<0時,R層解置亂操作完成; 對G層和B層的解置亂過程基本一致,具體細(xì)節(jié)區(qū)別為:G層各行的移位方式與R層相反, 且控制參數(shù)分別為Wi)和VbG);而B層解置亂時每次的旋轉(zhuǎn)方向與R層相反,且以移位的 控制參數(shù)分別為V R( i)和V e( i)的移位方式進行解置亂; 通過上述對R層、G層和B層的解置亂,最終得到解置亂后的圖像,解置亂過程結(jié)束。
【文檔編號】G06T1/00GK105931175SQ201610279024
【公開日】2016年9月7日
【申請日】2016年4月28日
【發(fā)明人】羅玉玲, 周戎龍, 丘森輝, 莫家玲, 岑明燦, 劉俊秀
【申請人】廣西師范大學(xué)