,
(上海電力學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 上海 200090)
近年來(lái),隨著計(jì)算機(jī)網(wǎng)絡(luò)、云計(jì)算以及數(shù)字圖像處理等技術(shù)的發(fā)展,用戶的隱私問(wèn)題變得十分突出.對(duì)圖像進(jìn)行加密可以實(shí)現(xiàn)用戶的隱私保護(hù),但圖像接收方需要獲取密鑰才能驗(yàn)證用戶身份,此時(shí)圖像內(nèi)容又存在泄露的風(fēng)險(xiǎn).如何在傳遞信息的同時(shí)不泄露圖像內(nèi)容;提取信息后又可以完美恢復(fù)圖像內(nèi)容,是一個(gè)亟待解決的問(wèn)題[1].作為一個(gè)新興的研究領(lǐng)域,在加密圖像中實(shí)現(xiàn)可逆信息隱藏的技術(shù),吸引了眾多研究學(xué)者的關(guān)注.目前代表性的可逆信息隱藏方法包括利用差值擴(kuò)展嵌入[2]、直方圖平移技術(shù)嵌入[3]以及利用圖像無(wú)損壓縮技術(shù)嵌入[4]等.
加密技術(shù)可以有效保護(hù)圖像的隱私,而信息隱藏則可以在圖像中添加秘密信息,以實(shí)現(xiàn)版權(quán)保護(hù)、防偽認(rèn)證及篡改檢測(cè)等功能,同時(shí)可逆信息隱藏技術(shù)則實(shí)現(xiàn)了在提取信息后可以無(wú)差錯(cuò)恢復(fù)圖像內(nèi)容的功能.因此,在密文圖像上進(jìn)行可逆信息隱藏操作,既能保證圖像的隱私,又能實(shí)現(xiàn)附加信息的傳遞,具有良好的應(yīng)用前景.日常生活中,在加密圖像上進(jìn)行可逆信息隱藏的需求越來(lái)越多,例如,為了保證數(shù)據(jù)的機(jī)密性,也不希望傳輸方知道數(shù)據(jù)的內(nèi)容,數(shù)據(jù)版權(quán)的擁有者通常會(huì)將數(shù)據(jù)加密壓縮后存放在數(shù)據(jù)庫(kù)中,同時(shí)傳輸方也要在數(shù)據(jù)上嵌入自己的水印來(lái)驗(yàn)證通信的完整性,保證數(shù)據(jù)在傳輸過(guò)程中未被破壞;在數(shù)字醫(yī)療系統(tǒng)中,醫(yī)院需要拍攝病人的某些器官圖像并保存起來(lái),為了保護(hù)病人的隱私,這些器官圖像必須經(jīng)過(guò)加密再傳送到數(shù)據(jù)庫(kù)中,而數(shù)據(jù)庫(kù)的管理人員則需要在這些加密圖像上嵌入病人的基本信息,包括姓名、性別和年齡等以區(qū)別每張密文圖像的歸屬,當(dāng)醫(yī)生提取病人的信息后,利用可逆技術(shù)實(shí)現(xiàn)對(duì)原始器官圖像的無(wú)差錯(cuò)恢復(fù).這樣既保證了病人的隱私不被泄露,同時(shí)實(shí)現(xiàn)了病人個(gè)人信息與病例圖像的完美對(duì)應(yīng).
現(xiàn)有的加密圖像可逆信息隱藏方案中,通常采用兩種方案來(lái)實(shí)施信息隱藏:一是先利用不同的加密手段將附加消息進(jìn)行加密,再嵌入到載體圖像中[5-8];二是將部分載體數(shù)據(jù)進(jìn)行加密,同時(shí)利用另一部分載體數(shù)據(jù)攜帶額外信息[9-11],結(jié)果可能導(dǎo)致原始信息部分泄露.文獻(xiàn)[1]通過(guò)修改加密圖像像素最低有效位來(lái)嵌入可逆信息,首次打破上述方法存在的缺陷,但該方案中每個(gè)圖像塊只嵌入1 bit信息,導(dǎo)致嵌入量不大且錯(cuò)誤率較高.隨后,HONG W等人[12]針對(duì)這一問(wèn)題,重新設(shè)計(jì)了波動(dòng)函數(shù),同時(shí)利用side-match技術(shù),將相關(guān)性的計(jì)算范圍擴(kuò)展到上下左右?guī)讉€(gè)分塊中,提高了計(jì)算精確度.此方案在降低提取信息錯(cuò)誤率方面獲得了良好的效果,但在信息嵌入容量方面無(wú)明顯改善.
本文針對(duì)已有的加密可逆信息隱藏方案,在嵌入容量和信息提取準(zhǔn)確率方面對(duì)現(xiàn)有算法進(jìn)行了改進(jìn).
文獻(xiàn)[1]通過(guò)修改加密圖像像素最低有效位來(lái)嵌入秘密信息,提出了一種加密圖像中的可逆信息隱藏方法.內(nèi)容所有者利用加密密鑰產(chǎn)生偽隨機(jī)序列,與原始圖像像素的各位進(jìn)行異或運(yùn)算,從而將圖像加密并發(fā)送給數(shù)據(jù)隱藏者.數(shù)據(jù)隱藏者把已加密的圖像劃分為大小為s×s的不重疊塊,每個(gè)分塊隱藏1 bit秘密信息.對(duì)于每一個(gè)分塊,偽隨機(jī)地將s×s個(gè)像素劃分為S0和S1兩組.如果嵌入的秘密信息為0,則把S0組中的每個(gè)加密像素的3個(gè)最低有效位(Least Significant Bit,LSB)取反,即:
(1)
如果嵌入的秘密信息為1,則把S1組中的每個(gè)加密像素的3個(gè)LSB取反,即:
(2)
其他數(shù)據(jù)保持不變,記嵌入信息的加密圖像為I".
接收方在接收到I"后,利用解密密鑰進(jìn)行解密.在信息提取階段,可利用以下波動(dòng)函數(shù)以塊為單位計(jì)算像素的空間相關(guān)性:
(3)
式中:pu,v——塊中對(duì)應(yīng)的像素值.
對(duì)于每個(gè)解密后的像素塊,接收者分別把S0分組和S1分組中所有像素的3個(gè)LSB翻轉(zhuǎn)以建立兩個(gè)不同的新塊,記為H0和H1.記H0和H1的波動(dòng)函數(shù)值為f0和f1.由于自然圖像空間相關(guān)性的存在,原始圖像塊的波動(dòng)函數(shù)總體上會(huì)低于解密后的圖像塊,因此接收者可以利用f0和f1完成數(shù)據(jù)提取和圖像恢復(fù).如果f0 在文獻(xiàn)[1]的基礎(chǔ)上,本文利用圖像分塊旋轉(zhuǎn)的思想構(gòu)建一種新的秘密信息嵌入方案.本方案分為圖像加密、秘密信息嵌入、圖像解密、秘密信息提取及圖像恢復(fù)4個(gè)步驟.其中,圖像加密和圖像解密沿用文獻(xiàn)[1]的算法方案.算法整體框架如圖1所示.內(nèi)容所有者利用加密密鑰Ken對(duì)原始圖像進(jìn)行加密操作,并輸出密文圖像,數(shù)據(jù)隱藏者對(duì)密文圖像進(jìn)行分塊并利用一定規(guī)則嵌入,之后將嵌入信息的加密圖像發(fā)給接收者;接收者利用解密密鑰Ken(同加密密鑰)對(duì)圖像進(jìn)行解密,得到待解密圖像,最后根據(jù)原始圖像的空間相關(guān)性提取嵌入信息并恢復(fù)原始圖像. 圖1 本文算法的整體框架 加密算法沿用文獻(xiàn)[1]的加密過(guò)程.假設(shè)原始圖像未被壓縮且每個(gè)像素的灰度值在[0,255]之間代表8位.用bi,j,0,bi,j,1,bi,j,2,…,bi,j,7共8 bit表示像素位,其中(i,j)表示像素的位置;灰度值設(shè)為pi,j. (4) 利用密鑰流對(duì)圖像像素進(jìn)行加密: Hi,j,k=bi,j,k⊕ri,j,k (5) 式中的ri,j,k由一個(gè)標(biāo)準(zhǔn)流密碼的加密密鑰Ken決定,可以確保其在不知道加密密鑰的情況下,無(wú)法獲得關(guān)于原始圖像加密數(shù)據(jù)的任何信息. 在秘密信息嵌入階段,嵌入的信息為二進(jìn)制形式.首先將密文圖像劃分為互不重疊的像素塊,記分塊尺寸為s×s,取出任一分塊每個(gè)像素的后3位LSB組成新矩陣,記為L(zhǎng)(i,j,k),前5位最高有效位(Mose Significant Bit,MSB)的數(shù)值記為M(i,j,k),其中(i,j)表示像素中的位置,k為比特位,1≤i,j≤s,k=0,1,2.由隨機(jī)密鑰生成一個(gè)大小為s×s的模板矩陣R(i,j,k),其中的元素由3位二進(jìn)制表示.秘密信息的嵌入流程如下. (1) 若嵌入數(shù)據(jù)為00,則保持模板矩陣R(i,j,k)不變,與L(i,j,k)進(jìn)行異或操作: B(i,j,k)=R(i,j,k)⊕L(i,j,k) 1≤i,j≤s,k=0,1,2 (6) (2) 若嵌入數(shù)據(jù)為01,則將模板矩陣R(i,j,k)旋轉(zhuǎn)90°,與L(i,j,k)進(jìn)行異或: (7) (3) 若嵌入數(shù)據(jù)位為10,則將模板矩陣R(i,j,k)旋轉(zhuǎn)180°,與L(i,j,k)進(jìn)行異或: (8) (4) 若嵌入數(shù)據(jù)為11,則將模板矩陣R(i,j,k)旋轉(zhuǎn)270°,與L(i,j,k)進(jìn)行異或: (9) 根據(jù)上述4種情況依次對(duì)所有圖像塊實(shí)施秘密信息的嵌入.嵌入信息后的矩陣B(i,j,k)與高5位MSB矩陣M(i,j,k)進(jìn)行組合,構(gòu)成含密的密文圖像塊.其余的分塊作相同操作,最終構(gòu)成含密密文圖像. 具體的信息嵌入過(guò)程如圖2所示. 根據(jù)算法流程可知,在信息嵌入階段,每個(gè)分塊存在4種旋轉(zhuǎn)情況,可嵌入2 bit的秘密信息,相對(duì)于文獻(xiàn)[1]中僅嵌入1 bit信息的容量,本文算法顯著提升了信息嵌入量.另外,由于取反操作會(huì)嚴(yán)重影響像素之間的空間相關(guān)性,若將像素中一半以上的比特位都取反,那解密后的圖像質(zhì)量會(huì)受到破壞;而灰度圖中最后3位的數(shù)值對(duì)整個(gè)圖像視覺(jué)質(zhì)量的影響較小,因此算法選擇只對(duì)每個(gè)像素的3個(gè)LSB進(jìn)行取反. 圖2 信息嵌入流程 當(dāng)收到一個(gè)包含有秘密信息的加密圖像時(shí),接收者首先根據(jù)解密密鑰(此處解密密鑰與加密密鑰相同)產(chǎn)生ri,j,k,然后根據(jù)式(5)的逆運(yùn)算計(jì)算解密圖像.對(duì)于初始的5個(gè)MSB,由于嵌入過(guò)程并未對(duì)其進(jìn)行改動(dòng),因此可以正確恢復(fù);而對(duì)于低位的3個(gè)LSB,若嵌入秘密信息為00,則也可以正確解密,若為其他形式的秘密信息,則解密后的像素值必然發(fā)生變化,與原始像素值存在較大差異,打亂了原始圖像中固有的像素之間的相關(guān)性.本算法將利用這一特性對(duì)解密后的圖像進(jìn)行恢復(fù). 在獲取解密圖像后,接收方首先將含有秘密信息的解密圖像進(jìn)行分塊,針對(duì)每一個(gè)分塊,將分別旋轉(zhuǎn)0°,90°,180°,270°的模板矩陣與后3位LSB構(gòu)成的圖像塊矩陣進(jìn)行異或,異或結(jié)果再和前5位MSB構(gòu)成的矩陣進(jìn)行組合,得到處理后的圖像塊H0,H1,H2,H3,由式(10)分別計(jì)算各個(gè)圖像塊的波動(dòng)值,記為f0,f1,f2,f3. (10) 根據(jù)4個(gè)波動(dòng)函數(shù)值,得到其中的最小值f′,即: f′=min(f0,f1,f2,f3) (11) 進(jìn)而可計(jì)算出嵌入的秘密信息: (12) 依次抽取每一塊的嵌入數(shù)據(jù),最終得到整體的秘密信息. 需要注意的是,文獻(xiàn)[1]的算法中每個(gè)分塊的邊界像素沒(méi)有參與到波動(dòng)函數(shù)的計(jì)算中,若分塊尺寸較小,則有可能影響信息提取的準(zhǔn)確率.比如,對(duì)于一個(gè)大小為8×8的分塊,總共包含64個(gè)像素,但約有43.75%的像素(28個(gè))位于這4個(gè)邊界上,隨著分塊尺寸變小,邊界像素所占的比例會(huì)隨之增高,就意味著參與計(jì)算塊相關(guān)性的像素也相應(yīng)減少,會(huì)對(duì)信息提取的準(zhǔn)確率產(chǎn)生較大影響.本文算法充分利用了垂直和水平方向相鄰像素的相關(guān)性,每個(gè)分塊的波動(dòng)程度能得到較好評(píng)估,因此本算法的性能更好. 針對(duì)本文的算法,選擇4幅標(biāo)準(zhǔn)灰度圖像對(duì)所提出的改進(jìn)方案進(jìn)行仿真實(shí)驗(yàn).這些圖像分別為:Lena (512×512),Fruits (512×480),Peppers (512×512),Sailboat (512×512).圖3給出了4幅圖像的具體示例,其中Lena和Peppers圖像內(nèi)容較為平滑,而Fruits和Sailboat為紋理較多的圖像. 為了展示算法的性能,分別設(shè)置分塊尺寸為s=4和s=8,并通過(guò)計(jì)算分塊提取的錯(cuò)誤率R來(lái)例證算法的優(yōu)越性. (13) 圖3 4幅實(shí)驗(yàn)圖像 式中:c——提取錯(cuò)誤的分塊個(gè)數(shù); r,l——圖像在垂直和水平方向的分塊個(gè)數(shù). 具體錯(cuò)誤率對(duì)比情況如表1所示.從表1可以看出,相比文獻(xiàn)[1]的算法,不管對(duì)于紋理圖像還是平滑圖像,本文算法的性能都有著不同程度的提升.此外,由于紋理圖像分塊復(fù)雜程度較高,會(huì)有較高的提取錯(cuò)誤率,相應(yīng)的性能提升程度也會(huì)較低.對(duì)于平滑圖像來(lái)說(shuō),本文算法的優(yōu)越性則較為明顯.圖4給出了平滑圖像Peppers在s=8時(shí)的提取錯(cuò)誤塊分布對(duì)比.由圖4可以看出,本文算法中錯(cuò)誤塊數(shù)顯著減少. 表1 文獻(xiàn)[1]算法和本文算法的性能對(duì)比 % 此外,我們通過(guò)實(shí)驗(yàn)給出不同圖像分塊尺寸s與提取錯(cuò)誤率之間的對(duì)比,如圖5所示.由圖5可以看出,不論是平滑圖像還是紋理圖像,當(dāng)分塊較小時(shí),本文算法的性能明顯好于文獻(xiàn)[1]算法.對(duì)于圖5(a)和圖5(c),錯(cuò)誤率以較快速度收斂為零,這是因?yàn)長(zhǎng)ena和Peppers圖像內(nèi)容較為平滑,當(dāng)分塊較小時(shí),會(huì)有一定的錯(cuò)誤率,而當(dāng)分塊變大時(shí),波動(dòng)函數(shù)能夠快速做出明確的判斷,進(jìn)而使得錯(cuò)誤率明顯降低.對(duì)于圖5(b),分塊必須達(dá)到一定程度,兩種算法的錯(cuò)誤率才逐漸接近零,這是因?yàn)镕ruits圖像的紋理較多,波動(dòng)函數(shù)變化較大,使得判斷出現(xiàn)一定誤差. 另外,綜合考查了幾幅實(shí)驗(yàn)圖像,研究嵌入容量與平均提取錯(cuò)誤率之間的變化規(guī)律,結(jié)果如圖6所示. 圖6 嵌入容量與平均提取錯(cuò)誤率的關(guān)系 由圖6可以看出,在相同嵌入容量下,本文算法的平均提取錯(cuò)誤率要比文獻(xiàn)[1]中的算法明顯降低,換句話說(shuō),本文算法在相同錯(cuò)誤率下能夠嵌入更多的秘密信息,這也說(shuō)明了通過(guò)本文的改進(jìn)機(jī)制,算法的性能得到了有效提升. (1) 本文中的算法實(shí)現(xiàn)了加密圖像中的信息隱藏方案,同時(shí)可以在提取秘密信息后完美恢復(fù)原始圖像; (2) 通過(guò)分塊旋轉(zhuǎn)設(shè)計(jì),每個(gè)分塊可嵌入2 bit秘密信息,信息的嵌入容量比已有算法提升了一倍; (3) 設(shè)計(jì)了新的波動(dòng)函數(shù)恢復(fù)原始圖像塊,大大降低了信息提取的錯(cuò)誤率; (4) 相對(duì)于已有的算法,本算法在同等嵌入容量情況下誤碼率更低,具有較高的實(shí)際應(yīng)用價(jià)值. [1] ZHANG X.Reversible data hiding in encrypted image[J].IEEE Signal Processing Letters,2011,18(4):255-258. [2] JIAN T.Reversible data embedding using a difference expansion[J].IEEE Transactions on Circuits and Systems for Video Technology,2003,13(8):890-896. [3] THODI D,RODRIGUEZ J.Expansion embedding techniques for reversible watermarking[J].IEEE Transactions on Image Processing,2007,16(3):721-730. [4] CELIK M,SHARMA G,TEKALP A,etal.Lossless generalized-LSB data embedding[J].IEEE Transactions on Image Processing,2005,14(2):253-266. [5] HUANG L C,TSENG L Y,HWANG M S.A reversible data hiding method by histogram shifting in high quality images[J].Journal of Systems and Software,2013,86(3):716-727. [6] AL-QERSHI O M,KHOO B E.Authentication and data hiding using a hybrid ROI-based watermarking scheme for DICOM images[J].Journal of Digital Imaging,2011,24(1):114-125. [7] CHIANG K H,CHANG-CHIEN K C,CHANG R F,etal.Tamper detection and restoring system for images using wavelet-based reversible data embedding[J].Journal of Digital Imaging,2008,21(1):77-90. [8] LIU X,LI S.An adaptive chaotic encrypted binary image digital watermarking algorithm based on DCT[C]//International Conference on Intelligent Computing and Integrated Systems (ICISS2010),2010:149-153. [9] BATTISTI F,CANCELLARO M,CARLI M,etal.Watermarking and encryption of color images in the Fibonacci domain[C]//Prcoeedings of SPIE,Image Processing:Algorithms and Systems VI,San Jose,California,USA.2008:6812(68121C). [10] LIAN S G,LIU Z X,ZHEN R,etal.Commutative watermarking and encryption for media data[J].Optical Engineering,2006,45(8):1678. [11] SUBRAMANYAM A V,EMMANUEL S,KANKANHALLI M S.Robust watermarking of compressed and encrypted JPEG2000 images[J].IEEE Transactions on Multimedia,2012,14(3):703-716. [12] HONG W,CHEN T S,WU H Y.An improved reversible data hiding in encrypted images using side match[J].IEEE Signal Processing Letters,2012,19(4):199-202.2 提出的算法
2.1 算法框架
2.2 圖像加密
2.3 秘密信息嵌入
2.4 圖像解密
2.5 信息提取與圖像恢復(fù)
3 實(shí)驗(yàn)結(jié)果
4 結(jié) 論