專利名稱:數(shù)字水印的加密正交變換方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)字水印的加密正交變換方法,特別適用于數(shù)字圖像和視頻產(chǎn)品的版權(quán)認(rèn)證,可使數(shù)字水印安全性得到很大的提高。
背景技術(shù):
近年來隨著網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,人們可以從互聯(lián)網(wǎng)上欣賞到許多精美的圖片,這些圖片很難使用常規(guī)的版權(quán)認(rèn)證,因此迫切需要一種技術(shù)能夠用來識別圖片等的來源、版本、原作者、發(fā)行人、合法使用人對數(shù)字產(chǎn)品的擁有權(quán),數(shù)字水印應(yīng)運而生。數(shù)字水印技術(shù)通常需要滿足幾個技術(shù)要求,它們是不可見性,安全性,魯棒性,水印的不可否認(rèn)性等等,目前提出的算法更多的強調(diào)魯棒性和不可見性。在安全性方面,攻擊者通常可以分析算法本身的漏洞,而不是通過蠻力攻擊破壞水印,例如對于一幅靜止圖像,可以在空間域?qū)ふ揖植繕O值點和分析圖像的直方圖,在DCT(離散余弦變換)域中直接修改中高頻系數(shù)等等,尤其是后者,因為很多算法把水印信息嵌入到中高頻系數(shù)中,如果攻擊者直接在中高頻系數(shù)中加入一定量的噪聲,此時圖像不會有明顯降質(zhì),但會對水印產(chǎn)生很大的破壞作用,這主要因為DCT的變換核是公開的,攻擊者也可以重復(fù)DCT操作,這就使算法的主體不是由密鑰控制的,從而它們不滿足密碼理論的Kerckhoffs準(zhǔn)則,因此安全性得不到保證,而有時候水印系統(tǒng)的安全性恰恰是非常重要的。
近年來,有一些文獻(xiàn)提出了在圖像或者視頻經(jīng)過正交變換(離散傅立葉變換(DFT)、DCT和奇異值分解(SVD)等)后嵌入數(shù)字水印信息。在檢測端,一般要求實現(xiàn)嵌入算法的逆過程完成水印提取。例如,參考文獻(xiàn)“OptimalDifferential Energy Watermarking of DCT Encoded Images and Video[J],”(Gerrit C.Langelaar and Reginald L.Lagendijk,IEEE Trans.Image Processing,Vol.10,No.1,2001,pp148~157.)提出了一種基于DCT域的擴頻數(shù)字水印算法,通過將數(shù)字水印信息擴頻,再嵌入到圖像DCT域內(nèi)中高頻系數(shù)中來嵌入水印,接收端則通過相關(guān)檢測并做判決得到水印數(shù)據(jù)。
參考文獻(xiàn)“An SVD-Based Watermarking Scheme for Protecting RightfulOwnership[J],”(Ruizhen Liu and Tieniu Tan,IEEE Trans.Multimedia,Vol.4,No.1,pp.121-128,Mar.2002.)則提出了了一種基于SVD分解的擴頻水印算法,它也是利用了SVD這種正交變換,把擴頻序列加入到正交變換后的圖像中。
上面提到的兩種方法對壓縮、濾波以及噪聲污染具有很強的魯棒性。但是,這些方法沒有更多地考慮安全性問題,因為非法使用者可以不借助蠻力攻擊,他們只需分析算法本身漏洞就可以刪除水印信息或者恢復(fù)出水印,這是水印設(shè)計者所不愿意看到的。這些水印算法一旦公開,這些攻擊者就可以重復(fù)DCT,SVD等等這些變換,在水印嵌入的地方加入強噪聲干擾水印和破壞水印的提取,因為這些地方都是視覺不敏感的區(qū)域,允許較強的噪聲存在。
針對水印安全性能方面的討論,有一些學(xué)者提出了保證水印的安全性的一個基本準(zhǔn)則Kerckhoffs準(zhǔn)則。準(zhǔn)則要求算法的設(shè)計者必須假定對手已經(jīng)知道除了密鑰選取外的算法每個細(xì)節(jié),而整個系統(tǒng)的安全性源自密鑰存儲的安全。根據(jù)這個準(zhǔn)則可以設(shè)計出安全的水印計劃,即水印的算法應(yīng)該是完全公開的,當(dāng)不知道水印密鑰時,攻擊者是無法提取和篡改水印。
一般來說,人們通常認(rèn)為擴頻水印是相對比較安全的方案,因此前面提到的文獻(xiàn)都是采用擴頻方法來保證安全性能。但是擴頻方法本身具有一些固有的缺陷1)擴頻序列需要選取很長才能保證算法的魯棒性,例如選取2500比特。擴頻序列長度對水印的可見性能影響很大,這造成了一個問題就是魯棒性能越好,水印圖像的峰值信噪比(peak signal-to-noise ratio,PSNR)越低。
2)因為擴頻水印的魯棒性要求使得擴頻碼較長,這就使擴頻水印一般只能用在水印檢測方面,而無法用在水印提取上。水印檢測和水印提取是水印驗證的兩個方面,前者要求圖像的接收端用同一個密鑰生成擴頻序列,借助于相關(guān)檢測驗證水印是否也含有這個擴頻序列,這種方法限制了水印的應(yīng)用,因為版權(quán)所有者無法把自己的有一定意義的信息嵌入到媒體中。
綜上所述,在當(dāng)前的水印算法中,擴頻水印可以保障水印的安全性,而DCT算法具有對壓縮、噪聲污染等處理的強魯棒性,而安全性較差。設(shè)計同時擁有變換域水印算法的魯棒性和擴頻算法的安全性的水印是本發(fā)明的重點。
發(fā)明內(nèi)容
本發(fā)明的目的在于針對現(xiàn)有技術(shù)的不足,提出一種數(shù)字水印的加密正交變換方法,在不降低水印算法魯棒性的前提下,可以有效提高水印系統(tǒng)的安全性,使整個水印系統(tǒng)滿足衡量安全性能的Kerckhoffs準(zhǔn)則。
為實現(xiàn)這樣的目的,本發(fā)明首先用混沌動力系統(tǒng)生成的偽隨機序列填充兩個和圖像相同大小的偽隨機矩陣,然后對偽隨機矩陣進(jìn)行正交化處理,可以形成兩個正交矩陣。針對圖像的正交變換就是正交矩陣乘以圖像矩陣。從水印的角度來說,不是每個正交矩陣都適用于圖像的正交變換,因為水印的嵌入需要考慮到魯棒性問題。對正交矩陣的行列重新排列,產(chǎn)生適合圖像變換的正交矩陣。水印嵌入時對圖像進(jìn)行分塊正交變換,修改嵌入點系數(shù),再完成逆變換,而水印提取時對圖像的每個分塊進(jìn)行同樣的正交變換,從嵌入點的系數(shù)中提取出水印信息。本發(fā)明給出了一個指導(dǎo)性的方案,采用一個標(biāo)準(zhǔn)對正交矩陣重新排序,可以有效控制變換后的圖像能量分布,把水印嵌入到高能量系數(shù)中,會大大提高水印的魯棒性。
本發(fā)明的具體操作步驟如下(1)偽隨機矩陣的生成用密鑰控制的混沌動力系統(tǒng)生成偽隨機序列,采用按行或者按列的填充方式,生成兩個和原始圖像相同大小的矩陣作為偽隨機矩陣。
(2)變換核的生成采用矩陣?yán)碚摰氖┟芴卣换椒ò褌坞S機矩陣變換成普通的正交矩陣,對矩陣的每行元素分別求和,根據(jù)和的大小順序重新排列各行,形成水印嵌入的正交變換核矩陣。
(3)水印嵌入采用分塊正交方案,對圖像進(jìn)行分塊正交變換后,根據(jù)水印信息比特的值,直接把塊內(nèi)左上角點的系數(shù)進(jìn)行奇偶區(qū)間量化,然后對每個小塊進(jìn)行正交逆變換,將各個小塊重新組合起來,得到嵌入水印的圖像。
(4)水印提取根據(jù)密鑰控制的混沌動力系統(tǒng)生成偽隨機序列,采用按行或者按列的填充方式,生成兩個偽隨機矩陣。用施密特正交化方法把偽隨機矩陣變換成正交矩陣,再對矩陣的每行元素分別求和,根據(jù)和的大小順序重新排列各行,對圖像的每個分塊進(jìn)行正交變換,判斷每塊中左上角點的系數(shù)所在的區(qū)間的奇偶性,提取出水印信息。
本發(fā)明在算法的魯棒性方面可以得到和DCT方法相似的結(jié)果,也就是說加密正交變換在沒有犧牲水印算法的魯棒性前提下,獲取了安全性能的提高。本發(fā)明能擁有變換域水印的優(yōu)點水印信息擴展到整個圖像,使得水印對壓縮、濾波、噪化等處理下具有魯棒性,同時保證載體數(shù)字圖像具有很好的主觀質(zhì)量。本發(fā)明完全按照密碼理論來設(shè)計水印計劃,可以提高水印系統(tǒng)的實用性。對分析算法漏洞的攻擊者來說,他們無法得到密鑰,無法求出正交變換核,也無法通過算法的漏洞破壞和恢復(fù)水印。本發(fā)明利用水印的正交變換嵌入和提取水印信息,設(shè)計出一套安全的變換域數(shù)字水印方案,克服了當(dāng)前水印算法在固定的正交變換核下分解的安全隱患。它使得水印系統(tǒng)的實用性得以提高,同時對現(xiàn)有的主要水印算法具有很好的兼容性,符合水印系統(tǒng)標(biāo)準(zhǔn)化發(fā)展趨勢。
圖1為本發(fā)明數(shù)字水印的加密正交變換方法流程圖。
圖2為本發(fā)明實施例中原始“Lena”標(biāo)準(zhǔn)圖經(jīng)過EOT和MEOT變換的能量分布圖(初始密鑰為0.2和0.3)。
圖3為采用不同的混沌初值提取的水印圖像。(a)用0.2和0.3作為初值(正確的初值)提取的水印(正確的水印)。(b)用0.1999和0.3001作為初值提取的水印。(c)用0.2001和0.2999作為初值提取的水印。
圖4為對應(yīng)不同JPEG壓縮情況下的提取水印(δ=8)。(a)22.6%,(b)14.6%,(c)11.2%,(d)9.3%,(e)8.0%,(f)6.9%。
具體實施例方式
以下結(jié)合附圖和實施例進(jìn)一步說明本發(fā)明的技術(shù)方案。
本發(fā)明實施例的載體圖像是512×512像素的256級灰度的“Lena”圖,而水印信息是64×64像素的二值圖像“優(yōu)”。按圖1所示流程圖,首先把原始圖像分成不相交圖像塊,對每個圖像塊進(jìn)行正交變換,把水印信息嵌入到變換后的圖像中,形成水印圖像。在檢測端,把圖像也進(jìn)行分塊正交變換,提取水印信息。具體的實施步驟為(1)偽隨機矩陣的生成初值敏感性和內(nèi)在隨機性是混沌的兩個重要特征,因此混沌序列被廣泛用于保密通信中,給系統(tǒng)提供較高的安全保障。一維離散迭代映射的表達(dá)式z(m+1)=f(z(m),μ)在這里z(1)是迭代映射的初值,當(dāng)控制參數(shù)μ在某個范圍內(nèi)時,某些映射將會出現(xiàn)混沌現(xiàn)象。迭代映射產(chǎn)生的序列是由初值完全控制,因此可以把初值作為密鑰控制整個序列的行為。例子中采用Logistic映射產(chǎn)生混沌序列,填充成兩個512×512大小的矩陣。Logistic映射模型是z(n+1)=μz(n)(1-z(n))控制μ得選取,可以得到混沌映射,例子中μ=4,而混沌的初值取為0.2和0.3。用前面產(chǎn)生混沌序列逐行填充兩個n×n矩陣Rl,Rr。
(2)正交變換核的生成如果混沌序列具有很好的統(tǒng)計特性,這里要求序列和它的移位序列盡量統(tǒng)計獨立,即當(dāng)M→∞時,z(m)和z(m+M)是不相關(guān)的,這時可以得到當(dāng)n比較大時,RlRlT和RrRrT的非對角線上的元素都是由下式得到的(RlRlT)ij=Σk=1nz1(i×n+k)z1(j×n+k)]]>
(RrRrT)ij=Σk=1nz2(i×n+k)z2(j×n+k)]]>(M)ij是指矩陣M在(i,j)的元素。顯然,當(dāng)i≠j,E(z(m))=0并且n比較大時,(RlRlT)ij和(RrRrT)ij接近零,它們可以近似看成對角矩陣,因此只需要把Rl和Rr能量歸一化后就可以近似為正交矩陣。當(dāng)n比較小時,需要對Rl和Rr進(jìn)行正交化,這時用到矩陣?yán)碚摰氖┟芴卣换^程。令正交化后產(chǎn)生的矩陣為Tl,Tr。對應(yīng)于數(shù)字水印,把圖像分成不相交的n×n塊,對每塊重復(fù)加密正交變換(encrypted orthogonal transformation,EOT)作為水印預(yù)處理的一步。實際應(yīng)用中可以考慮把分塊的大小設(shè)為與JPEG標(biāo)準(zhǔn)相同。令M是載體圖像的塊矩陣,而MT是經(jīng)過EOT變換后的矩陣,則有MT=TlMTr根據(jù)Frobenius范數(shù)的定義,矩陣A的Frobenius范數(shù)是|A|F=ΣiΣj|aij|2.]]>對于Frobenius范數(shù),正交變換不改變矩陣的范數(shù),因此|MT|F=|M|F通過范數(shù)的定義,就可以知道經(jīng)過EOT變換后,圖像塊的能量沒有改變。水印信息W的添加就是MW=MT+W(1)而對MW進(jìn)行逆變換,可以得到M‾=TlTMWTrT=TlTMTTrT+TlTWTrT=M+TlTWTrT]]>EOT方法只是整個水印系統(tǒng)的一步預(yù)處理方案,它不是一套完整的算法,需要結(jié)合其它水印嵌入提取操作,但是通過了這步預(yù)處理過程后,水印的安全性得到了提高。因為EOT水印算法也是一種變換域算法,所以和很多的DCT,DFT等算法有相似的特點,如水印能量被擴展到整個變換塊,具有很好的抗壓縮性能等等。
通過進(jìn)一步分析EOT,發(fā)現(xiàn)變換后載體MT的能量隨機分散到整個塊內(nèi),而不像DCT變換那樣,能量都集中在低頻部分,也就是在塊的左上角,這主要因為EOT的變換核Tl,Tr是由混沌序列填充后再經(jīng)過正交化變換形成,核矩陣的元素具有很大隨機性。為了使矩陣的能量也像DCT變換那樣集中在矩陣的左上角,本發(fā)明提出了改進(jìn)的加密正交變換(modified encrypted orthogonaltransformation,MEOT)。
假設(shè)EOT的變換核是Tl,Tr,進(jìn)一步假設(shè)(MT)ij是MT在(i,j)位置的元素,(Tl)i,(TrT)i分別表示Ti,TrT的第i行。由公式(1)(MT)ij=(Tl)iM((TrT)j)T.]]>考慮實際的灰度圖像,每個像素的灰度都是正整數(shù),這就是說,M上的元素都是正的。如果分塊比較小時,則每塊內(nèi)的元素比較接近,只需把Tl和Tr重新排列,使他們滿足下面的條件Sum((Tl)i)<Sum((Tl)j),i>jSum((TrT)i)<Sum((TrT)j),i>j]]>這里Sum(Ti)=ΣjTij.]]>這種矩陣元素重排的方法,可以使MT的能量集中到一個角上。對于正交矩陣的重新排列,可以有很多準(zhǔn)則,例如前面提到得最大和準(zhǔn)則,還有就是最小方差準(zhǔn)則等等。具體實施方案可以根據(jù)所要設(shè)計的水印要求,如壓縮、噪聲的魯棒性指標(biāo)來設(shè)計,因此這是一個寬松設(shè)計準(zhǔn)則。在下面的例子里,本發(fā)明采用的是前面提到的最大和準(zhǔn)則。新產(chǎn)生的矩陣為 再由正交矩陣的基本性質(zhì),即行列互換并不改變矩陣的正交性得知, 仍然是正交矩陣。圖2為原始“Lena”標(biāo)準(zhǔn)圖經(jīng)過EOT和MEOT變換的能量分布圖,初始密鑰均為0.2和0.3,其中(a)為EOT變換的能量分布圖,(b)為MEOT變換的能量分布圖。從中可以清楚的看出,原始的“Lena”經(jīng)過EOT和MEOT變換后的能量分布,MEOT變換的能量更加集中。
(3)水印嵌入定義算子Mod(MT(m,n),δ,η)為修改MT(m,n)的灰度使它滿足下面的條件η=MT(m,n)(modδ)。具體的算法是修改每塊圖像左上角的點,使它滿足 在實際的仿真中沒有直接對載體圖像進(jìn)行處理,而是把載體圖像分成8×8小塊,把產(chǎn)生的兩個大矩陣也進(jìn)行同樣分塊,這時候再采用EOT和MEOT。這時只需在每個塊中嵌入一個比特的水印信息即可。
(4)水印提取在檢測端,先要把圖像分成不相交的8×8小塊,對每個塊實施MEOT,此后再根據(jù)變換后塊內(nèi)左上角點的值提取出水印信息,利用一個判別門限R提取水印,顯然它應(yīng)該滿足δ/2=R(modδ)。在實際應(yīng)用中,如果滿足Kerckhoffs準(zhǔn)則,則用錯誤的混沌初值提取的水印應(yīng)該完全不能識別。圖3為采用不同的混沌初值提取的水印圖像。其中,(a)為用0.2和0.3作為初值(正確的初值)提取的水印(正確的水印),(b)為用0.1999和0.3001作為初值提取的水印,(c)為用0.2001和0.2999作為初值提取的水印。圖3(b)和(c)給出了用錯誤的初值提出的水印信息,從中可以清楚地發(fā)現(xiàn),哪怕是混沌初值有一點點的變化,提取的水印也是完全不可識別的。
圖4為對應(yīng)不同JPEG壓縮情況下的提取水印(δ=8)。其中,(a)22.6%,(b)14.6%,(c)11.2%,(d)9.3%,(e)8.0%,(f)6.9%。(a)-(f)分別對應(yīng)不同壓縮比的JPEG處理后提取的水印信息,顯示了MEOT對一種最常用的圖像處理技術(shù)JPEG的魯棒性。對于水印提取,主要考慮這種方法能達(dá)到的失真率(distortionratios,DR)。在與DCT算法相近的PSNR條件下,EOT和MEOT的失真效果比較見下表。
為了方便比較,仿真中的DCT算法采用相同得嵌入和提取方式,即在每個分塊中修改DCT的直流分量,這樣可以使DCT算法達(dá)到最大的抗壓縮性能。表1對比了不同的δ,MEOT、EOT和DCT方法經(jīng)過JPEG壓縮提取的水印失真。從中可以發(fā)現(xiàn)MEOT可以和DCT水印算法有相似的魯棒性,而MEOT的魯棒性比EOT有了很大的提高。
綜上所述,本發(fā)明提出了一種提高水印系統(tǒng)安全性的預(yù)處理方法,通過采用兩個加密正交矩陣,使水印系統(tǒng)有了良好的安全性和抗壓縮性能,水印算法的主體滿足密碼學(xué)中的Kerckhoffs準(zhǔn)則。仿真結(jié)果顯示,這種方案可以與DCT水印算法所能達(dá)到的最大抗壓縮性能相近,但是安全性卻更高。
權(quán)利要求
1.一種數(shù)字水印的加密正交變換方法,其特征在于包括如下具體步驟1)偽隨機矩陣的生成用密鑰控制的混沌動力系統(tǒng)生成偽隨機序列,采用按行或者按列的填充方式,生成兩個和原始圖像相同大小的矩陣作為偽隨機矩陣;2)變換核的生成采用矩陣?yán)碚摰氖┟芴卣换椒ò褌坞S機矩陣變換成普通的正交矩陣,對矩陣的每行元素分別求和,根據(jù)和的大小順序重新排列各行,形成適合水印嵌入的正交變換核矩陣;3)水印嵌入采用分塊正交方案,對圖像進(jìn)行分塊正交變換后,根據(jù)水印信息比特的值,直接把塊內(nèi)左上角點的系數(shù)進(jìn)行奇偶區(qū)間量化,然后對每個小塊進(jìn)行正交逆變換,將各個小塊重新組合起來,得到嵌入水印的圖像;4)水印提取根據(jù)密鑰控制的混沌動力系統(tǒng)生成偽隨機序列,采用按行或者按列的填充方式,生成兩個偽隨機矩陣,用施密特正交化方法把偽隨機矩陣變換成正交矩陣,再對矩陣的每行元素分別求和,根據(jù)和的大小順序重新排列各行,對圖像的每個分塊進(jìn)行正交變換,判斷每塊中左上角點的系數(shù)所在的區(qū)間的奇偶性,提取出水印信息。
全文摘要
一種數(shù)字水印的加密正交變換方法,用混沌動力系統(tǒng)生成的偽隨機序列填充兩個和圖像相同大小的偽隨機矩陣,然后對偽隨機矩陣進(jìn)行正交化處理,可以形成兩個正交矩陣,針對圖像的正交變換就是正交矩陣乘以圖像矩陣,考慮到水印的魯棒性問題,對正交矩陣的行列重新排列,產(chǎn)生適合圖像變換的正交矩陣,水印嵌入時對圖像進(jìn)行分塊正交變換,修改嵌入點系數(shù),再完成逆變換,而水印提取時對圖像的每個分塊進(jìn)行同樣的正交變換,從嵌入點的系數(shù)中提取出水印信息。本發(fā)明用圖像的變換域作為嵌入和提取的載體,在實現(xiàn)離散余弦變換水印算法達(dá)到的最大抗壓縮性能的同時,提供更高的安全保障。
文檔編號G06T1/00GK1547157SQ20031010935
公開日2004年11月17日 申請日期2003年12月12日 優(yōu)先權(quán)日2003年12月12日
發(fā)明者蔣鈴鴿, 馮國瑞, 何晨, 王東建 申請人:上海交通大學(xué)