陳浩然
(南京郵電大學(xué) 通信與信息工程學(xué)院,南京 210003)
對于傳統(tǒng)的數(shù)字水印技術(shù),當(dāng)攻擊者獲知嵌入算法后,就可以用嵌入過程的逆過程提取水印,這樣作品也就失去了受保護(hù)能力。本文在前人研究的基礎(chǔ)上,結(jié)合傳統(tǒng)的密碼學(xué)和新興的數(shù)字水印技術(shù),提出一種基于密碼學(xué)的數(shù)字水印技術(shù)。在水印信息被嵌入到載體作品之前,根據(jù)密碼學(xué)原理將水印進(jìn)行加密,然后再進(jìn)行嵌入。Shannon曾證明“一次一密”密文是不可破譯的,所謂“一次一密”就是對于明文空間中的每一個(gè)元素,在密鑰向量中有唯一的密鑰與它加密,即每個(gè)密鑰只用一次,而且密鑰是非周期的。
混沌是非線性動(dòng)力學(xué)系統(tǒng)所特有的一種運(yùn)動(dòng)形式,它廣泛地存在于自然界。一維的Logistic映射的公式如下:
選定初始值后再根據(jù)式(1)進(jìn)行迭代就可以得到混沌序列??梢宰C明:Logistic混沌序列具有類似白噪聲的特性;對初始值非常敏感,用兩個(gè)非常相近的初始值進(jìn)行迭代所產(chǎn)生的軌跡會(huì)按指數(shù)級分離,因此初始值可以作為密鑰;根據(jù)迭代軌跡很難推導(dǎo)出初始值; Logistic序列具有非周期性。因此,它可以實(shí)現(xiàn)shannon的“一次一密”理論。
為了避免計(jì)算機(jī)有限精度帶來的混沌序列的舍入誤差問題,將迭代產(chǎn)生的混沌序列實(shí)值轉(zhuǎn)換成二進(jìn)制整數(shù)。具體實(shí)現(xiàn)過程如下:
① 將待加密的明文轉(zhuǎn)換成二進(jìn)制位串序列Wm,長度為m,每個(gè)單位的字長為L。
av,i為二進(jìn)制數(shù)0或1。取前L位表示xi,舍棄后面的位,以便數(shù)字加密需要,將其整數(shù)化,則有:
混沌實(shí)值序列xi中的每一個(gè)由一個(gè)L位的二值序列Bi表示。這樣每次迭代一次產(chǎn)生一個(gè)xi,相應(yīng)的就得到了L位二進(jìn)制比特序列。可以證明,由混沌實(shí)值序列得到的混沌二值序列仍有很好的自相關(guān)及互相關(guān)等統(tǒng)計(jì)特性。
③ 為了避免相鄰初始值產(chǎn)生的混沌序列短期內(nèi)軌跡分離不明顯帶來的相似序列,舍棄前1000個(gè)迭代點(diǎn)的值,取接下來的長度為m個(gè)迭代值,得到混沌二進(jìn)制比特實(shí)值序列Sm 。
④ 將水印明文序列Wm和混沌序列Sm進(jìn)行異或運(yùn)算,得到水印密文序列w。
對于圖像來說,人類視覺系統(tǒng)(Human Visual System,HVS)的主要特性表現(xiàn)在3個(gè)方面:亮度特性、頻率特性和圖像類型特性。亮度特性最基本,是關(guān)于人眼對亮度變化的敏感性,人眼對于高亮度的區(qū)域所附加的噪聲其敏感性較??;對于頻域特性來說,如果將圖像從空間域變換到頻率域,頻率越高,人眼的分辨能力就越低,頻率越低,人眼的分辨能力就越高;另外,從圖像類型特性來說,圖像可分為大塊平滑區(qū)域和紋理密集區(qū)域,HVS對于平滑區(qū)域的敏感性要遠(yuǎn)高于紋理密集區(qū)域。
小波變換可以較好地匹配HVS,圖像小波變換低頻子帶(LLn,n為分解層數(shù))系數(shù)代表它所在的小波塊對應(yīng)的圖像塊的平均亮度,其中大的系數(shù)代表圖像中平均亮度高的區(qū)域,小的系數(shù)代表圖像中平均亮度低的區(qū)域。高頻子帶(HLi,LHi,HHi,i=1……n)系數(shù)則代表圖像的紋理和邊緣部分,其中絕對值大的系數(shù)代表圖像復(fù)雜紋理和邊緣部分,絕對值小的系數(shù)代表圖像的平滑部分。
小波變換域JND(Just Noticed Difference)門限提供了小波系數(shù)可容忍的視覺失真的大小,所建立的JND模型如下:
(1) 人類視覺系統(tǒng)對不同方向不同層次的中高頻子圖像中的噪聲敏感度不同,特別對450方向高頻子圖像中的噪聲不敏感(如HH子帶)。設(shè)不同層l(l =0,1,2,3)不同子圖像對噪聲的掩蓋因子記為,可由下式估計(jì):
(2) 人類視覺系統(tǒng)對不同亮度區(qū)域的噪聲的視覺敏感性不同,對很黑或很亮的區(qū)域的噪聲不敏感,設(shè)分解層次l中某空間位置 (m,n) 由于背景亮度不同的可容許的失真為Bl(m,n),則Bl(m,n) 可由下式計(jì)算:
(3) 人類視覺系統(tǒng)對圖像紋理區(qū)域的噪聲特別不敏感,即紋理可掩蓋較大的噪聲。令 為紋理掩蓋效應(yīng)的因子,可用不同細(xì)節(jié)子圖像局部均值的平方和低頻子帶的方差兩部分進(jìn)行描述,分別由像素(m,n)處的2×2鄰域計(jì)算:
根據(jù)圖像的小波變換頻域特性以及與HVS的匹配,如果在圖像的小波變換域滿足如下條件:
(1) 嵌入水印后的圖像所產(chǎn)生的變化對HVS不敏感;
(2) 嵌入水印后的圖像能夠抵抗一些傳統(tǒng)的信號處理操作,如加噪,壓縮,剪切等;
那么人類視覺系統(tǒng)將不會(huì)察覺到其中含有水印,而且含有水印的圖像還具有一定的抗攻擊性。
本文充分考慮了小波變換的頻域特性與人類視覺系統(tǒng)的很好匹配,在前人的研究基礎(chǔ)上,利用圖像的小波變換域的JND模型提出了一種改進(jìn)的在圖像的小波變換域嵌入數(shù)字水印的算法。實(shí)現(xiàn)步驟如下:
① 將混沌加密后的水印密文序列w的二值信息分為兩個(gè)部分wk1和wk2,k1、k2滿足如下條件:
本文在實(shí)現(xiàn)中取k1=0.7,k2=0.3。這樣做是為了對水印進(jìn)行多重保護(hù),并最大限度地提取水印。
② 采用二維離散小波變換,將載體圖像進(jìn)行三層小波分解,得到不同頻帶、不同方向上的子圖:HH1、HL1、LH1,HH2、HL2、LH2 和 HH3、HL3、LH3、LL3。
③ 將水印信息wk1和wk2按不同的系數(shù)分別嵌入到中頻子帶圖像HH2,HL2,LH2和低頻子帶圖像HH3,HL3和LH3中。為了保證水印的不可感知性,根據(jù)人類視覺系統(tǒng)設(shè)計(jì)了與水印嵌入位置特征參數(shù)相關(guān)的視覺掩蔽函數(shù),使水印信號自適應(yīng)于載體圖像。設(shè)計(jì)的公式如下:
Im,d(i,j)表示位于分辨率為m、第d子帶中(i,j)處的小波系數(shù),分解級數(shù)m = 1、2、3,d=LL,HL,LH,HH,分別表示低頻子帶和水平、垂直、對角方向的高頻子帶圖像。 為第m級第d子帶圖像的調(diào)節(jié)因子;Tm,d(i,j) 是視覺掩蔽函數(shù),表示第m級第d子帶圖像(i,j)處的視覺掩蔽值; 表示第m級第d子帶圖像的能量,分別作如下定義:
其中Nm,d指 第m級第d子帶的大?。籩m,LL表示第m級的LL子帶的均值。
按照公式(9)、(10)、(11)和(12)計(jì)算中頻和低頻每個(gè)位置的嵌入系數(shù),將wk1和wk2分別自適應(yīng)的嵌入。
④將嵌入水印的圖像進(jìn)行三層小波反變換,即可得到含有水印的圖像。
用本文提出的改進(jìn)算法嵌入水印后的水印圖像不僅具有很好的不可感知性,而且從小波變換域提取出的水印密文還具有很好的抗破譯性。為了驗(yàn)證這些性能,進(jìn)行兩個(gè)實(shí)驗(yàn):① 實(shí)驗(yàn)1驗(yàn)證抗破譯性,即密鑰的敏感性;② 實(shí)驗(yàn)2驗(yàn)證水印圖像具有很好的不可感知性。
水印采用圖1(a)所示的圖像,載體圖像采用圖1(b)的Lena圖像,嵌入時(shí)選擇輸入密鑰為0.2,嵌入水印后的圖像如圖1(c)。
圖1 實(shí)驗(yàn)中所用圖像
水印圖像未經(jīng)受任何攻擊操作時(shí)提出的水印密文圖像、用正確的密鑰0.2和不正確的密鑰0.200001從水印密文中解密出來的水印圖像如圖2(a)、2(b)和2(c)所示。
圖2 用正確密鑰和錯(cuò)誤密鑰提取出的水印圖像
可見,當(dāng)輸入密鑰相差10-6個(gè)級別時(shí),完全不能提取出水印。因此,具有很好的抗破譯性能。
如圖3(a)~(d)所示的256×256的BMP格式圖像,然后用本文提出的算法嵌入水印,圖4(a)~(d)是嵌入水印后的圖像。
圖3 原始載體圖像
圖4 嵌入水印后的圖像
從3個(gè)方面驗(yàn)證用本文提出的改進(jìn)算法嵌入水印后的圖像具有很好的不可感知性。
① 從視覺上驗(yàn)證。由圖3和圖4相對應(yīng)的圖比較可知,用本文提出的算法嵌入水印后的圖像在視覺上具有很好的不可感知性。
② 用峰值信噪比來驗(yàn)證。峰值信噪比(Peak Signal Noise Ratio,PSNR)是在數(shù)學(xué)方法上衡量嵌入水印后圖像像素值的總體變化情況。定義如下:
表1 在不同圖像中嵌入水印后圖像的PSNR值
可見,每個(gè)嵌入水印后的圖像的峰值信噪比都大于數(shù)字水印系統(tǒng)中要求的最低峰值信噪比值28。因此,從理論上來說,用本文提出的算法嵌入水印的圖像有很好的不可感知性。
③ 通過嵌入水印對圖像特征值的影響來判斷。為了比較用本文提出的算法嵌入水印后對圖像特征值的影響,分別將原始圖像進(jìn)行以下處理:加入5%的高斯噪聲、擴(kuò)散圖像、將圖像高斯模糊化以及用本文提出算法嵌入水印。對這4種處理后的圖像采用圖像的質(zhì)量評價(jià)標(biāo)準(zhǔn)對它們的特征值變換進(jìn)行分析。對4幅圖像進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)的總次數(shù)為16。然后采用方差分析(ANOVA)方法對實(shí)驗(yàn)結(jié)果進(jìn)行統(tǒng)計(jì)分析,得到對不同圖像進(jìn)行處理操作的5種質(zhì)量評價(jià)標(biāo)準(zhǔn)ANOVA結(jié)果,如表2所示。
表2 對于不同操作得到的5種質(zhì)量評價(jià)標(biāo)準(zhǔn)ANOVA結(jié)果表
當(dāng)顯著水平為0.05時(shí),查F分布分位數(shù)表得:
將表2中得到的檢驗(yàn)統(tǒng)計(jì)量F和F0.05( 3 , 1 6 ) 比較,可以看到,5種質(zhì)量評價(jià)標(biāo)準(zhǔn)的F值均小于F0.05(3 ,1 6 ),所以,用本文提出的算法嵌入水印對頻譜相位的影響與其它操作對頻譜相位的影響來說是不明顯的,因此,對圖像的特征值不會(huì)帶來明顯的變化。因此,無論從視覺上,還是從理論值分析上,用本文提出的算法嵌入水印后的圖像,都具有很好的不可感知性。
用本文所提出的基于混沌映射的小波域數(shù)字水印算法嵌入水印后的圖像,既具有很好的不可感知性,同時(shí)提取出的水印密文還有很強(qiáng)的抗破譯性。但是,在本文中沒有對用該算法嵌入信息的大小進(jìn)行具體的分析,給出一個(gè)定量的計(jì)算公式,這是以后的研究方向。
[1]SHANNON C E.A mathematical theory of communication[J].The Bell System Technical Journal,1948, 27 ( 7) :379-423.
[2]關(guān)新平,范正平,陳彩蓮.混沌控制及其在保密通信中的應(yīng)用[M].北京:國防工業(yè)出版社,2007:76-78.
[3]Kohda T, Tsuneda A.Statistics of chaotic binary sequences[J].IEEE TRANSACTIONS ON INFORMATION THEORY,1997,43(1):104-112.
[4]王慧琴,李人厚.基于混沌加密的頻率域數(shù)字圖像水印算法[J].計(jì)算機(jī)應(yīng)用研究,2008,19(1):71-73.
[5]Watson A B, Solomon J A, and Villasenor J.Visibility of wavelet quantization noise[J].IEEE Transaction in Image Processing.1997(6):1164-1175.
[6]http://www.cl.cam.ac.uk/~fapp2/watermarking/image_database.html
[7]辛益軍.方差分析與實(shí)驗(yàn)設(shè)計(jì)[M].北京:中國財(cái)政經(jīng)濟(jì)出版社,2008:123-124.
[8]黃達(dá)人,劉九芬,黃繼武.小波變換域圖像水印嵌入對策和算法[J].軟件學(xué)報(bào),2002,13(7):1290-1297.