摘 要:本文針對水印的嵌入方法提出一種綜合的技術(shù),即在變換了的水印載圖上再嵌入水印這樣經(jīng)反變換后得到的嵌有水印的圖像不能被人眼感知明顯的變化,而對水印圖像進行基于混沌序列的加密則進一步增加了水印的安全性并同時提高了水印的魯棒性。
關(guān)鍵詞:Arnold;混沌;DCT;圖像信息隱蔽
中圖分類號:TP309.7
圖像信息隱藏技術(shù)顧名思義是指將某些特定信息通過特定的算法隱藏到數(shù)字圖片中,并且隱藏的信息不會被人眼輕易地發(fā)現(xiàn)的技術(shù),從而通過這種方法來達到數(shù)字圖像的正常通信要求。隨著數(shù)字化時代的高速發(fā)展,該技術(shù)已經(jīng)被越來越多的人們關(guān)注,同時它也成為了信息安全領(lǐng)域里面的新學(xué)科。然而在眾多圖像隱藏算法中,基于DCT的水印嵌入算法成為了其中較常用的算法之一。
普通DCT水印嵌入算法,一般都是將圖像分塊再分別進行DCT進行變換,再在此基礎(chǔ)上進行水印的嵌入,由此得到嵌入水印后的圖像,這樣得到的水印圖像易出現(xiàn)人眼可觀察到的塊狀噪聲現(xiàn)象,為了改善這一現(xiàn)象而提出一種改進后的水印嵌入方法:即在對原始圖像進行分塊前先對原始載體圖像進行Arnold變換然后再對變換后的圖像進行分塊和DCT變換,再在此基礎(chǔ)上嵌入水印,將嵌入水印后的圖像再經(jīng)過Arnold反變換后得到的嵌有水印的圖像就不會出現(xiàn)人眼能夠察覺的塊狀噪聲,以此有效地解決塊狀噪聲現(xiàn)象。
1 Arnold變換
1.1 Arnold變換原理
1.1.1 Arnold變換公式
對于任意一副數(shù)字圖像,假設(shè)該圖像的像素是N×N,那么我們可將該圖像離散化后的圖像按照Arnold變換將公式定義為: ,其中(x1,y1)指數(shù)字圖像在置亂前的像素位置,(x2,y2)指將數(shù)字圖像置亂后所對應(yīng)的像素位置,對圖像完成一次置亂是指將圖像中所有像素按照上式完成一次計算。但是由于Arnold置亂變換本身具有周期性,即當改變換達到一個特定次數(shù)后該變換后的圖像會恢復(fù)到原始圖像狀態(tài),因此如果需要將圖像進行Arnold置亂變換,我們先要改變原始圖像每個像素點的位置,將該數(shù)字圖像作為某個矩陣,再進行置亂。
1.1.2 Arnold變換周期
在Arnold變換中,不同的矩陣階數(shù)N對應(yīng)不同的周期,如下表1所示。如:本文選擇的原始水印圖像大小為32×32,其對應(yīng)的矩陣階數(shù)為32,根據(jù)下表可以得出24為此圖的變換周期。
表1 不同階數(shù)N下二維Arnold變換的周期
1.2 Arnold變換
1.2.1 Arnold變換在嵌有水印圖像中的應(yīng)用
根據(jù)上文提到的DCT水印嵌入算法,可以看出這種水印算法也有比較明顯的一個缺點就是該水印算法對邊緣可感知度較差,會導(dǎo)致部分像素塊的缺失。這種水印嵌入算法比較適合于嵌入強度較低的場合,但是隨著嵌入強度的增加,在嵌入水印后的圖片中較容易出現(xiàn)人眼可以感知的塊狀噪聲,并且這種現(xiàn)象若出現(xiàn)在相鄰和可察覺性相差值較大的塊邊緣時會導(dǎo)致圖像失真現(xiàn)象較為明顯。針對上述現(xiàn)象本文將提出一種新的水印嵌入方法,即通過先在Arnold變換后的數(shù)字圖像中嵌入水印,再進行Arnold反變換來得到水印圖像,這樣人眼就感知不到上文所說的塊狀噪聲,從而有效地解決了塊狀噪聲現(xiàn)象,提高了該算法的不可見性。改進后的水印嵌入方法的流程圖如圖1所示。
圖1
(1)仿真實驗效果如圖2所示。
原始載體圖像 原始灰度直方圖
90次Arnold變換 90次變換后直方圖
一般方法的水印圖像 原始水印圖像直方圖
改進后的水印圖像 改進后水印圖像直方圖
圖2
(2)結(jié)論
由以上各組圖像不難得出,其一對原始載體圖像進行的Arnold變換并沒有改變原來數(shù)字圖像的像素,只是對圖像所在像素的空間位置進行了置亂;其二根據(jù)直方圖來看,兩種水印算法嵌入水印圖像的直方圖基本沒有什么變化,但是從視覺效果來分析人眼可感知的塊狀噪聲消失了。因此我們不難得出結(jié)論:本文提出的改進后的水印嵌入算法在水印的可見性和安全性方面都有了保證,增強了該算法的應(yīng)用性。
1.2.2 Arnold變換對水印圖像置亂的效果
在嵌入到圖像之前,先對其進行Arnold置亂,為了增強該算法的安全性,我們將對算法進行加密的密鑰設(shè)置為該變換的變換次數(shù),同時我們設(shè)置的解密密鑰和加密密鑰的和正好等于變換周期,這樣就能使圖像經(jīng)過一個置亂周期變換后正好和原始圖像一樣。有實驗結(jié)果得知:當原始圖像被進行23次置亂變換后得到的帶有水印的圖像已經(jīng)看不出任何意義了。
2 混沌映射
混沌現(xiàn)象是指在水印圖像產(chǎn)生過程中由于一些非線性確定性因素而出現(xiàn)的一些貌似不確定的隨機現(xiàn)象,如置換中對設(shè)置的初始值具有不同的敏感性、系統(tǒng)運行過程中的不可預(yù)測性和較好的統(tǒng)計特性等等。正是因為混沌序列具有以上特性,所以該混沌序列更適合用作信息加密時的密碼。
2.1 混沌序列的產(chǎn)生
混沌序列的產(chǎn)生是通過混沌系統(tǒng)得到的。目前關(guān)于混沌系統(tǒng)的理論已經(jīng)有很多學(xué)者在此方面進行了大量研究,而Logistic映射是其中被廣大學(xué)者著手研究的一類簡單的混沌動力理論系統(tǒng),該Logistic模型方程可用非線性差分方程描述為:xn+1=λxn(1-xn),n=1,2,3…,其中xn,λ稱為控制參數(shù),滿足0≤xn≤1,0≤λ≤4,x0為初始條件。經(jīng)過多次實驗可得出:當3.569945672≤λ≤4時,Logistic序列處于混沌狀態(tài)。換言之,當選擇不同的初始條件時,對應(yīng)Logistic映射可得到不同的序列{xn’,n=1,2,3…}。
根據(jù)上述證明可得出如下結(jié)論:對于x0和y0,如果給定的初值不同,那么生成的相應(yīng)的兩個混沌序列x0,x1,x2,…xn和y0,y1,xy2,…yn不具有互相關(guān)性,即兩個序列的互相關(guān)為0,由此說明該混沌序列受初始值的影響較大,即對初始值的敏感性很高。綜上所述可知該混沌序列具備的特征有對初始值的敏感性、不收斂性、非周期性和偽隨機性。
2.2 混沌序列對水印圖像的加密
2.2.1 加密原理
根據(jù)上面得出的Logistic混沌序列的四大特性,我們?yōu)樵撔蛄性O(shè)置的加密和解密的密鑰原理為:第一,先得到水印圖像的二維數(shù)組;第二,將二維數(shù)組轉(zhuǎn)換為一位數(shù)組,利用由初始值及控制參數(shù)產(chǎn)生的混沌序列對一維數(shù)組進行重新排列;第三,得到經(jīng)過混沌序列置亂的一維數(shù)組;最后轉(zhuǎn)換為二維圖像數(shù)組產(chǎn)生加密的水印圖像。
以下用數(shù)據(jù)來得以證明。如:
選取初值x0=3.767,λ=0.618時產(chǎn)生的混沌序列如下:
12345678910111213141516
0.61800.88950.37040.87870.40170.90550.32240.82310.54850.93310.23530.67800.82260.54990.93260.2370
經(jīng)過升序排序后序列中各元素位置如下
12345678910111213141516
0.23530.23700.32240.37040.40170.54850.54990.61800.67800.82260.82310.87870.88950.90550.93260.9331
由上表可以看出,經(jīng)過升序排序后位于第1的0.618變換到了第8,在此算法中我們就是按照這種排序前后位置關(guān)系的變化來作為加密的密鑰,進而達到加密的目的。
2.2.2 混沌序列對水印圖像的加密效果
根據(jù)上述Logistic混沌序列映射法加密算法,我們選取不同的初始值和控制參數(shù)得到的置亂圖像如圖3所示:
水印原圖 =3.767 =0.618的置亂圖像
=3.767 =0.618的置亂圖像 =3.767 =0.618的置亂圖像
圖3
因此不難得出以上兩種方法都能將水印信息均勻地分布在載體圖像中,以此增強了數(shù)字水印的魯棒性。
2.3 Arnold變換和Logistic混沌序列對水印圖像置亂加密的性能比較
由于當前數(shù)字水印嵌入技術(shù)普遍性對信息隱蔽的分析也較為重要,我們可以假設(shè):如果我們采用的是Arnold置換加密,由于該置換具有周期性,而我們設(shè)置的加密密鑰和解密密鑰是一個固定值,那么攻擊者就可以利用窮舉法來破解我們的密鑰。但是如果我們利用Logistic混沌序列對算法進行加密,由于該混沌序列對初始值具有很高的敏感性,那么攻擊者就很難將我們的混沌序列進行破解,從而該Logistic混沌序列具有更高的安全性。
3 結(jié)束語
由上述仿真結(jié)果和實驗結(jié)果不難得出:利用混沌序列加密的水印算法嵌入水印后的圖像不僅不會產(chǎn)生人眼能夠察覺到的塊狀噪聲,而且還提高了水印的安全性,并具有一定的抗修改攻擊。
參考文獻:
[1]李春華,付麗.基于DCT變換的數(shù)字圖像盲水印算法[J].河北科技大學(xué)學(xué)報,2012(33):334-337.
[2]張偉,陳新龍,詹斌.基于DCT的圖像水印算法研究與實現(xiàn)[J].計算機技術(shù)與發(fā)展,2009(09):157-159.
[3]楊林娟.基于版權(quán)保護的數(shù)字圖像水印技術(shù)的研究[D].華南理工大學(xué)碩士論文,2012.
作者簡介:楊林娟(1982-),女,廣東河源人,碩士,講師,主要研究方向:計算機應(yīng)用技術(shù)。
作者單位:河源市高級技工學(xué)校,廣東河源 517000