劉艷華
(鹽城工學(xué)院信息工程學(xué)院,鹽城 224051)
數(shù)字圖像加密與水印技術(shù)是數(shù)字圖像處理的重要應(yīng)用技術(shù),隨著信息技術(shù)的飛速發(fā)展,圖像信息的安全傳輸愈加重要,圖像的加密、解密技術(shù)就應(yīng)運(yùn)而生了。為保證圖像傳輸過程的安全保密,人們在傳輸發(fā)送端利用某種算法,把數(shù)字圖像明文打亂成某種密文,使第三方不可見。而接收端通過已知的解密算法來解密操作,便可獲取原圖的數(shù)據(jù)信息。目前數(shù)字圖像的加密技術(shù)研究備受矚目,許多學(xué)者提出的加密算法種類繁多,圖像像素的置亂是研究的主要方向,應(yīng)用也最為廣泛[1-4]。
圖像置亂的功能是運(yùn)用矩陣變換或其他數(shù)學(xué)方法將原始圖像的每個像素點(diǎn)的位置或色彩度置亂,實(shí)現(xiàn)掩蓋住原始圖像信息的效果,使第三方無法獲取,若分析不出所應(yīng)用的置亂加密算法,就無法獲取到原始圖像的信息。基于矩陣變換像素置亂的圖像加密方法實(shí)質(zhì)上來看,就是通過數(shù)學(xué)知識對數(shù)字矩陣實(shí)現(xiàn)一定次數(shù)的線性變換,來達(dá)到擾亂像素排列的效果。但由于圖像矩陣變換作為有限維矩陣變換在置換達(dá)到一定步數(shù)后會出現(xiàn)回復(fù)性,容易被第三方破譯,致使其安全性較低[5-9]。置亂加密作為多種多媒體安全技術(shù)工作的基礎(chǔ)性工作,其算法的優(yōu)劣會對加密安全工作造成直接的影響,因此需要從多個層面對置亂算法的優(yōu)劣進(jìn)行足夠的比較分析。
利用MATLAB軟件,通過編程實(shí)現(xiàn)三種圖像的加密解密算法,包含像素點(diǎn)置亂算法,圖像行列置亂算法,色彩飽和度置亂算法[10-13]。
像素,是數(shù)字圖像信息的基本單元。像素點(diǎn)置亂算法是將數(shù)字圖像的所有像素都進(jìn)行隨機(jī)置亂,使原圖的信息數(shù)據(jù)不可見。該算法的加密效果很好,隨機(jī)數(shù)列在加密過程中的使用也使該算法的加密性得以提高,但是對于矩陣元素非常多的真彩圖像而言,此加密算法的運(yùn)算速度較慢。
對圖像矩陣的行或列進(jìn)行打亂的算法所需的計算難度小、用時少、效率較高,可應(yīng)用于包含數(shù)據(jù)較多、本身龐大的圖像信息,但因?yàn)樗惴ū举|(zhì)是對行列的置亂,所以對某些特殊的圖像不能加密。
每個像素的值表現(xiàn)在圖像中即為其色彩值,為了實(shí)現(xiàn)色彩飽和度混亂重置的加密算法,可以通過矩陣運(yùn)算的方式使原始圖像矩陣每個像素點(diǎn)的大小發(fā)生改變,從而打亂了原圖信息,實(shí)現(xiàn)了加密的效果。通過原圖矩陣A與另一個大小相同的矩陣B進(jìn)行點(diǎn)乘和點(diǎn)除運(yùn)算來達(dá)到像素置亂目的,雖然算法簡單易操作,但其加密效果一般。通過改變參與加密的另一矩陣B的混亂程度,可以提升圖像的加密效果,但仍然可見原圖的某些信息,而且該加密算法易被攻擊,安全性低。
選取256*256的灰度圖像,采用基于像素點(diǎn)混亂重置的圖像加密解密算法對其進(jìn)行加密。用Logistic序列對圖像矩陣元素(灰度值)進(jìn)行二進(jìn)制位異或運(yùn)算,完成圖像的像素置亂。再用得到的混沌序列對加密圖像的像素點(diǎn)灰度值進(jìn)行異或運(yùn)算,可以恢復(fù)出原始圖像。原始圖像、加密圖像與還原的圖像對比如圖1所示。
由圖可見,只對像素值打亂的加密還是存有部分原始圖像的信息,因而效果以及安全性一般。
選取256*256的灰度圖像,利用像素點(diǎn)行列打亂算法對其進(jìn)行像素位置置亂。首先,利用MATLAB在輸入初值后產(chǎn)生Logistic混沌序列。然后,對圖像矩陣進(jìn)行像素點(diǎn)移位,即將每行與每列的像素點(diǎn)分別依次左移/右移到該行/列的其他位置,并保持像素值不變,從而得到基于圖像行列置亂的加密圖。最后,對加密后的圖像,將每行以及每列的像素點(diǎn)分別依次右移或上移,恢復(fù)到其原位置,得到恢復(fù)圖像。原始圖像、加密圖像與還原的圖像如圖2所示。
對比像素加密和位置加密,基于圖像像素行列的置亂將原始圖像的像素點(diǎn)打亂,其加密圖的像素分布比較均勻,加密直觀效果更好。
選取341*341的彩色圖像,采用基于色彩飽和度混亂重置的圖像加密解密算法對其進(jìn)行加密。首先,利用 rand函數(shù)生成一個隨機(jī)數(shù)組,再用原圖矩陣與隨機(jī)矩陣相乘使矩陣元素大小發(fā)生改變,從而得到一個新的置亂后的矩陣,得到加密圖像。最后,用加密后圖像矩陣與隨機(jī)矩陣相除,就可得到解密圖像。原始圖像、加密圖像與還原的圖像如圖3所示。
圖1 像素點(diǎn)混亂重置加密解密Fig.1 Pixel chaotic reset encryption and decryption
圖2 像素行列亂序圖像加密解密Fig.2 Encryption and decryption of pixel row sequence image
圖3 色彩飽和度混亂重置加密解密Fig.3 Color saturation chaotic reset encryption and decryption
由圖3可見,基于色彩飽和度混亂重置的加密方法的加密效果不太好。加密圖像保留有原始圖像的許多信息,隱藏效果不佳。并且解密圖像也出現(xiàn)了一定程度的失真,總體效果不理想。
以大小為 512*512的灰度圖像 lena512.bmp為例,用像素點(diǎn)置亂算法、像素位置置亂算法以及色彩飽和度混亂重置算法分別對其進(jìn)行像素置亂加密。三種算法下的加密效果圖,如圖4所示。
觀察圖4可看出,經(jīng)過像素行列打亂算法加密的圖像加密效果是比較不錯的,加密圖的像素點(diǎn)散布較均勻,完全掩蓋了圖像的原始信息。經(jīng)過像素點(diǎn)重置的加密圖像完全隱藏了原圖片中的的人物,觀察不到任何人物信息,加密效果比較好。而經(jīng)過色彩飽和度混亂重置的加密圖像對原始圖像的信息仍然可見,沒有很好隱藏,加密效果較差。
加密前后的直方圖如圖5所示。
圖4 加密效果比較Fig.4 Comparison of encryption effect
圖5 直方圖對比效果Fig.5 Histogram contrast effect
由圖5可知:像素行列置亂的加密技術(shù)在相對繁瑣的變換之后,其灰度直方圖仍然與原圖的一致,這不能改變圖像數(shù)據(jù)的統(tǒng)計特性,易被攻擊者破解;像素點(diǎn)置亂加密技術(shù)對圖像像素點(diǎn)進(jìn)行了打亂,像素值未發(fā)生置換,因此加密后的圖像直方圖也沒有發(fā)生改變,但所得到的加密效果相對較好,由于此算法需要遍歷圖像的所有像素點(diǎn),加密過程相當(dāng)緩慢;色彩飽和度混亂重置的加密技術(shù)雖然使加密后的圖像的直方圖與原圖的不再相同,但加密效果不好,安全性低,雖可通過增加置亂次數(shù)來提升效果,但是總體仍不理想。
[1] 張曉強(qiáng), 王蒙蒙, 朱貴良. 圖像加密算法研究新進(jìn)展[J].計算機(jī)工程與科學(xué), 2012, 34(5): 1-6.
[2] 趙戈, 萬玉晴. 移動終端的圖像快速加密方法研究[J].計算機(jī)應(yīng)用與軟件, 2015, 32(9): 246-250.
[3] 任帥. 基于混沌的數(shù)字圖像加密技術(shù)研究與應(yīng)用[D]. 鄭州: 解放軍信息工程大學(xué), 2011.
[4] 蘇莉萍, 馮健. 基于混沌的圖像置亂加密算法及MATLAB的實(shí)現(xiàn)[J]. 裝備制造技術(shù), 2007(8): 79-81.
[5] 林明星. 數(shù)據(jù)加密技術(shù)的具體應(yīng)用[J]. 軟件, 2014, 35(1):100.
[6] 鐘彩. 邊緣檢測算法在圖像預(yù)處理中的應(yīng)用[J]. 軟件,2013, 34(1): 158-159.
[7] 陳國強(qiáng). 基于GPU的圖像處理算法研究[J]. 軟件, 2014,35(2): 135-136.
[8] 曹妍, 陳偉, 徐森. 圖像去噪方法研究與仿真[J]. 軟件,2015, 36(4): 33-36.
[9] 陳靜, 朱家明, 盛朗, 等. 基于區(qū)域信息的水平集醫(yī)學(xué)圖像分割[J]. 軟件, 2014, 35(4): 21-23, 28.
[10] 王洪均. 數(shù)字圖像加密算法研究[D]. 南京: 南京理工大學(xué),2007, 7.
[11] 阮秋琦, 阮宇智. 數(shù)字圖像處理[M]. 北京: 電子工業(yè)出版社, 2011: 25-43.
[12] 張博. 基于MATLAB的數(shù)字圖像置亂方法研究[J].計算機(jī)與數(shù)字工程, 2010, 38(7): 139-142.
[13] 李娟. 替代和置亂相結(jié)合的圖像分塊加密算法[J].自動化儀表, 2014(3): 55-59.