高國靜,呂慶文
(1.南方醫(yī)科大學(xué)生物醫(yī)學(xué)工程學(xué)院,廣東 廣州 510508; 2.南方醫(yī)科大學(xué)珠江醫(yī)院信息科,廣東 廣州 510508)
醫(yī)學(xué)圖像是醫(yī)療與醫(yī)學(xué)研究工作中的關(guān)鍵參考數(shù)據(jù)之一,主要對人體或人體中的某一個(gè)部位,以非侵入的方式取得內(nèi)部組織結(jié)構(gòu)圖像的基礎(chǔ)與處理過程[1]。為了在極端條件下保證醫(yī)學(xué)圖像中的有效信息不丟失,魯棒型醫(yī)學(xué)圖像應(yīng)運(yùn)而生,這種醫(yī)學(xué)圖像能夠在系統(tǒng)故障或有意攻擊等情況下,最大限度地保留圖像中的有效信息,維持圖像的相對穩(wěn)定性[2]。然而魯棒型醫(yī)學(xué)圖像只能在一定程度上保護(hù)圖像中的信息不受干擾,但當(dāng)攻擊程序較為復(fù)雜時(shí),會出現(xiàn)圖像被攻擊和盜取的情況。
為了防止病人敏感信息的非法泄露,研究者投入了大量的人力、物力和財(cái)力用于圖像信息的安全問題[3]?,F(xiàn)如今取得了一定的研究結(jié)果,文獻(xiàn)[4]運(yùn)用Lorenz混沌映射置換像素值產(chǎn)生隨機(jī)DNA掩碼,根據(jù)Logistic映射隨機(jī)得到1種DNA編碼,并逐一編碼圖像,再采用DNA同步運(yùn)算,隨機(jī)決定1種DNA運(yùn)算后解碼,即可得到加密圖像。文獻(xiàn)[5]根據(jù)Logistic映射生成控制參數(shù),采用改進(jìn)Arnold變換,全局置亂后分塊置亂原始圖像,計(jì)算置亂后圖像相鄰的像素間距,交叉換位后即可獲得加密圖像。文獻(xiàn)[6]設(shè)計(jì)一種高效的一維復(fù)合混沌系統(tǒng),提出混沌映射方程SPM,通過結(jié)合Sine映射和PWLCM映射,擴(kuò)大了混沌映射的范圍,采用SPM映射生成的偽隨機(jī)序列加密圖像,給定密鑰生成序列置亂圖像再進(jìn)行擴(kuò)散像素,重構(gòu)置亂結(jié)果得到加密圖像。然而在應(yīng)用過程中發(fā)現(xiàn)傳統(tǒng)的加密算法可以實(shí)現(xiàn)快速無損加密,但存在一定的安全缺陷,當(dāng)出現(xiàn)特定盜用和明文攻擊時(shí),容易出現(xiàn)圖像丟失的現(xiàn)象。
為了解決傳統(tǒng)加密算法中存在的問題,本文使用了復(fù)合混沌的概念,復(fù)合混沌是2個(gè)或2個(gè)以上的混沌系統(tǒng)進(jìn)行復(fù)合形成的新的混沌系統(tǒng),混沌現(xiàn)象是發(fā)生在確定性系統(tǒng)中的一種不確定行為。利用復(fù)合混沌系統(tǒng)可以實(shí)現(xiàn)醫(yī)學(xué)圖像中穩(wěn)定狀態(tài)與不穩(wěn)定狀態(tài)之間的轉(zhuǎn)換[7]。復(fù)合混沌系統(tǒng)中的軌道發(fā)散特性與初值敏感性對應(yīng)的密碼學(xué)中的擴(kuò)散原則,而內(nèi)隨機(jī)性則對應(yīng)著置亂原則,因此復(fù)合混沌系統(tǒng)與密碼學(xué)之間存在著天然的對應(yīng)關(guān)系[8]。鑒于復(fù)合混沌系統(tǒng)在普通的數(shù)字圖像加密算法中具有較高的應(yīng)用效果,因此本文將該系統(tǒng)應(yīng)用到醫(yī)學(xué)圖像的加密算法中,解決傳統(tǒng)加密算法運(yùn)行過程中存在的問題,從而提升圖像加密結(jié)果的安全性和加密效率。
魯棒型醫(yī)學(xué)圖像具有高分辨率、高精度和數(shù)據(jù)量大的特點(diǎn),因此在圖像的加密過程中要求算法具備較高的運(yùn)行效率和速度[9-11]。復(fù)合混沌系統(tǒng)同時(shí)具備了高維混沌系統(tǒng)安全性高和低維系統(tǒng)加密速度快的優(yōu)點(diǎn),通過加密序列與魯棒型圖像進(jìn)行異或操作,實(shí)現(xiàn)對圖像的加密與解密[12]。一般加密算法的基本過程是對明文的文件或數(shù)據(jù)按照某種算法進(jìn)行處理,使其成為不可讀的一段代碼。假設(shè)需要加密的魯棒型醫(yī)學(xué)圖像I的大小為M×N的256級灰度圖像,其中M和N分別為圖像中水平與豎直方向上的像素?cái)?shù)量,則利用復(fù)合混沌系統(tǒng)設(shè)計(jì)的圖像加密算法流程如圖1所示。
按照圖1中的流程,分別利用復(fù)合混沌系統(tǒng)中對初值和系數(shù)的極端敏感性特點(diǎn),將初始條件或參數(shù)作為密鑰,將醫(yī)學(xué)圖像中的數(shù)據(jù)信息作為復(fù)合混沌系統(tǒng)的參數(shù)或初始值,并設(shè)置有限次數(shù)的迭代,獲取隨機(jī)序列,實(shí)現(xiàn)圖像信息的擴(kuò)散,從而實(shí)現(xiàn)對魯棒性醫(yī)學(xué)圖像的加密。
圖1 魯棒型醫(yī)學(xué)圖像加密算法流程圖
為了提高魯棒性醫(yī)學(xué)圖像加密算法的安全性,在加密工作過程中引入密文反饋機(jī)制,該機(jī)制的具體設(shè)置與運(yùn)行情況如圖2所示。
圖2 密文反饋加密示意圖
定義E(0)為醫(yī)學(xué)圖像的明文數(shù)據(jù)流,而圖像的加密序列用E(i)來表示,則在加密工作中密文的正向反饋可以表示為:
(1)
其中,i為任意一個(gè)圖像數(shù)據(jù),且i不為0。公式(1)中D(0)和D(i)分別為第一個(gè)圖像數(shù)據(jù)和非首個(gè)圖像數(shù)據(jù)對應(yīng)的正向反饋表達(dá)式[13]。為了保證圖像中最后一個(gè)像素點(diǎn)能夠得到反饋?zhàn)饔?,反向反饋的表達(dá)式為:
(2)
式中,i′為醫(yī)學(xué)圖像中的最后一個(gè)圖像數(shù)據(jù)。在這種反饋機(jī)制的約束下,能夠?qū)D像中的微小變化無限擴(kuò)大并擴(kuò)散,從而增加圖像加密效果和算法的安全性。
魯棒型醫(yī)學(xué)圖像的讀取方式分為2種,一種是從現(xiàn)有的醫(yī)院或醫(yī)療數(shù)據(jù)庫中直接讀取,在讀取的過程中需要將三通道的圖像轉(zhuǎn)換為單通道圖像[14]。而另外一種方式就是通過醫(yī)療掃描設(shè)備中的DCMTK開源項(xiàng)目讀取,初始化醫(yī)療掃描儀器以及驅(qū)動環(huán)境,遍歷得到設(shè)備列表,根據(jù)設(shè)備的序號連接對應(yīng)的掃描設(shè)備。當(dāng)設(shè)備讀取一組圖像數(shù)據(jù)后,自動跳轉(zhuǎn)到中斷回調(diào)函數(shù),輸出魯棒型醫(yī)學(xué)圖像的讀取結(jié)果[15-17]。其中使用醫(yī)療掃描設(shè)備實(shí)現(xiàn)圖像讀取對應(yīng)的表達(dá)式為:
Im=imread(′Medical image data.jpg′)
(3)
公式(3)中imread()表示的是圖像讀取函數(shù)。
復(fù)合混沌模型的建立應(yīng)該符合以下條件,其中包括:模型具有良好的迭代性能,混沌模型的結(jié)構(gòu)較為穩(wěn)定,具有較大的參數(shù)集。在此基礎(chǔ)上確定復(fù)合混沌模型的表達(dá)式為:
(4)
其中,x、y和z分別為模型中的三階無量綱變量,a、b和c為復(fù)合混沌模型的控制參數(shù),當(dāng)3個(gè)控制參數(shù)同時(shí)應(yīng)用時(shí),能夠使圖像加密序列的設(shè)計(jì)更加靈活,假設(shè)a、b和c的取值分別為10,3/8和28,那么復(fù)合混沌模型有3個(gè)平衡點(diǎn)分別為:
(5)
由模型中的平衡點(diǎn)領(lǐng)域內(nèi)線性運(yùn)動的特征求得特征值,并確定S0為模型的鞍點(diǎn),S1和S2分別表示模型的不穩(wěn)定焦點(diǎn)[18]。除了模型框架之外,還需要選擇復(fù)合混沌模型中的映射,Logistics映射對應(yīng)的方程為:
xn+1=μxn(1-xn)
(6)
式中,xn為復(fù)合混沌模型中的混沌變量,μ為控制混沌模型形態(tài)的參數(shù),其取值范圍為[0,4]。在Logistics混沌映射作用下,生成的復(fù)合混沌序列具有非周期的、不收斂的特點(diǎn)。
圖3 復(fù)合混沌序列生成示意圖
為了避免復(fù)合混沌序列在生成過程中出現(xiàn)的同一個(gè)混沌模型生成過程的序列,降低整體混沌序列復(fù)雜度的情況,需要限制復(fù)合混沌模型產(chǎn)生序列生成的長度[19]。充分考慮復(fù)合混沌模型生成的初始序列對應(yīng)的混沌特性不強(qiáng),因此在生成序列的過程中需要進(jìn)行多次迭代,具體的序列生成過程如圖3所示。
1.4.1 圖像像素位置置亂
輸入魯棒型醫(yī)學(xué)初始圖像,假設(shè)圖像的大小為M×N,并將初始圖像用一維序列A表示。經(jīng)過復(fù)合混沌序列的迭代與Logistics映射,在選擇的模型中生成混沌序列,記為序列B,該序列的長度為m×n。按照降序順序排列序列B中的數(shù)據(jù),形成序列C[20]。使用reshape函數(shù)對序列C進(jìn)行置換處理,將置換之后的新序列轉(zhuǎn)換成m×n的矩陣形式,由此便完成了對魯棒型醫(yī)學(xué)初始圖像像素值的置亂加密,對應(yīng)的置亂矩陣為:
(7)
公式(7)中amn為魯棒型醫(yī)學(xué)圖像中的像素,由于在置亂處理前后只改變了圖像中各個(gè)像素的位置,但像素值未發(fā)生改變,因此最終得出的直觀矩陣依舊由初始圖像像素值組成,但像素值的排列結(jié)構(gòu)發(fā)生了改變[21]。
1.4.2 圖像像素值替換與擴(kuò)散
定義魯棒型醫(yī)學(xué)圖像的最終加密密文序列為Ci,中間密文序列為Fi,那么根據(jù)公式(8)和公式(9)可以完成對圖像像素的替換和擴(kuò)散。
Ci=Fi+mod((LVzi+Di),256)+Ci-1
(8)
Fi=LVyi+mod((LVxi+Ci),256)+Fi-1
(9)
公式(8)和公式(9)中LVxi、LVyi和LVzi分別為復(fù)合混沌得出的3組混沌序列,另外Di為得出的置亂矩陣。當(dāng)加密圖像中的第一個(gè)像素時(shí),取i-1的值為0[22]。
多次重復(fù)上述過程,生成對應(yīng)的密鑰,即完成整個(gè)魯棒型醫(yī)學(xué)圖像的加密過程。然而除了圖像加密之外,還需要實(shí)現(xiàn)對醫(yī)學(xué)圖像的解密[23]。在本文中魯棒型醫(yī)學(xué)圖像的解密就是加密過程的逆過程,需要將密文圖像轉(zhuǎn)換成移位向量,然后利用連續(xù)迭代復(fù)合混沌模型所產(chǎn)生的值來恢復(fù)置亂矩陣,經(jīng)過多輪迭代便可以得到最終的明文圖像,也就實(shí)現(xiàn)了圖像從密文到明文的轉(zhuǎn)換。
為了驗(yàn)證本文方法的魯棒型醫(yī)學(xué)圖像加密算法是否解決了傳統(tǒng)算法中存在的問題,設(shè)計(jì)加密算法的對比實(shí)驗(yàn),并設(shè)置文獻(xiàn)[4]方法、文獻(xiàn)[5]方法、文獻(xiàn)[6]方法作為實(shí)驗(yàn)的對比方法。
為了方便實(shí)驗(yàn)中魯棒型醫(yī)學(xué)圖像數(shù)據(jù)的讀取和采集,選擇對比實(shí)驗(yàn)的實(shí)驗(yàn)環(huán)境為某醫(yī)院的磁共振掃描科室,在該實(shí)驗(yàn)環(huán)境下測試計(jì)算機(jī)的系統(tǒng)配置為Windows XP SP3,CPU為 Intel Pentium CPU E7500 2.93 GHz,另外計(jì)算機(jī)的內(nèi)存為3.2 GB,以滿足圖像處理數(shù)據(jù)量大的問題。在測試計(jì)算機(jī)中安裝Microsoft Visual Studio 2005平臺中的VC+ +語言實(shí)現(xiàn)魯棒型醫(yī)學(xué)圖像加密算法的開發(fā)。另外還需要在測試計(jì)算機(jī)中安裝MATLAB軟件,作為加密結(jié)果的測試對比平臺。
為了保證實(shí)驗(yàn)數(shù)據(jù)的有效性,需要大量的醫(yī)學(xué)圖像數(shù)據(jù)作為實(shí)驗(yàn)的數(shù)據(jù)支撐,因此除了掃描科室實(shí)時(shí)采集的患者醫(yī)學(xué)圖像之外,還需要調(diào)用包括LIDC-IDRI數(shù)據(jù)庫、DDSM MIAS圖像數(shù)據(jù)庫以及IBSR網(wǎng)站數(shù)據(jù)庫等數(shù)據(jù)庫中的圖像數(shù)據(jù)進(jìn)行實(shí)驗(yàn)。其中LIDC-IDRI為肺結(jié)節(jié)醫(yī)學(xué)圖像數(shù)據(jù)庫、而DDSM MIAS和IBSR分別對應(yīng)的是乳腺和腦部醫(yī)學(xué)圖像數(shù)據(jù)庫。以一幅1024×1024的24位MRI灰度圖像的測試結(jié)果進(jìn)行說明,該魯棒型醫(yī)學(xué)圖像的初始狀態(tài)如圖4所示。
圖4 魯棒型醫(yī)學(xué)初始明文圖像
分別將實(shí)驗(yàn)中的文獻(xiàn)[4]方法、文獻(xiàn)[5]方法、文獻(xiàn)[6]方法和本文方法導(dǎo)入到實(shí)驗(yàn)環(huán)境中的測試計(jì)算機(jī)上,并保證3種方法在運(yùn)行過程中互不干擾。將實(shí)驗(yàn)環(huán)境中的掃描設(shè)備與需要使用的數(shù)據(jù)庫分別連接到測試計(jì)算機(jī)中,方便實(shí)現(xiàn)魯棒型醫(yī)學(xué)圖像數(shù)據(jù)的實(shí)時(shí)調(diào)用。為了節(jié)省實(shí)驗(yàn)的時(shí)間成本,分別在不同的數(shù)據(jù)庫中選擇200張醫(yī)學(xué)圖像作為實(shí)驗(yàn)對象,而實(shí)時(shí)采集的醫(yī)學(xué)圖像數(shù)量根據(jù)醫(yī)學(xué)的實(shí)際情況來決定。3種方法在運(yùn)行過程中設(shè)置置亂次數(shù)相同,控制實(shí)驗(yàn)變量唯一,通過3種方法的運(yùn)行得出對應(yīng)的圖像加密結(jié)果。
以輸出的圖像結(jié)果為基礎(chǔ),分別從明密文序列的相關(guān)性、加密結(jié)果置亂程度以及加密結(jié)果的抗攻擊性3個(gè)方面,驗(yàn)證4種魯棒型醫(yī)學(xué)圖像加密算法的安全性。
2.4.1 明密文序列相關(guān)性測試
明文與密文序列的相關(guān)性也就是加密前后魯棒型醫(yī)學(xué)圖像的關(guān)聯(lián)性,相關(guān)性越高證明加密前后圖像的相似度越高,越容易被破解,即安全性越低。遵循上述測試?yán)碚摚瑢?shí)驗(yàn)中截取的前576位明密文二進(jìn)制序列進(jìn)行自相關(guān)和互相關(guān)性實(shí)驗(yàn),結(jié)果如圖5所示。
圖5 明密文序列相關(guān)性對比圖
從圖5中可以看出,密文的自相關(guān)特性明顯優(yōu)于明文,通過量化分析可知密文序列的自相關(guān)函數(shù)值趨近于0。而在圖5(c)中,文獻(xiàn)[4]方法對應(yīng)的明密文互相關(guān)函數(shù)值趨近于0.4,文獻(xiàn)[5]方法對應(yīng)的明密文互相關(guān)函數(shù)值趨近于0.9,文獻(xiàn)[6]方法對應(yīng)的明密文互相關(guān)函數(shù)值趨近于0.2,而本文方法對應(yīng)的明密文互相關(guān)函數(shù)值趨近于0,明顯低于對比方法。由此說明經(jīng)過復(fù)合混沌模型加密后的明密文互相關(guān)性低于其他映射方法,密文在具有良好隨機(jī)性的同時(shí),保證與明文圖像序列不相關(guān),其明密文序列相關(guān)性較低,即安全性較高。
2.4.2 圖像加密結(jié)果置亂程度比較
圖像加密結(jié)果置亂程度的測試,就是測試在圖像密文中置亂移位位數(shù)的比較,像素平均移位位數(shù)越多,證明密文圖像的置亂程度越復(fù)雜,即加密算法的安全性更高,得出的測試與對比結(jié)果如表1所示。
表1 圖像加密序列置亂程度比較
由表1可知,經(jīng)過數(shù)學(xué)統(tǒng)計(jì)計(jì)算發(fā)現(xiàn),采用文獻(xiàn)[4]方法密文圖像的總置亂移位位數(shù)為10206位,采用文獻(xiàn)[5]方法密文圖像的總置亂移位位數(shù)為10186位,采用文獻(xiàn)[6]方法密文圖像的總置亂移位位數(shù)為10998位,而本文方法的總置亂移位位數(shù)為11072位,由此可知,與其他映射方法相比,本文方法的總置亂移位位數(shù)較多,密文圖像的置亂程度更復(fù)雜,即加密算法的安全性更高,相比文獻(xiàn)[5]方法置亂位數(shù)增加了886位,即置亂程度提升了8.7%。
2.4.3 圖像加密結(jié)果抗差分攻擊測試
圖像加密結(jié)果抗差分攻擊測試就是在受到已知明文的攻擊的情況下,分析文獻(xiàn)[4]方法、文獻(xiàn)[5]方法、文獻(xiàn)[6]方法和本文方法是否能夠順利實(shí)現(xiàn),其中加密成功與失敗界面如圖6所示。
(a) 本文方法的加密成功界面
(b) 文獻(xiàn)[4]方法的加密失敗界面
(c) 文獻(xiàn)[5]方法的加密失敗界面
(d) 文獻(xiàn)[6]方法的加密失敗界面
在不同的數(shù)據(jù)庫中,分別統(tǒng)計(jì)在受到已知明文攻擊的情況下,魯棒型醫(yī)學(xué)圖像加密成功與失敗的數(shù)量,統(tǒng)計(jì)結(jié)果如表2所示。
表2 圖像加密抗差分攻擊能力比較
從表2的數(shù)據(jù)可以看出,實(shí)驗(yàn)中加密的魯棒性醫(yī)學(xué)數(shù)據(jù)共1060張,在受到已知明文攻擊下,文獻(xiàn)[4]方法處理成功的數(shù)量為970張,失敗90張,成功率為91.5%,文獻(xiàn)[5]方法處理成功的數(shù)量為980張,失敗80張,成功率為92.5%,文獻(xiàn)[6]方法處理成功的數(shù)量為1030張,失敗30張,成功率為97.2%,而本文的基于復(fù)合混沌的魯棒型醫(yī)學(xué)圖像加密算法處理成功的數(shù)量為1040張,失敗20張,成功率為98.1%,由此可知,與其他映射方法相比,本文方法處理成功的加密圖像數(shù)量較多,成功率更高,相比文獻(xiàn)[4]方法,本文方法的抗攻擊能力高4.7%。
綜上所述,將復(fù)合混沌系統(tǒng)應(yīng)用到魯棒型醫(yī)學(xué)圖像加密工作當(dāng)中,可以有效地提高圖像加密結(jié)果的安全性,避免發(fā)生圖像信息泄露的問題。同理可以將這種加密算法應(yīng)用到醫(yī)學(xué)視頻加密以及其他領(lǐng)域的加密工作當(dāng)中,保證相關(guān)數(shù)據(jù)的安全性。然而受到時(shí)間的限制,在對比實(shí)驗(yàn)中處理的圖像數(shù)量有限,因此得出的實(shí)驗(yàn)結(jié)果存在一定的片面性,在未來的研究工作中希望能夠得出更多的數(shù)據(jù)來支持設(shè)計(jì)加密算法的應(yīng)用。