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