程?hào)|升, 隆廣慶, 朱小玲
計(jì)算機(jī)和智能通信技術(shù)的快速發(fā)展, 使得信息的傳播、共享也變得越來(lái)越便捷, 但同時(shí)對(duì)信息安全的問(wèn)題提出了新挑戰(zhàn). 而傳統(tǒng)信息安全的保障手段——密碼術(shù)能有效地保障信息安全, 但是進(jìn)入移動(dòng)互聯(lián)網(wǎng)、大數(shù)據(jù)時(shí)代, 傳統(tǒng)的加密技術(shù)也暴露出其中的不足, 因?yàn)榧用軘?shù)據(jù)是異常數(shù)據(jù), 容易成為數(shù)據(jù)分析挖掘的重點(diǎn)目標(biāo), 從而容易引起大量的攻擊. 因此大家又把目光投向一種古老的技術(shù)——信息隱寫(xiě)技術(shù)(信息隱藏技術(shù))[1-10], 信息隱藏技術(shù)其實(shí)自古就有, 例如在古代為了隱秘地傳遞機(jī)密信息, 會(huì)把傳遞信息的士兵剃光頭后寫(xiě)上軍事機(jī)密, 然后等他的頭發(fā)長(zhǎng)長(zhǎng)后傳遞信息,接收時(shí)再剃光那位士兵的頭發(fā)就能看到機(jī)密信息. 而在計(jì)算機(jī)時(shí)代, 則對(duì)信息隱藏技術(shù)提出更高的要求, 信息隱藏不僅要讓人肉眼無(wú)法分辨, 而且要實(shí)現(xiàn)對(duì)抗計(jì)算機(jī)視覺(jué)識(shí)別.
混沌系統(tǒng)具有對(duì)初始條件和控制參數(shù)敏感、偽隨機(jī)和不可預(yù)測(cè)性等一系列特性, 這些特性與密碼學(xué)的要求相一致. 因此, 混沌系統(tǒng)經(jīng)常被用在圖像加密中[11-15],利用混沌系統(tǒng)產(chǎn)生的混沌序列對(duì)圖像進(jìn)行擴(kuò)散與混淆,從而達(dá)到加密的效果. 而通過(guò) 2D-DCT, 可以把圖像的主要能量集中在左上角, 這樣只要把秘密圖像的信息替換除左上角外的其它地方, 就既能減少失真度, 又達(dá)到良好的隱藏效果.
本文首先利用二維 Logistic 映射生成的混沌序列對(duì)秘密圖像進(jìn)行擴(kuò)散, 從而改變秘密圖像的像素值, 然后再利用混沌序列生成的置亂矩陣對(duì)擴(kuò)散后的圖像進(jìn)行置亂. 接著分塊對(duì)載體圖像進(jìn)行 2D-DCT, 并根據(jù)混沌系統(tǒng)產(chǎn)生的混沌序列自適應(yīng)地把置亂后圖像的信息替換每塊變換DCT 后的右下角, 然后對(duì)替換后的矩陣進(jìn)行 2D-IDCT, 從而得到隱密圖像. 我們的算法不論在擴(kuò)散與置亂階段還是替換隱藏階段都受到混沌系統(tǒng)的控制, 從而所提算法對(duì)密鑰非常敏感. 在實(shí)驗(yàn)中, 我們采用峰值信噪比(PSNR)、均方根誤差(RMSE)與結(jié)構(gòu)相似性(SSIM)這3 個(gè)指標(biāo), 從不同角度來(lái)衡量載體圖像與隱密圖像相似度, 能全面準(zhǔn)確地反映本文算法所得隱密圖像的失真度. 實(shí)驗(yàn)結(jié)果表明, 載體圖像與隱密圖像的PSNR達(dá)到62.615,RMSE為0.188 7, 而SSIM等于0.999 7, 這些都反映了算法良好的隱藏效果. 與現(xiàn)有的隱藏算法相比較, 我們算法的PSNR更大, 從而說(shuō)明我們算法具有更優(yōu)的隱藏性能.
2D-DCT 是與傅里葉變換相關(guān)的一種變換, 它類(lèi)似于離散傅里葉變換, 但是只使用實(shí)數(shù). 因此, 在對(duì)語(yǔ)音、圖像信號(hào)變換中, 2D-DCT 變換被認(rèn)為是一種準(zhǔn)最佳變換. 通過(guò)2D-DCT 可以將圖像信號(hào)從時(shí)域映射到空間頻率域, 使得圖像在時(shí)域所表現(xiàn)出的能量發(fā)散形式變換為頻域能量相對(duì)集中的形式, 以便與對(duì)圖像信息進(jìn)行各種處理. 2D-DCT 將圖像的主要能量集中在左上角, 這樣可以將秘密信息嵌入到中高頻的右下方, 且能有效地減少載體圖像的失真度.
2D-DCT 的公式為:
圖1 二維Logistic 映射的分岔圖
眾所周知, 圖像的直方圖反映了像素的統(tǒng)計(jì)特性.因此, 若對(duì)于加密算法, 加密圖像的直方圖越趨于均衡則說(shuō)明加密效果越好; 若對(duì)于圖像隱藏技術(shù), 嵌入秘密圖像后的隱密圖像與載體圖像的直方圖越接近則說(shuō)明隱藏效果越佳. 圖3(a)和圖3(b) 顯示了秘密圖像預(yù)處理前后圖像的直方圖, 其中, 圖形底部的灰度條表示Lena圖像的灰度級(jí), 0 代表黑色, 255 代表白色, 而0-255之間的數(shù)值代表不同級(jí)別的灰度值. 如圖可直觀看出預(yù)處理后的直方圖呈現(xiàn)均勻化, 因此竊取者無(wú)法通過(guò)密文的直方圖獲得秘密圖像有效的統(tǒng)計(jì)信息. 圖3(c)和圖3(d) 為載體圖像和隱密圖像的直方圖, 由圖可看出載體圖像與隱密圖像的直方圖肉眼觀察幾乎完全一致的, 這說(shuō)明所提算法的隱藏效果非常好.
圖3 直方圖
為了檢測(cè)算法抗剪切能力, 對(duì)隱密圖像做剪切攻擊實(shí)驗(yàn). 圖4(a)-圖4(c)分別剪切了隱密圖像的1/64,1/16 與1/4 的像素, 而圖4(d)-圖4(f)則是它們對(duì)應(yīng)恢復(fù)的圖像. 由實(shí)驗(yàn)結(jié)果可看出所提算法能有效地把剪切攻擊的影響控制在局部的范圍, 從而受到攻擊后仍能有效地恢復(fù)大部分秘密圖像的信息.
圖4 剪切攻擊及恢復(fù)的圖像
由它們的定義, 可以看出它們的PSNR值越大或RMSE值越小, 說(shuō)明兩幅圖像越接近, 即兩幅圖像的相似度度越高.
利用PSNR,RMSE與SSIM定義的計(jì)算方法, 通過(guò)計(jì)算可得出4 組圖像的PSNR,RMSE和SSIM的值并列于表1 中. 4 組圖像有秘密圖像與預(yù)處理后圖像的對(duì)比, 載體圖像和隱密圖像的對(duì)比, 秘密圖像與正確密鑰恢復(fù)圖像的對(duì)比, 以及錯(cuò)誤密鑰恢復(fù)圖像與秘密圖像的對(duì)比.
表1 效果分析
通過(guò)表1 的實(shí)驗(yàn)數(shù)據(jù)可以看出, 秘密圖像與預(yù)處理后圖像的PSNR較小,RMSE較大,SSIM接近于0,這些都說(shuō)明秘密圖像與預(yù)處理后的圖像差別很大, 是完全不一樣, 從而驗(yàn)證了對(duì)秘密圖像預(yù)處理的加密效果好; 載體圖像和隱密圖像的PSNR大于30 (PSNR大于30 時(shí), 人眼就無(wú)法分辨),RMSE較小, 而SSIM接近于1, 3 個(gè)指標(biāo)結(jié)果都說(shuō)明了這兩幅圖像的相似度很高,這證明了所提算法的圖像隱藏效果很好; 秘密圖像與正確密鑰恢復(fù)圖像的PSNR趨于無(wú)窮大,RMSE的值等于0, 而SSIM接近于1 , 都說(shuō)明這兩幅圖像是完全一樣, 即秘密圖像能完全恢復(fù); 錯(cuò)誤密鑰恢復(fù)圖像與秘密圖像的PSNR較小,RMSE較大, 而SSIM接近于0, 這表明錯(cuò)誤密鑰恢復(fù)的圖像與秘密圖像完全不一樣, 即所提算法對(duì)密鑰非常敏感, 密鑰的微小擾動(dòng)(1 0-14)則不能從恢復(fù)的圖像中得到有效的秘密圖像信息.
一般而言, 隱藏算法的嵌入容量越大, 則對(duì)應(yīng)的載體圖像失真越明顯, 即對(duì)應(yīng)的PSNR的值越小. 因此,對(duì)于不同的隱藏算法若其中有一種算法的嵌入容量最大, 而其對(duì)應(yīng)的PSNR的值也最大, 說(shuō)明該隱藏算法的隱藏效果比其它算法好. 從表2 可以看出, 我們所提算法、林純等的算法[16]、馮丹青等的算法[17]與翁子盛的算法[18]在采用相同大小的 Lena 作為載體圖像, 不同的嵌入容量的條件下, 我們所提算法在嵌入容量比其它3 種高的情況下, 對(duì)應(yīng)的PSNR的值卻明顯高于其他算法, 這表明我們所提算法的隱藏效果更好.
表2 不同算法比較
本文提出了一種基于二維 Logistic 映射與 DCT 的分塊圖像隱藏算法. 首先對(duì)秘密圖像進(jìn)行預(yù)處理, 利用二維 Logistic 映射產(chǎn)生混沌序列對(duì)秘密圖像進(jìn)行擴(kuò)散與置亂操作, 從而達(dá)到對(duì)秘密圖像第一重保護(hù)的目的.然后通過(guò) DCT 把預(yù)處理后的加密圖像的信息分存在載體圖像中以達(dá)到信息隱藏的效果, 從而對(duì)秘密圖像起到第二重保護(hù)的作用. 實(shí)驗(yàn)結(jié)果表明, 本文所提算法具有良好的抗剪切效果, 隱藏效果也非常好, 并且可以實(shí)現(xiàn)秘密圖像的無(wú)損復(fù)原.