韓喜玉,錢振興,張新鵬,姜飛
上海大學通信與信息工程學院,上海200444
按需發(fā)送的加密圖像中的可逆信息隱藏
韓喜玉,錢振興,張新鵬,姜飛
上海大學通信與信息工程學院,上海200444
提出了一種新的加密圖像中的可逆信息隱藏算法.發(fā)送方對圖像進行下采樣并計算殘差,得到子圖像和殘差兩部分數(shù)據(jù),再使用加密密鑰對兩部分數(shù)據(jù)分別進行加密后發(fā)送給服務器端.服務器端對殘差部分的加密數(shù)據(jù)進行算術編碼,產(chǎn)生冗余空間并使用嵌入密鑰隱藏額外數(shù)據(jù).接收端根據(jù)持有密鑰的情況,從服務器端獲取不同的數(shù)據(jù)版本.與以往方法相比,所提出的按需傳輸數(shù)據(jù)的新機制可有效減少服務器傳送的數(shù)據(jù)量,且在圖像可無損恢復的前提下大大提高了數(shù)據(jù)嵌入率.
可逆數(shù)據(jù)隱藏;加密;信息隱藏;算術編碼
加密圖像中的可逆信息隱藏(reversible data hiding,RDH)是將信息準確提取后能使原始圖像無損恢復的有效工具.正是由于秘密信息提取后原始圖像內容能夠無損恢復,RDH就成為一個熱門的研究方向,并應用于很多領域,如醫(yī)學圖像、軍事圖像、法律取證等.RDH是一個相對成熟的技術,主要方法有基于無損壓縮的可逆信息隱藏[1]、基于插值擴展的可逆信息隱藏[2-4]、基于直方圖平移的可逆信息隱藏[5-6]、基于像素預測的可逆數(shù)據(jù)隱藏[7-8].隨著對個人隱私保護觀念的日益加深,數(shù)據(jù)加密變得異常重要,尤其是云計算[9]背景下在加密數(shù)據(jù)中嵌入信息顯得極為重要.例如在某些情況下,圖像持有者需要將一幅圖像上傳至服務器,但他/她不愿意公開圖像內容,于是加密圖像進行隱私保護,以防止圖像內容泄露.另外,服務器希望在收到的加密圖像中嵌入一些有用信息,以方便管理圖像,此時就需要引入加密圖像中的信息隱藏概念.
文獻[10]把加密圖像分成若干不重疊的塊,塊的大小為s×s;為了能夠嵌入信息,根據(jù)信息隱藏密鑰將每一塊隨機分成兩個像素集合S0和S1;翻轉每一個像素集合(S0或S1)中的像素的最低3位有效位(least significant bits,LSB),以表示嵌入1 bit信息;翻轉S0的3LSBs成一個新的塊H0,翻轉S1的3 LSBs變成H1,比較H0和H1的平滑度來提取信息和恢復原始圖像.文獻[11]對上述方法進行改進,在數(shù)據(jù)提取和圖像恢復時利用像素的空間相關性和邊(side)匹配機制,降低了圖像恢復錯誤率.文獻[12]亦提出了一種可分離加密圖像中的可逆信息隱藏方法.利用奇偶校驗矩陣,實現(xiàn)圖像的“壓縮”并嵌入信息.文獻[13]將加密后的圖像分成兩部分,其中一部分利用LDPC編碼進行無損壓縮,多余的空間可用來嵌入信息;接收方利用壓縮后的數(shù)據(jù)和未壓縮的原始像素值,恢復原始圖像的內容.文獻[14]利用加密圖像的直方圖統(tǒng)計特征調整直方圖,可以實現(xiàn)數(shù)據(jù)嵌入.文獻[15]在圖像加密之前將圖像的一部分像素最低有效位無損嵌入到其他像素中,多余的空間可以進行信息嵌入.文獻[16]提出一種基于預測模型的方法,圖像的一部分像素用其他像素預測,對殘差的調整、平移可以為信息隱藏預留空間.文獻[17]提出了一種通用的可逆信息隱藏方法,適用于圖像、視頻、文件等任何加密信號.在假設加密信號仍然有冗余的前提下,將加密后的信號分成若干個不重疊的組,然后把每組GRC碼調整成定長編碼形式,以嵌入信息.該方法的每個分組可以嵌入2 bits信息,提高了嵌入率.
本文提出了一種新的算法,包括圖像加密、信息嵌入、數(shù)據(jù)提取/圖像恢復三部分.主要有兩大優(yōu)點:在原始圖像無損恢復的前提下大大提高了嵌入率.根據(jù)接收方所持密鑰類型提出了一種新的發(fā)送機制,如果接收端含有加密密鑰,得到的是加密的子圖像;如果只有嵌入密鑰,得到是一段秘密信息;如果兩個密鑰都存在,得到的是所有數(shù)據(jù).這種按需發(fā)送的機制,使服務器減少了數(shù)據(jù)傳輸量.
本文的算法框架如圖1所示.在發(fā)送端,對原始圖像進行下采樣,獲得4幅子圖像并且計算殘差.加密包括子圖像加密和殘差的映射(將殘差映射成連續(xù)排列的整數(shù)).在服務器端,得到一組加密數(shù)據(jù)后對殘差進行熵編碼,壓縮得到的冗余空間可用來嵌入數(shù)據(jù).信息隱藏密鑰主要用于打亂秘密數(shù)據(jù)的排列順序.
在接收端,如果只含有一個加密密鑰,接收者只能收到一幅加密子圖像,于是可以根據(jù)加密密鑰無損恢復原始子圖像;在只持有加密密鑰的前提下,接收者實際上是想近似獲得原始圖像內容.如果持有信息隱藏密鑰,服務器會發(fā)送含有隱秘數(shù)據(jù)的信息段,此時可以根據(jù)嵌入密鑰準確提取信息;如果持有兩種密鑰,那么接收方可以獲得所有的數(shù)據(jù),原始圖像可以無損恢復,且隱秘信息也可完整提取.與傳統(tǒng)的加密圖像中的可逆信息隱藏算法不同的是:在只含有一種密鑰(加密密鑰或信息隱藏密鑰)的情況下發(fā)送所有的數(shù)據(jù).若采用本文提出的按需發(fā)送機制,則可以減少數(shù)據(jù)傳輸量.
圖1 算法框架Figure 1 Our framework
2.1圖像加密算法
假設一幅8比特灰度圖像I大小為M×N,滿足I(i,j)∈[0,255],1≤i≤M,1≤j≤N.圖像加密之前需要進行下采樣,計算殘差和數(shù)據(jù)重組.對I進行下采樣得到子圖像IA、IB、IC、ID,分別滿足IA∈I(i,j),i mod 2=1,j mod 2=1,IB∈I(i,j),i mod 2=1,j mod 2=0,IC∈I(i,j),i mod 2=0,j mod 2=1,ID∈I(i,j),i mod 2=0,j mod 2=0,計算3組差值
將dB、dC、dD分別轉化成一維行向量,得到最終的殘差.圖2是最常見圖像Lena、Airplane等D的統(tǒng)計.橫坐標表示D的值,為了方便,統(tǒng)計-50和+50之間的殘差值;縱坐標表示每個殘值對應的數(shù)目.從圖2中可以看出,對于較平滑的圖像(Lena、Airplane),其殘差分布較集中,且殘差值為“0”和“-1”的較多.正是由于這種數(shù)據(jù)的冗余性,信息隱藏者可以對其壓縮,用來嵌入數(shù)據(jù).
獲得殘差后對圖像進行重組,首先根據(jù)文獻[12]的流密碼對IA進行加密,則IA的每一個像素IA(i,j)分解為IA(i,j,0),IA(i,j,1),···,IA(i,j,7)
式中,k=0,1,···,7.
利用密鑰Kenc生成隨機比特流ri,j,k,通過異或操作可以得到加密的子圖像A
圖2 常見圖像D的分布Figure 2 Distribution of usual D
2.2信息嵌入
信息隱藏者得到加密數(shù)據(jù)U后,提取V.對V進行統(tǒng)計,得到P互不相同的值,是對按照式(8)計算得到的.對V進行熵編碼,根據(jù)算術編碼[18]得到
式中,AC為V的算術編碼碼流,LC為算術編碼的長度,fun()表示算術編碼函數(shù).為了便于解碼和信息嵌入,對算術編碼碼流進行重新構造,L為LC的二進制表示形式,且L的長度固定為2lb(MN),此時可以得到最大嵌入信息量Em如式(1)所示,單位為bit
于是最大嵌入率Bm為
式中,Bm表示每個像素可以嵌入的最大比特數(shù)量,單位為bpp(bits per pixel).空間預留完成后,根據(jù)信息嵌入密鑰Kemb,將隱秘信息置亂得到信息序列M.最終嵌入信息后的數(shù)據(jù)流Y如圖3所示.
圖3 發(fā)送信息格式Figure 3 Format of sent data
接收方有以下3種情況:只含加密密鑰(Kenc,F(xiàn))、信息隱藏密鑰Kemb、兩種密鑰都有.根據(jù)所含密鑰的不同,服務器發(fā)送不同的內容給接收方.
3.1只有加密密鑰
3.2只含有信息隱藏密鑰
在只含有信息隱藏密鑰情況下,接收者只有提取秘密信息的權利,因此服務器將M發(fā)送至接收方,在傳輸過程中有效減少了傳輸信息量.接收方只能獲得置亂后的秘密信息序列M,而無法獲得原始圖像內容.利用信息隱藏密鑰Kemb,把信息M恢復成原始順序,得到序列︿M,完成數(shù)據(jù)的提取.因為信息隱藏密鑰僅僅是打亂秘密信息的排列順序,所以在提取完信息M后根據(jù)嵌入密鑰可以準確地恢復秘密信息.如果沒有嵌入密鑰Kemb,那么只能提取排列錯誤的信息,而無法獲得隱秘信息的內容.
3.3持有兩種密鑰
在圖像加密密鑰(Kenc,F(xiàn))和信息隱藏密鑰Kemb都具備的情況下,服務器將所有的數(shù)據(jù)發(fā)送給接收方.此時不僅能準確提取信息,還能無損恢復原始圖像的內容.根據(jù)密鑰Kemb可準確提取信息.原始圖像的恢復包括子圖像IA的恢復和殘差D的恢復,步驟如下:
步驟1根據(jù)圖像加密密鑰Kenc,對子圖像進行解密,得到XA.
步驟2提取圖3中的L(長度2lb(MN)),確定算術編碼的長度,然后將算術編碼的碼流C提取出來,對C進行算術解碼
式中,D0為解碼后得到的序列,Defun()表示算術解碼函數(shù),
步驟3根據(jù)加密密鑰F將殘差D0轉化成原始的殘差值,得到D′0;接著恢復3個子圖像的殘差d2、d3、d4,大小均為mn×1.把3個子殘差恢復成二維矩陣,得到恢復的子殘差d′2、d′3、d′4.
步驟4根據(jù)恢復的子殘差和子圖像XA,恢復3個子圖像XB、XC、XD
步驟5最后,恢復原始圖像X
式中,1≤i≤M,1≤j≤N.
使用512×512的灰度圖像來驗證本文算法,圖4為常見圖像“Lena”、“Bridge”、“Baboon”的實驗結果.圖(a)、(d)、(g)為原始圖像;在3段加密數(shù)據(jù)中,分別嵌入589315 bits、645663 bits、265771 bits的數(shù)據(jù),圖(b)、(e)、(h)為提取信息后恢復的原始圖像,與原始圖像完全一致,圖(c)、(f)、(i)為根據(jù)加密密鑰恢復的子圖像.
本文對5幅圖像(512×512)進行參數(shù)統(tǒng)計,結果如表1所示.包括最大嵌入容量Em,算術編碼長度L的統(tǒng)計.可以看到平滑圖像(Lena、Airplane等)嵌入量較高,因為平滑圖像(Lena、Airplane等)像素間的相關性較大,根據(jù)式(1)~(3)計算時殘差分布較集中.分布越不均勻,進行無損壓縮時的效果就越好,可嵌入的信息量就會增加.
圖4 圖像質量比較Figure 4 Comparison of image quality
表1 不同圖像的參數(shù)比較Table 1 Parameters comparison of diferent images
如表2所示,比較采用不同算法得到的最大嵌入率Bm,所用圖像均為512×512的灰度圖像.文獻[10]直接在加密圖像中進行分塊和翻轉操作以“壓縮”圖像,嵌入信息.加密后的圖像特性隨機很高,信息熵較大,壓縮率較低,導致信息嵌入量很低.再者,如果塊較小,即使提高了嵌入率,也會增加圖像恢復錯誤率.文獻[15]將原始圖像分成A、B部分.將A的LSBs無損嵌入到B中,則A中空余的空間可用于信息隱藏.本文則經(jīng)過熵編碼進行壓縮,故嵌入量較高.文獻[16]中對部分像素進行預測,利用直方圖平移算法產(chǎn)生空間,但是仍然沒有壓縮殘差產(chǎn)生的空間多.
表2 幾種算法的最高嵌入率比較Table 2 Comparison of max embedding rate from several methodsbpp
由于在圖像加密之前進行了圖像采樣和作殘差,發(fā)送給信息隱藏者的是加密的殘差和子圖像.通過映射對殘差加密,把殘差良好的冗余性保留下來.能夠獲得高嵌入率的原因正是殘差的良好的可壓縮性.實驗中采用了算術編碼,若采用其他無損編碼方式,如哈夫曼編碼、LDPC編碼、LZW編碼等,也可達到類似的效果.實驗結果表明,本文算法具有最大的嵌入率.
本文提出了一種新的加密圖像中的可逆信息隱藏算法.在發(fā)送端,對原始圖像進行下采樣和計算殘差,并且對子圖像和殘差進行加密.在服務器端,利用殘差的可壓縮性進行熵編碼,根據(jù)信息隱藏密鑰在壓縮后的空間中嵌入信息;在接收端,可根據(jù)所含密鑰類型獲取不同的數(shù)據(jù)版本.如果含有加密密鑰,那么接收方得到加密的子圖像;如果含有信息隱藏密鑰,可得到秘密信息的數(shù)據(jù);在兩個密鑰都有的情況下,可獲得所有數(shù)據(jù).與傳統(tǒng)算法相比,本文算法不但在無損恢復原始圖像的前提下提高了嵌入容量,而且采用了一種新的按需發(fā)送機制,可以有效減少數(shù)據(jù)的傳送量.
[1]Fridrich J,Goljan M,Du R.Lossless data embedding for all images formats[C]//Electronic Imaging 2002,International Society for Optics and Photonics,2002:572-583.
[2]Kundur D,KarThik K.Video fngerprinting and encryption principles for digital rights management[J].Proceedings of the IEEE,2004,92(6):918-932.
[3]Celik M U,Sharma G,Tekalp A M.Lossless generalized-LSB data embedding[J].IEEE Transactions on Image Processing,2005,14(2):253-266.
[4]Thodi D M,Rodríguez J J.Expansion embedding techniques for reversible watermarking[J]. IEEE Transactions on Image Processing,2007,16(3):721-730.
[5]Ni Z,Shi Y Q,Ansari N.Reversible data hiding[J].IEEE Transactions on Circuits and Systems for Video Technology,2006,16(3):354-362.
[6]Tai W L,Yeh V M,Chang C C.Reversible data hiding based on histogram modifcation of pixel diferences[J].IEEE Transactions on Circuits and Systems for Video Technology,2009,19(6):906-910.
[7]Luo L,Chen Z,Chen M,Zheng X,Xiong Z.Reversible image watermarking using interpolation technique[J].IEEE Transactions on Information Forensics and Security,2010,5(1):187-193.
[8]Li X,Yang B,Zeng T.Efficient reversible watermarking based on adaptive prediction-error expansion and pixel selection[J].IEEE Transactions on Image Processing,2011,20(12):3524-3533.
[9]Hwang K,Li D.Trusted cloud computing with secure resources and data coloring[J].IEEE on Internet Computing,2010,14(5):14-22.
[10]Zhang X.Reversible data hiding in encrypted image[J].IEEE on Signal Processing Letters,2011,18(4):255-258.
[11]Hong W,Chen T S,Wu H Y.An improved reversible data hiding in encrypted images using side match[J].IEEE on Signal Processing Letters,2012,19(4):199-202.
[12]Zhang X.Separable reversible data hiding in encrypted image[J].IEEE Transactions on Information Forensics and Security,2012,7(2):826-832.
[13]Zhang X,Qian Z,F(xiàn)eng G,Ren Y.Efficient reversible data hiding in encrypted images[J]. Journal of Visual Communication and Image Representation,2014,25(2):322-328.
[14]Qian Z,Zhang X H X.Separable reversible data hiding in encrypted images by n-nary histogram modifcation[C]//The Third International Conference on Multimedia Technology,Atlantis Press,2013:869-876.
[15]Ma K,Zhang W,Zhao X,Yu N.Reversible data hiding in encrypted images by reserving room before encryption[J].IEEE Transactions on Information Forensics and Security,2013,8(3):553-562.
[16]Zhang W,Ma K,Yu N.Reversibility improved data hiding in encrypted images[J].Signal Processing,2014,94:118-127.
[17]Abdul Karim M S,Wong K S.Universal data embedding in encrypted domain[J].Signal Processing,2014,94:174-182.
[18]WiTTen I H,Neal R M,Cleary J G.Arithmetic coding for data compression[J].Communications of the ACM,1987,30(6):520-540.
[19]Zhang D,Wu X.An edge-guided image interpolation algorithm via directional fltering and data fusion[J].IEEE Transactions on Image Processing,2006,15(8):2226-2238.
(編輯:管玉娟)
Reversible Data Hiding in Encrypted Images Transmitted on Demand
HAN Xi-yu,QIAN Zhen-xing,ZHANG Xin-peng,JIANG Fei
School of Communication and Information Engineering,Shanghai University,Shanghai 200444,China
This paper proposes a new method of reversible data hiding in encrypted images.The sender down-samples the original image and calculates the residuals to generate two sets of objects:sub-images and residuals.These are encrypted with an encryption key and sent to the server.The server applies arithmetic coding on the encrypted residuals to generate spatial redundancy,and then hides extra data using the embedding key.With the key,the receiver obtains diferent versions of the data transmitted by the server.Unlike the conventional methods,a transmission-on-demand mechanism is used,which can efectively reduce the amount of transmitted data on the server.With the image perfectly recovered,the data embedding rate is greatly improved.
reversible data hiding,encryption,data hiding,arithmetic coding
TN911.73
0255-8297(2015)01-0050-09
10.3969/j.issn.0255-8297.2015.01.006
2014-10-17;
2014-12-04
國家自然科學基金(No.61103181,No.61472235,No.61202367);上海自然科學基金(No.14ZR1415100,No.12ZR1443700);上海市青年科技啟明星人才計劃基金(No.14QA1401900);上海市教委創(chuàng)新基金(No.14YZ020)資助
錢振興,副研究員,研究方向:信息隱藏、加密信號處理,E-mail:zxqian@shu.edu.cn