魯棒型醫(yī)學圖像加密算法
針對現(xiàn)有基于混沌的醫(yī)學圖像加密算法的魯棒性和效率不足,我們提出了一種基于快速混沌置亂的魯棒型醫(yī)學圖像加密算法RMIEF-CS。
一、基于多混沌系統(tǒng)的序列生成算法
基于混沌的圖像加密方法原理如圖1所示,根據(jù)選定的密鑰和混沌系統(tǒng)生成具有混沌特性的偽隨機序列,然后與明文圖像的數(shù)據(jù)流進行某種操作得到密文數(shù)據(jù),并最終轉(zhuǎn)換為密文圖像。從圖l中可以看出,混沌加密算法的加密密鑰取決于生成的混沌序列,混沌序列與選取的混沌系統(tǒng)直接相關。雖然混沌序列在理論上是一個無限的偽隨機序列,但在計算機中實現(xiàn)時通常由于計算機有限的精度而造成混沌收斂問題,即混沌序列在迭代的過程中呈現(xiàn)周期性,這讓攻擊者有機會破解混沌序列。為了有效緩解混沌收斂的問題,有研究者們提出了自己的方法,如Logistic函數(shù)迭代過程中進行大整數(shù)化的方法以解決有限精度問題;如在Logistic函數(shù)中引入反正弦與反余弦變換,對Logistic映射進行優(yōu)化改進。

上述方法雖然在一定程度上緩解了混沌有限精度問題,但計算過程較為復雜,或者只針對同一混沌系統(tǒng)進行,靈活性不足,特別是針對高安全性和高容量的醫(yī)學圖像加密時有著明顯不足。本文提出一種基于多混沌系統(tǒng)的混沌序列生成算法,在有效緩解有限精度問題的同時保證產(chǎn)生的混沌序列具有足夠高的復雜度,在應用于醫(yī)學圖像加密時具有較高的安全性和運行效率。
1、混沌系統(tǒng)選取
除了考慮混沌序列的“有限精度”問題外,醫(yī)學圖像數(shù)據(jù)量大,加密的時間效率必須在可接受的范圍內(nèi),綜上,算法選擇使用多個低維的混沌系統(tǒng)協(xié)同工作產(chǎn)生混沌序列。選取的一維混沌系統(tǒng)如下:
1) Loejstic映射:
Logistic映射函數(shù)如式(1)所示:
![]()
其中:X∈(O,1),當u∈(3. 5699456,4)并且X≠l-U-1時系統(tǒng)處于混沌狀態(tài)。
2)分段線性混沌映射(Piecewise Linear Chaotic Map,PLCM):
PLCM映射函數(shù)如式(2)所示:

當xn∈(O,1),p∈(0,0.5)時,系統(tǒng)處于混沌狀態(tài)。
由于低維混沌系統(tǒng)產(chǎn)生的序列復雜性稍低,并且存在混沌收斂問題,本文算法將采用的兩個低維混沌系統(tǒng)得到的序列進行處理,使兩個混沌系統(tǒng)在算法產(chǎn)生序列的過程中相互作用,通過在混沌系統(tǒng)間隨機切換交替產(chǎn)生混沌序列,以加大遭受相重構攻擊破解的難度,同時很好地緩解混沌收斂問題。
2、混沌序列生成
序列產(chǎn)生過程中,為了避免同一個混沌系統(tǒng)產(chǎn)生過長的序列降低整體混沌序列的復雜度,對兩個混沌系統(tǒng)產(chǎn)生的序列長度進行限制,設為LENmax??紤]到混沌系統(tǒng)產(chǎn)生的初始序列混沌特性不強,在選取混沌序列時讓混沌系統(tǒng)先進行NUM次迭代。具體的混沌序列生成過程如下:
1)將醫(yī)學圖像轉(zhuǎn)換為二進制數(shù)據(jù)流,得到加密所需的混沌序列的長度CS_LEN。
2)隨機選取i的值,其中i∈{l,2}。
3)利用第i個混沌系統(tǒng)進行一次迭代產(chǎn)生混沌數(shù)值sa,則第j(j=i mod 2+1)個混沌系統(tǒng)要產(chǎn)生的混沌序列的長度s一Len可用式(3)計算所得:
![]()
其中N為常數(shù)(取10 000),用來放大sa。
4)CS_LEN=CS LEN - S_Len,如果CS LEN≤0,則令S_Len=CS_LEN,利用第_『個混沌系統(tǒng)產(chǎn)生長度為S_Len的混沌序列,序列生成結束,轉(zhuǎn)第6)步執(zhí)行。
5)如果CS LEN>0,令Z=l mod 2+l,轉(zhuǎn)第3)步繼續(xù)執(zhí)行。
6)返回產(chǎn)生的混沌序列。
圖2給出了兩個混沌系統(tǒng)相互交替生成混沌序列的示意圖,從圖中可以看出,混沌序列的產(chǎn)生由兩個混沌系統(tǒng)共同作用,每個系統(tǒng)的序列長度由上一個系統(tǒng)產(chǎn)生的混沌數(shù)值決定,由于存在著混沌系統(tǒng)間相互的隨機切換,增加了混沌序列的復雜性,大大增加了遭受相空間重構攻擊破解的難度;同時,即使產(chǎn)生序列的過程中某個混沌系統(tǒng)發(fā)生了混沌收斂問題進人周期循環(huán),只要兩個系統(tǒng)不在同一時間達到周期點,那么整個系統(tǒng)產(chǎn)生的混沌序列則不會進入周期循環(huán)。本文算法產(chǎn)生的混沌序列能很好地滿足大數(shù)據(jù)量的醫(yī)學圖像加密。

二、RMIEF-CS算法
1、密文反饋機制
為了提高加密算法的安全性,在加密過程中引入密文反饋機制,本文使用的密文反饋機制如圖3所示。

同時,為了避免單向的反饋機制使得第一個像素點或者最后一個像素點得不到反饋作用,引入雙向密文反饋方式。設D為圖像明文數(shù)據(jù)流,E為加密序列,則正向反饋可以描述為式(4)和(5),反向反饋可以描述為式(6)和(7)。
對于第一個圖像數(shù)據(jù):
![]()
對于之后的圖像數(shù)據(jù):
![]()
對于非最后一個圖像數(shù)據(jù):
![]()
對于最后一個圖像數(shù)據(jù):
![]()
密文反饋加密可以將加密過程中的變化不斷進行傳輸,影響變化點前后的加密操作,使算法具有良好的雪崩效應;另外針對醫(yī)學圖像具有大片連續(xù)相同像素區(qū)域的特點,反饋機制能將微小的變化無限擴大并擴散,增加加密效果和算法的安全性。
2、置亂加密算法
RMIEF-CS加密算法大致過程為:先獲取明文數(shù)據(jù)流,然后根據(jù)所介紹的混沌序列生成方法得到密鑰,根據(jù)密鑰對明文數(shù)據(jù)流進行置亂;再次得到新的混沌序列,對中間的置亂結果引入雙向密文反饋機制進行再次置亂,最終得到密文數(shù)據(jù)。具體的置亂加密算法如下所示:
1)讀取待加密圖像;
2)將I轉(zhuǎn)換為明文數(shù)據(jù)流D;其長度為N;
3)計算加密序列長度CS_LEN=N*T,set T=3;
4)設定混沌系統(tǒng)的密鑰,并初始化相關參數(shù)LENmax=300,NUM=100.i=l;
5)利用混沌序列生成算法得到長度為CS_LEN的序列CS1;
6)調(diào)整Csl為字節(jié)序列BS,,BSi (i)=(CSi (i)*10n)mod256,setn=5;
7)setk=0;
8)while(k<CS_LEN){
9)D(BS1(k))?D( BSi(k+l));//交換
10)k=k+l;
11)set i=2,重新生成長度為Ⅳ的序列CS7;
12)調(diào)整CS2為字節(jié)序列BS2,BSz(i)=(CS2 (i)*105)mod 256;
13)利用BS2對數(shù)據(jù)流D進行雙向密文反饋得到密文數(shù)據(jù)流ED;
14)將ED轉(zhuǎn)換為密文圖像輸出。
三、 實驗結果與討論
實驗中采用的硬件環(huán)境為Windows XP SP3,CPU為Intel Pentium CPU E7500 2.93 GHz,內(nèi)存1.92 GB;采用Microsoft Visual Studi0 2005平臺中的VC++語言實現(xiàn)本文算法。為了保證數(shù)據(jù)的有效性,從某大學醫(yī)學院數(shù)據(jù)中心獲取了100多幅不同形態(tài)的醫(yī)學圖像進行實驗,均得到了較好的加密效果,限于篇幅以一幅1024 x1024的24位MRI灰度圖像的測試結果進行說明。圖4給出了原始醫(yī)學圖像和其加密效果圖。

從圖4可以看出,圖像經(jīng)過加密之后呈現(xiàn)雜亂無章的噪聲圖像,看不出任何原始圖像的輪廓信息,圖5給出了本文方法產(chǎn)生的混沌序列的性能分析,相應的參數(shù)設置為Logistic混沌系統(tǒng)中的x=0.36,u=3.92;PLCM映射中的y=0.55,p=0. 23,LENmax=300,NUM=100。圖5(a)為從混沌序列的第101次迭代連續(xù)取的99個值畫出的分布圖,圖5(b)是在修改混沌參數(shù)p=0. 23+10-16時(其他參數(shù)保持不變)的混沌值分布圖。從圖5中可以看出,雖然只是對參數(shù)進行了極其細微的修改,得到的混沌序列卻截然不同,說明混沌系統(tǒng)對初值具有極度敏感性。雖然由于計算機精度有限會帶來混沌收斂的問題,但本文方法的多混沌系統(tǒng)交替產(chǎn)生序列的方法能較好地避免周期現(xiàn)象的產(chǎn)生。兩個混沌系統(tǒng)一共有4個敏感性參數(shù)作為密鑰,對于攻擊者來說實施暴力破解的難度是非常大的。

圖6給出了原始圖像和加密圖像像素灰度值分布直方圖,從圖6(a)中可以看到醫(yī)學圖像的分布特點是像素分布不均勻,絕大部分像素出現(xiàn)在極值點附近,容易受到統(tǒng)計攻擊。好的加密算法應該使圖像的直方圖越均勻越好,從圖6(b)中可以看出,本文的加密算法具有較好的性能。

醫(yī)學圖像的特點之一就是相鄰像素的相關性強,利用式(8)計算圖像像素的相關性:

其中:N為實驗中進行對比的像素對總數(shù);xi、yi分別為兩組像素中的像素值;x和y為兩組像素的平均值。實驗中隨機選取了密文圖像中水平、垂直和對角線上的3000個像素對進行統(tǒng)計,其結果如表1所示。從表l中可以看出,RMIEF-CS能較好地消去醫(yī)學圖像相鄰像素間的相關性。

同時,經(jīng)過測試,RMIEF-CS算法具有較好的明文敏感性,修改明文中的任一像素點均會造成得到的加密圖像相似度非常低,即具有較好的雪崩效應。
為了測試RMIEF-CS算法的魯棒性,實驗中對密文圖像進行了不同程度的修改,如圖7所示。從圖7中可以看出,當對密文圖像進行小尺寸的剪切操作時,解密出來的圖像基本和原始圖像一致;當剪切的區(qū)域較大時,解密出來的圖像雖然具有較明顯的噪聲現(xiàn)象,但仍具有原始圖像的基本輪廓。RMIEF-CS算法的魯棒性實際上通過圖像置亂實現(xiàn),由于密文圖像經(jīng)過隨機置亂形成,當密文圖像因為各種原因受損時,在解密的過程中,受損的部分也會隨機分布到原圖的各個部分,從而保證了圖像的大致輪廓能識別出來。

最后,將RMIEF-CS算法的時間效率與現(xiàn)有的方法進行了比較,其中一個比較對象是使用Logistic混沌系統(tǒng)生成混沌序列,然后將序列進行排序后對圖像進行置亂;綜合運用Arnold和Logistic混沌系統(tǒng)對圖像進行置亂。比較結果如表2所示。

MRI也就是磁共振成像,英文全稱是:Magnetic Resonance Imaging。




