一種基于多混沌系統(tǒng)的明文相關(guān)圖像加密方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及信息傳輸中的數(shù)字圖像加密方法以及混沌控制和同步設(shè)計(jì)技術(shù),屬于 信息安全領(lǐng)域。
【背景技術(shù)】
[0002] 隨著多媒體信息處理技術(shù)的廣泛應(yīng)用以及互聯(lián)網(wǎng)、云計(jì)算技術(shù)的快速發(fā)展,多媒 體數(shù)據(jù)日益廣泛地在因特網(wǎng)或云計(jì)算節(jié)點(diǎn)間傳播和存儲(chǔ),信息安全問題越來越受到人們的 重視。對(duì)于圖像、視頻等多媒體數(shù)據(jù)來說,由于這類信息的數(shù)據(jù)量大,且相鄰的數(shù)據(jù)之間具 有很強(qiáng)的相關(guān)性,導(dǎo)致傳統(tǒng)加密技術(shù)作為一般數(shù)據(jù)加密手段對(duì)于諸如圖像信息的加密顯得 效率低下,不能滿足實(shí)時(shí)性需要。然而,混沌信號(hào)具有對(duì)初始條件的極端敏感性、無周期性、 偽隨機(jī)性等復(fù)雜特性,與保密通信及密碼學(xué)之間有著天然的聯(lián)系,使得混沌加密技術(shù)在大 數(shù)據(jù)量加密的場合下具有優(yōu)越性,并且有更大的發(fā)展?jié)摿Α?br>[0003] 但是當(dāng)前混沌圖像加密技術(shù)普遍存在以下不足:
[0004] 以往研宄的混沌圖像加密技術(shù)多半基于低維離散混沌映射,雖然低維混沌映射具 有計(jì)算開銷小的優(yōu)點(diǎn),但是由于其形式簡單、密鑰空間小,迭代序列的復(fù)雜度不高,導(dǎo)致低 維密碼系統(tǒng)安全性不高。然而,現(xiàn)存采用高維混沌系統(tǒng)的圖像加密技術(shù),雖然其密鑰空間更 大,非線性行為更復(fù)雜也更難以預(yù)測,但是他們的密鑰流產(chǎn)生方式大多相對(duì)獨(dú)立,與明文圖 像信息毫無關(guān)聯(lián),密文圖像的生成又單純依賴于密鑰,導(dǎo)致無法有效抵御常見的攻擊技術(shù), 如差分攻擊技術(shù)。同時(shí),采用多混沌系統(tǒng)的圖像加密技術(shù)也不同程度上具有以上的問題。
[0005] 本發(fā)明的先進(jìn)性體現(xiàn)在:首創(chuàng)性地將明文相關(guān)置亂技術(shù)、多混沌系統(tǒng)和感知器模 型三者相結(jié)合,兼顧了高維混沌系統(tǒng)安全性強(qiáng)的優(yōu)點(diǎn),構(gòu)建了明文與密鑰之間的相關(guān)性,在 三個(gè)不同的部件中引入了不同的種子密鑰,增大了密鑰空間,有效地降低了密鑰之間的相 關(guān)性,圖像置亂效果更佳、像素?cái)U(kuò)散程度更高,具有抵抗窮舉攻擊、統(tǒng)計(jì)攻擊、差分攻擊等常 見攻擊的能力,可以滿足圖像加密技術(shù)的安全性需求。
【發(fā)明內(nèi)容】
[0006] 針對(duì)上述存在的問題,本發(fā)明提出了一種基于多混沌系統(tǒng)的明文相關(guān)圖像加密方 法,將明文相關(guān)置亂技術(shù)、多混沌系統(tǒng)和感知器模型三者相結(jié)合,兼顧了高維混沌系統(tǒng)安全 性強(qiáng)的優(yōu)點(diǎn),采用了置亂-擴(kuò)散-擴(kuò)散的算法結(jié)構(gòu),構(gòu)建了明文與密鑰之間的相關(guān)性,在三 個(gè)不同的部件中引入了不同的種子密鑰,增大了密鑰空間,有效地降低了密鑰之間的相關(guān) 性,圖像置亂效果更佳、像素?cái)U(kuò)散程度更高,具有抵抗窮舉攻擊、統(tǒng)計(jì)攻擊、差分攻擊等常見 攻擊的能力。
[0007] 本發(fā)明所述的基于多混沌系統(tǒng)的明文相關(guān)圖像加密方法,其特征在于,包括像素 置亂過程、第一次像素?cái)U(kuò)散過程、二次擴(kuò)散密鑰生成過程和第二次像素?cái)U(kuò)散過程:
[0008] (1)像素置亂過程
[0009] ①發(fā)送端接收到明文圖像,將其轉(zhuǎn)化為明文圖像序列{At,計(jì)算明文圖像所有像 素點(diǎn)的像素值之和,并求出其像素點(diǎn)的平均像素值,對(duì)所求得的平均像素值進(jìn)行歸一化操 作,得到帳篷混沌映射的初始值e,即種子密鑰I ;
[0010] ②發(fā)送端利用帳篷混沌映射迭代L次得到隨機(jī)實(shí)數(shù)序列kt,即密鑰流I,將此 隨機(jī)實(shí)數(shù)序列的值由小到大重新排列,得到新的實(shí)數(shù)序列K;^,記錄其中的置換下標(biāo)序列 {乃1〉
[0011] ③發(fā)送端將明文圖像序列hit,按照W =八的方式進(jìn)行置換,得到置換后的整數(shù) 序列丨At,,完成置亂操作。
[0012] (2)第一次像素?cái)U(kuò)散過程
[0013] ①發(fā)送端使用混沌分片線性映射,預(yù)先設(shè)定映射的初始值,即種子密鑰III,對(duì)混沌 分片線性映射進(jìn)行L次混沌迭代,得到隨機(jī)實(shí)數(shù)序列丨&匕,即密鑰流III;
[0014] ②發(fā)送端對(duì)此隨機(jī)實(shí)數(shù)序列進(jìn)行取整操作,得到新的隨機(jī)整數(shù)序列沐匕;
[0015] ③發(fā)送端將之前得到的整數(shù)序列IaX,與k.L進(jìn)行模256的加法,得到整數(shù)序列 kt,完成第一次擴(kuò)散操作。
[0016] (3)二次擴(kuò)散密鑰生成過程
[0017] ①發(fā)送端運(yùn)用四階龍格-庫塔方法,設(shè)定步長為0.001,基于混沌吸引子理論,利 用離散化方法,使用陳氏高維超混沌系統(tǒng),設(shè)置系統(tǒng)的初始值;
[0018] ②發(fā)送端將陳氏高維超混沌系統(tǒng)迭代4001次,扔掉前4000次的值,保留第4001 次生成的系統(tǒng)值作為加密系統(tǒng)的迭代序列初始值即種子密鑰II;
[0019]③發(fā)送端利用初始值(X(1,~2(|,V(l),對(duì)陳氏高維超混沌系統(tǒng)進(jìn)行8次混沌迭代,得 到可用的四維數(shù)組(Xk,Y k,Zk,Vk),k G [1,8];
[0020] ④發(fā)送端對(duì)上述四維數(shù)組中的每一個(gè)數(shù)值進(jìn)行取整操作,得到新的四維數(shù)組 (Xk,yk,Zk,Vk),ke[1,8],再對(duì)此四維數(shù)組進(jìn)行篩選操作,得到三維數(shù)組(Blk,B2k,B3k), kG[1,8],即密鑰流II;
[0021] ⑤發(fā)送端將每一次得到的最后一組迭代四維數(shù)組(x8, Y8, z8, v8)作為下一次調(diào)用 此模塊的迭代初始值。
[0022] (4)第二次像素?cái)U(kuò)散過程
[0023] ①發(fā)送端針對(duì)之前產(chǎn)生的整數(shù)序列中每一個(gè)數(shù)值Si,將三維數(shù)組 (B lk,B2k,B3k),k G [1,8]按照一種非線性變化規(guī)則,變換得到(KeyX (k),KeyY (k),KeyZ (k)), k G [1,8],作為感知器模型中權(quán)值的參數(shù);
[0024] ②發(fā)送端針對(duì)上一步產(chǎn)生的三維數(shù)組,按照另外一種非線性變化規(guī)則,變換得到 (wlk,w 2k,w3k),k G [1,8],作為感知器模型中每個(gè)神經(jīng)元的權(quán)值,并得到感知器模型中每個(gè) 神經(jīng)元的閾值9k,k G [1,8];
[0025] ③發(fā)送端將整數(shù)序列k.L中的十進(jìn)制元素Si轉(zhuǎn)化為8比特二進(jìn)制序列S ik, ke [1,8],按照閾值選擇策略,得到8比特二進(jìn)制序列cik,ke [1,8],再進(jìn)行進(jìn)制轉(zhuǎn)換得 到十進(jìn)制密文像素Ci。
[0026] 具體的步驟如下(流程參見圖6):
[0027] 步驟1 :獲取明文圖像的像素?cái)?shù)據(jù)信息,將明文圖像的像素?cái)?shù)據(jù)信息處理后得到 種子密鑰I,利用帳篷混沌映射迭代L次,產(chǎn)生密鑰流I ,轉(zhuǎn)至步驟2 ;
[0028] 步驟2 :讀取密鑰流I kt,將此隨機(jī)實(shí)數(shù)序列的值由小到大重新排列,得到新的 實(shí)數(shù)序列k ^,記錄其中的置換下標(biāo)序列,按照K = &的方式進(jìn)行置換,得到置換后 的明文圖像像素序列U't,,轉(zhuǎn)至步驟3 ;
[0029] 步驟3 :使用混沌分片線性映射,預(yù)先設(shè)定映射的初始值,即種子密鑰III,對(duì)混沌 分片線性映射進(jìn)行L次混沌迭代,得到隨機(jī)實(shí)數(shù)序列,即密鑰流III,對(duì)此隨機(jī)實(shí)數(shù)序 列進(jìn)行取整操作,得到新的隨機(jī)整數(shù)序列(ML,獲取置換后的明文圖像像素序列丨以二,將 之前得到的整數(shù)序列{Mt,與進(jìn)行模256的加法,得到整數(shù)序列k ^,完成第一次擴(kuò) 散操作轉(zhuǎn)至步驟4 ;
[0030] 步驟4 :運(yùn)用四階龍格-庫塔方法,設(shè)定步長為0. 001,將陳氏高維超混沌系統(tǒng)迭代 4001次,扔掉前4000次的值,保留第4001次生成的系統(tǒng)值作為加密系統(tǒng)的迭代序列初始值 (X。,yd, Zd, vj,將此初始值作為種子密鑰II,轉(zhuǎn)至步驟5 ;
[0031] 步驟5 :進(jìn)行密鑰擴(kuò)展,利用初始值(Xd, Zd, vj,對(duì)陳氏高維超混純系統(tǒng)進(jìn)行8 次混沌迭代,得到可用的四維數(shù)組(Xk,Yk,Z k,Vk),k e [1,8],對(duì)上述四維數(shù)組中的每一個(gè)數(shù) 值進(jìn)行取整操作,得到新的四維數(shù)組(xk,yk, Zk,vk),ke [1,8],再對(duì)此四維數(shù)組進(jìn)行篩選 操作,產(chǎn)生三維數(shù)組(Blk,B2k,B 3k),k e [1,8],作為密鑰流II,將每一次得到的最后一組迭代 四維數(shù)組(X8, Y8, Z8, V8)作為下一次調(diào)用此模塊的迭代初始值,轉(zhuǎn)至步驟6 ;
[0032] 步驟6 :進(jìn)行第二次擴(kuò)散操作,讀取整數(shù)序列{Vt和三維數(shù)組(Blk,B2k,B3k), ke [1,8],任取整數(shù)序列卜,匕中任意位置的數(shù)值sp將三維數(shù)組(Blk,B2k,B3k),ke [1,8] 按照一種非線性變化規(guī)則,得到(KeyX(k),KeyY(k),KeyZ(k)),kG [1,8],進(jìn)而,按照另外 一種非線性變化規(guī)則,得到(wlk,w2k,w3k),k G [1,8],作為感知器模型中每個(gè)神經(jīng)元的權(quán)值, 并得到感知器模型中每個(gè)神經(jīng)元的閾值0k,ke [1,8],按照閾值選擇策略,產(chǎn)生對(duì)應(yīng)的密 文像素Ci,轉(zhuǎn)至步驟7;
[0033] 步驟7 :重復(fù)步驟5-步驟6,直到整個(gè)明文圖像加密完成,輸出密文圖像,加密結(jié) 束。
[0034] 本發(fā)明的有益效果:
[0035] 本發(fā)明首次提供了一種基于多混沌系統(tǒng)的明文相關(guān)圖像加密方法,將明文相關(guān)置 亂技術(shù)、多混沌系統(tǒng)和感知器模型三者相結(jié)合,采用了置亂-擴(kuò)散的算法結(jié)構(gòu),兼顧了高維 混沌系統(tǒng)安全性強(qiáng)的優(yōu)點(diǎn),構(gòu)建了明文與密鑰之間的相關(guān)性,在三個(gè)不同的部件中引入了 不同的種子密鑰,增大了密鑰空間,有效地降低了密鑰之間的相關(guān)性,圖像置亂效果更佳、 像素?cái)U(kuò)散程度更高,具有抵抗窮舉攻擊、統(tǒng)計(jì)攻擊、差分攻擊等常見攻擊的能力,保證了在 不安全信道中圖像傳輸?shù)陌踩?。本發(fā)明在數(shù)字多媒體信息安全領(lǐng)域有廣泛的應(yīng)用前景, 可以應(yīng)用在圖像信息的處理和數(shù)字視頻、音頻等多媒體信息的加密實(shí)現(xiàn)中,以及保密硬件 存儲(chǔ)設(shè)備的靜態(tài)加密、計(jì)算機(jī)終端的接收或者發(fā)射端口等工業(yè)和技術(shù)生產(chǎn)中。
【附圖說明】
[0036] 圖1為本發(fā)明的整體結(jié)構(gòu)示意圖;
[0037] 圖2為像素置亂過程示意圖;
[0038] 圖3為第一次像素?cái)U(kuò)散過程示意圖;
[0039] 圖4為二次擴(kuò)散密鑰生成過程示意圖;
[0040] 圖5為第二次像素?cái)U(kuò)散過程示意圖;
[0041] 圖6為本發(fā)明的方法流程圖;
[0042] 圖7為密鑰敏感性測試圖;
[0043] 圖8為統(tǒng)計(jì)直方圖;
[0044] 圖9為相鄰像素相關(guān)性測試圖。
[0045] 具體實(shí)施方法
[0046] 具體實(shí)施步驟如圖1總體結(jié)構(gòu)示意圖和圖6方法流程圖所示:
[0047] 步驟1 :獲取明文圖像的像素?cái)?shù)據(jù)信息,將明文圖像的像素?cái)?shù)據(jù)信息轉(zhuǎn)化為明文 圖像序列U匕,計(jì)算明文圖像所有像素點(diǎn)的像素值之和,并求出其像素點(diǎn)的平均像素值, 對(duì)所求得的平均像素值進(jìn)行歸一化操作,得到帳篷混沌映射的初始值e,作為種子密鑰I, 利用帳篷混沌映射迭代L次得到隨機(jī)實(shí)數(shù)序列k.t,產(chǎn)生密鑰流I k匕,轉(zhuǎn)至步驟2 ;
[0048] 步驟2 :讀取隨機(jī)實(shí)數(shù)序列k.L,將此隨機(jī)實(shí)數(shù)序列的值由小到大重新排列,得到 新的實(shí)數(shù)序列,記錄其中的置換下標(biāo)序列丨:>,,匕,將明文圖像序列丨d,按照w =&的 方式進(jìn)行置換操作,得到置換后的明文圖像像素序列{p;!,,轉(zhuǎn)至步驟3 ;
[0049] 步驟3:獲取置換后的明文圖像像素序列,使用混沌分片線性映射,預(yù)先設(shè)定 映射的初始值,即種子密鑰III,基于混沌吸引子理論,利用離散化方法,對(duì)混