位圖圖像文件加密之混沌序列

針對低維混沌序列加密數字圖像保密性較差的問題,我們提出了一種復合混沌序列和基于混沌序列的位圖圖像文件加密算法。

一、混沌序列生成

混沌應用于數字圖像加密的關鍵是混沌序列的隨機性,針對低維混沌序列的短周期問題。這些算法的一個共同特點是采用m序列控制混沌方程的參數,使其在迭代過程中作周期變化.這樣做有兩點不足:

①短m序列控制下的參數個數有限,容易被破解,而長所序列生成過程復雜,增加了計算量的開銷;

②沒考慮到混沌方程在參數變化時的混沌特性,影響了序列的分布。

我們采用的復合混沌序列由Logistic混沌子序列和Henon混沌子序列生成,并對基于Logistic映射的混沌子序列生成方法進行改進。

1、Logistic混沌子序列

Logistic映射是一種可產生混沌的非線性系統(tǒng),其模型為:

位圖圖像文件加密之混沌序列

式中:0<μ≤4,0<x<1,n∈N;μ為分岔參數;xn在區(qū)間[0,1]上遍歷,圖1是Logistic映射的分岔圖,取μ00=3.569945......,研究表明:當μ00<μ≤4時映射處于混沌狀態(tài)。

生成混沌序列的改進方案如下:

①采用Chebychev映射控制參數μ,其迭代方程為:

位圖圖像文件加密之混沌序列

當參數k=6時,Lyapunov指數為1.791733…,Chebychev映射處于混沌狀態(tài)。用此混沌方程的迭代輸出作為Logistic映射的控制參數,將極大增加戶的變化量,從而增大了Logistic子序列的周期。Chebychev映射的迭代值域為[-1,+1],應通過線性映射變換到Logisric映射參數μ的變化區(qū)間。

②調整參數B的取值區(qū)間,混沌動力學研究表明,即使Logistic映射處于混沌區(qū)(μ00<μ≤4),情況也比想象中的復雜,即出現所謂的倒分支現象(見圖1)。當μ=4時,Logistic映射在[0,1]上出現混沌,稱為單片混沌,當μ逐漸減少時,開始仍為單片混沌,但當μ減少到一個值μ1=3.678 573.....時,會由單片混沌變成2片混沌,即迭代值分布在2個區(qū)域,每一次迭代數值從其中一個跳到另一個。當μ值再減少到p2=3.592 572......時,2片混沌又分為4片,μ值繼續(xù)減少,將產生8,1 6,32等倒分支,倒分支一直延續(xù)到f,盡管迭代序列仍是混沌的,倒分支的出現還是影響了序列的隨機分布特性,所以取μ值的變化區(qū)間為[μ,4]來改善序列的隨機分布性能。

③從Logistic混沌分岔圖(圖1)可以看出,在混沌區(qū)除了μ=4的迭代值域為[0,1]外,其他μ值迭代值域都小于這個范圍。

位圖圖像文件加密之混沌序列

計算表明,取定μ值的迭代值上界為μ/4,下界為(1一μ/4)μ2/4。為了保持迭代序列在整個[0,1]區(qū)間的分布特性,可以通過一個線性變換使每個參數μ下的迭代值域變換到[0,1]區(qū)間,不難得到:

位圖圖像文件加密之混沌序列

用上述方法產生的混沌序列的優(yōu)點為:參數μ的變化數目遠大于由m序列控制生成的μ值數目;消除了參數μ作用下混沌方程迭代輸出值域的差異性。由于實際應用中需要的是混沌二值序列或混沌整數序列,這種差異性的消除對于轉化后序列的統(tǒng)計性能是有益的,為了保證迭代序列的混沌特性,可以在某一聲值作用下迭代p次后再輸出一個有效迭代數值。圖2是用兩種方法生成的混沌序列自相關函數R(n)對比圖,圖中虛線由m序列控制參數盧的Logistic映射序列得到;實線由上述改進方案的生成序列得到。從圖中可以看出改進方法生成序列的統(tǒng)計性能好于前者。

位圖圖像文件加密之混沌序列

2、復合混沌序列

Henon映射方程組為:

位圖圖像文件加密之混沌序列

當取a=1.4,b=0.3時。Henon映射產生二維混沌,其混沌軌跡的復雜程度遠大于Logistic映射,由式(4)做迭代運算可得到混沌序列。

復合混沌序列是復合上述兩個低維混沌子序列為一個序列,用于圖像矩陣的置換加密,以增強加密強度,首先將它們變換為二值序列,再按對應位做異或運算得到復合序列。

復合序列的主要優(yōu)點是保密性優(yōu)于通常的低維混沌序列。這是由于低維混沌序列很容易受到混沌模型重構方法的攻擊,而復合運算掩蓋了混沌子序列的分布特性,改變了原混沌系統(tǒng)的動力學行為,有效地抵制了模型重構攻擊算法,相對于高維混沌序列,復合序列的計算量較小,因為通常的低維混沌系統(tǒng)模型都是用代數方程描述的,求解速度很快;而高維混沌一般為復雜的微分或差分方程組,求解的復雜度和計算量都比較大。

二、圖像文件加密

1、加密算法描述

對圖像矩陣采用置亂和置換兩種加密算法,置亂加密是對圖像矩陣中的數據位置重新排列,數據值并沒有改變;置換加密則改變了圖像矩陣的數據。兩種加密方法的基本區(qū)別在于后者改變了圖像的直方圖,一幅圖像對應一個直方圖,但一個直方圖并不一定只對應一幅圖像,置亂加密正是利用這一性質對圖像進行加密的。

置亂加密是經典的圖像加密方法,有基于Arnold變換、Hilbert曲線變換的置亂方法,及幻方像素置亂和基于掃描模式的置亂方法?;诰仃囎儞Q的方法是一種線性變換,其保密性不高;Arnold變幻的圖像置亂算法有其動力學系統(tǒng)的可恢復特征:而幻方矩陣也是由有限域上的元素組成的,因而很容易受到唯密文迭代攻擊?;诨煦缧蛄械囊莆恢脕y方法可以克服上述缺點,原算法以混沌序列為參數,按行列順序置亂圖像,抗攻擊性較弱。為了增加置亂的隨機性,作者做了以下改進。

設得到的2個混沌整數序列分別為pi,Qj(i,j=1,2.…,n)。設原圖像矩陣為B(bij)(i,j=1,2.…,n)。置亂過程是把矩陣中的各行和列分別隨機循環(huán)移位從而達到重組像素位置的目的.行移位操作:把pi,Qj組成一組有序整數對(pi,Qj),(p2,q2),…,(pn,qn),P1作為置亂過程的行定位值,q1作為置亂過程的列移位值,每行按以上有序整數對做循環(huán)移位操作,例如:當p1=3,q1=4時就把矩陣B第3行所有元素循環(huán)向右移動4個位置;列移位操作步驟與行移位相似,不同的是有序整數對是(qn,P1),(qn-1,p2),…,(q1,pn),循環(huán)移位方向從上至下、行、列移位交替進行,加密效果會更好。

目前大多數的置換加密算法是將圖像矩陣的每個元素值完全置換,當圖像較大時計算量很大,本文中采用圖像矩陣的位平面置換算法。用一個二值混沌序列生成多個與待加密圖像矩陣大小相同的位平面矩陣{wk(k=1,2,…,8)},把待加密圖像矩陣變換成二進制數表示的形式Y。矩陣的每一元素用8位二進制數表示,這樣y共有8個位平面矩陣{yk(k=1,2,…,8)},把矩陣Wk和矩陣yk對應元素做異或運算,生成密圖矩陣yMk,試驗表明原始圖像只要加密3個位平面就可得到相當好的效果,即YMk=yk(8≥k≥4)。

2、圖像文件加密過程

圖像文件加密要用到整數序列和二值序列兩種混沌序列,前者用于置亂加密,后者用于置換加密??紤]到實際需要的整數混沌序列長度有限,可采用前述Logistic混沌子序列和排隊法生成。

整個圖像加密過程分為空域加密和小波變換域加密兩部分,具體加密過程為:

①對原圖像矩陣TY做一次置換加密,得到置換加密后的密圖矩陣TM1。

②選定小波函數如Harr小波,對TM1做一次小波分解得到4個系數矩陣,由小波分析理論可知它們屬于不同的頻率子帶,分別對4個系數矩陣做置亂加密得到4個加密系數矩陣,用于4個加密系數矩陣的混沌序列是不同的,它們由一個混沌序列分段截取生成,這佯避免了生成混沌序列時多次選擇迭代初值。

③對加密后的小波系數矩陣做小波重構運算,得到空域加密圖像矩陣TMz,對TM2做一次置亂加密,得到最終的密圖矩陣TM。

需要指出的是,把置換加密放在空域置亂加密之前可以增強置亂加密的抗攻擊能力,原因是置換加密的結果隱蔽了置亂加密,所以靠收集圖像特征的置亂加密破解方法是不可行的,而相反的順序則會增強置換加密。

三、試驗結果

加密過程的多個參數用于生成各種混沌序列,它們可以由統(tǒng)一的密鑰得到。試驗中選取混沌方程的迭代初值為0.3876111111111111,用于解密的混沌序列的迭代初值為0. 3876111111111112。圖3是原圖像加密、解密后的圖像。從圖中可以看出,即使迭代初值相差0.0000000000000001,也絲毫不能解密出原圖,而且從密圖上根本看不出原圖的痕跡,正確初值則可以完全無失真地解密出原圖像。這說明采用本加密方法的密圖可以完全依賴密鑰而不依賴于算法,這也是現代密碼學發(fā)展的趨勢,上述兩次解密運算的算法相同,由于解密過程采用了置換運算,所以圖3c(錯誤密鑰的解密圖像)與解密前密圖的直方圖有所不同。

位圖圖像文件加密之混沌序列

小知識之掃描模式

掃描模式是指條碼設備在讀取條碼信息時所采用的方式,一般的劃分方式如下: 按照讀取設備所采用的讀取方式可分為:CCD和激光兩種掃描模式。