張亞紅,李志梅,覃 科
(桂林航天工業(yè)學院 信息工程系,廣西 桂林 541004)
隨著信息媒體數(shù)字化和網(wǎng)絡技術的飛速發(fā)展,越來越多的信息通過網(wǎng)絡進行傳輸。然而如何保證秘密信息在網(wǎng)絡上的安全傳輸,不被非法篡改、竊取和傳播是迫切需要解決的問題。信息隱藏技術為信息的安全傳輸提供了一個有效的解決方案。它通常將秘密信息隱藏在載體的冗余信息中,以實現(xiàn)其不可感知和安全性,保護秘密信息不被未授權的第三方破解。
目前根據(jù)秘密數(shù)據(jù)的嵌入位置,信息隱藏可以分為基于空間域和基于變換域兩種方法。前者算法實現(xiàn)簡單,并具有很好的不易覺察性,但它的魯棒性較差、安全性較低。相比而言,變換域算法具有抗攻擊能力強的特點。主要包括離散傅里葉變換(DFT)、離散余弦變換(DCT)、離散小波變換(DWT)和Contourlet變換等。小波變換由于其時頻特性及多尺度、多分辨率特性,應用較多[1-2]。周鵬穎等[1]提出一種基于小波-奇異值分解的數(shù)字水印新算法。該算法對原始圖像進行多級小波分解后的部分子帶作奇異值分解,并將水印置亂后再進行分塊離散余弦變換,然后將它嵌入到中間奇異值及其周圍的部分矩陣塊中,魯棒性較強。但該算法在提取信息的過程中需要原載體圖像,不能盲提取,降低了通信的效率,并且實現(xiàn)比較復雜[3]。胡敏等[4]提出基于圖像DCT域的信息隱藏盲提取算法。該算法根據(jù)人眼對圖像DCT域的感知特性,對圖像的DCT域系數(shù)進行特定的量化處理,將秘密數(shù)據(jù)隱藏在載體圖像的DCT系數(shù)量化結果的奇偶特性上。算法簡單,實現(xiàn)了盲提取,但是魯棒性差。上述方法為了隱藏信息采用各種方法或多或少地都對原載體圖像數(shù)據(jù)進行了修改,這樣一來,信息的不可見性和保密性受到限制。馬建湖等[5]提出基于小波變換的零水印算法。零水?。?]就是在嵌入水印的同時不改變載體圖像,這種算法具有很強的不可見性和保密性,但它是利用圖像的重要特征來構造水印信息,而不是修改圖像這些特征,對于剪切、噪聲、JPEG壓縮等攻擊具有較好的魯棒性,但是對于旋轉(zhuǎn)攻擊魯棒性差。
借鑒零水印的思想,結合小波和奇異值分解的特性,本文提出一種基于混沌的提升小波與奇異值分解的圖像盲信息隱藏算法。實驗表明,該算法保密性好,安全性高,對JPEG壓縮、加噪、中值濾波、剪切、小角度旋轉(zhuǎn)等有良好的魯棒性。
與傳統(tǒng)加密方法相比,混沌序列具有良好的偽隨機性以及對初值和參數(shù)的敏感性。用混沌序列對圖像進行加密具有更高的安全性。其主要方法是利用混沌序列的大小關系對圖像數(shù)據(jù)進行重排序,或者先把數(shù)字圖像轉(zhuǎn)換為二進制數(shù)據(jù),然后利用混沌序列的二值化結果對圖像二進制數(shù)據(jù)進行異或運算[7]。但是混沌序列是在無限精度的條件下獲得,受到計算機有限字長的限制,實際產(chǎn)生的混沌序列常趨于周期性或收斂于不動點,這樣數(shù)字化后容易產(chǎn)生短周期現(xiàn)象。為了克服有限精度問題,本文分別采用Logistic映射和王麗娜等[8]提出的混合光學雙穩(wěn)混沌模型生成混沌序列,將這兩種混沌序列進行異或生成復合混沌序列,以避免數(shù)字化混沌系統(tǒng)動態(tài)特征退化,進而增加混沌序列的周期性和復雜度。然后用該復合混沌序列與秘密圖像異或進行加密,從而增強秘密圖像隱藏的安全性。
2.1.1 Logistic混沌映射
Logistic映射是一種被廣泛使用的混沌映射,其映射迭代公式如下:
其中:Xn∈(0,1),μ∈(0,4],當μ>3.57時,從某個初值X0開始,迭代生成(0,1)區(qū)間均勻分布且無周期的混沌序列。
2.1.2 混合光學雙穩(wěn)混沌模型
下面的方程為混合光學雙穩(wěn)模型的迭代方程:
隨著參數(shù)A,B的變化,系統(tǒng)將從固定點失穩(wěn),經(jīng)倍周期分岔進入混沌。當參數(shù)A=4,B=2.5時,此時方程處于混沌狀態(tài)。
提升小波變換,也稱為第二代小波變換,它繼承了第一代小波的多分辨率的特征,小波變換后的系數(shù)是整數(shù),計算速度快,計算時無需額外的存儲開銷。Daubechies已經(jīng)證明,任何離散小波或具有有限長濾波器的兩階濾波變換都可以被分解成一系列簡單的提升步驟,因此能夠用Mallat算法實現(xiàn)的小波,都可以用提升算法來實現(xiàn)。提升小波變換的優(yōu)點:圖像的恢復質(zhì)量對輸入序列的長度沒有任何限制,具有對任意尺寸圖像進行變換的能力;小波的構造完全在空域內(nèi)進行,無需傅里葉分析理論;運算速度快,節(jié)省存儲空間;能夠?qū)崿F(xiàn)整數(shù)到整數(shù)的變換[9]。
從線性代數(shù)的角度來看,一幅數(shù)字圖像可以看成是由許多非負標量項組成的矩陣。設A∈Rn×n來表示一個圖像矩陣,對矩陣A進行奇異值分解:
其中:U和V是正交矩陣,Σ為對角矩陣,其對角線上的元素σ1,σ2,…,σn稱為矩陣A 的奇異值,且滿足:σ1≥σ2≥ … ≥σr≥σr+1=… =σn=0,r是A的秩,其為非負奇異值的個數(shù)。
在數(shù)字圖像處理中,奇異值分解有兩個重要特性:①圖像的奇異值穩(wěn)定性非常好,當圖像遭到小的擾動時,圖像的奇異值不會有太大的變化。周波等[10]從理論上證明,圖像的奇異值對幾何失真(轉(zhuǎn)置、鏡像、旋轉(zhuǎn)、放大、平移)具有穩(wěn)定性。②圖像奇異值所表現(xiàn)的是圖像的內(nèi)蘊特性,即圖像矩陣元素之間的關系而非視覺特性[3]。由于奇異值有上述特性,將秘密信息嵌入奇異值中,可以提高秘密信息受攻擊的魯棒性。本文算法利用奇異值的特性,對圖像先進行提升小波變換,再對小波低頻系數(shù)進行分塊奇異值分解,利用塊中最大奇異值的最高位的奇偶性生成圖像特征信息,以實現(xiàn)秘密信息的隱藏。在此過程中不對載體圖像做任何的修改,因此秘密圖像具有良好的不可見性。
為了提高秘密信息的安全性,以及抗壓縮、剪切、加噪等攻擊的魯棒性,本文先對秘密信息進行混沌加密處理。為了既能嵌入較大容量的秘密信息又能有好的魯棒性,將載體圖像進行1級提升小波變換??紤]到人眼對藍色分量最不敏感,因此對藍色低頻子帶系數(shù)進行分塊奇異值分解。其次考慮到對最大奇異值修改,將嚴重影響載體圖像的質(zhì)量,所以不修改最大奇異值。而是根據(jù)最大奇異值最高位的奇偶性的特征來隱藏秘密信息,并不對載體圖像進行修改,因此對秘密信息來說具有良好的隱蔽性。具體步驟如下:
設載體圖像為M×M的RGB圖像,秘密圖像為N×N的256級灰度圖像,隱藏過程如下:
(1)利用Logistic混沌映射和混合光學雙穩(wěn)模型生成復合混沌序列H(i)。
(2)將秘密圖像由二維變成一維序列G(i),用復合混沌序列H(i)對其進行混沌加密。
(3)對載體彩色圖像進行1級提升小波變換,提取藍色分量低頻子帶小波系數(shù)。
(4)對藍色低頻子帶小波系數(shù)進行2×2分塊,然后對每個分塊進行奇異值分解。當每塊中最大奇異值最高位是奇數(shù)時,K(i)=1(i=1,...,n),否則K(i)=0。
(5)通過以下的公式隱藏秘密圖像,生成秘鑰S(i):
其中,H(i),G(i)都是二進制整數(shù)[5],⊕ 為異或運算。Logistic混沌映射參數(shù)μ,X0,混合光學雙穩(wěn)模型參數(shù)A,B,Z0和S(i)一起構成最終的秘鑰組。
利用秘鑰組中的S(i),按照下面的公式提取秘密圖像G(i):
仿真實驗在MATLAB7.10的平臺上進行,使用512×512的彩色圖像Lena為載體圖像(見圖1),秘密信息為128×128的灰度圖cameraman,提升小波采用haar小波基。原始秘密圖像和加密后的秘密圖像如圖2所示?;煦缬成渲械膮?shù):μ=3.93,X0=0.45,Z0=0.4,A=4,B=2.5。未受攻擊時從載體圖像中提取的秘密圖像如圖2所示。
圖1 原始載體圖像
圖2 未受攻擊提取的秘密圖像
采用歸一化相關系數(shù)NC來衡量提取的秘密圖像與原始秘密圖像之間的相似程度。本算法對高斯噪聲、椒鹽噪聲、濾波、剪切,小角度旋轉(zhuǎn)、壓縮等常見的圖像攻擊具有較好的魯棒性(見表1)。
表1 各種常見攻擊后提取的秘密圖像
與張仁昌[11]、龔劬[12]等提出的算法相比較,本文算法在抗旋轉(zhuǎn)、剪切、壓縮方面的魯棒性強,噪聲攻擊方面比龔劬等[12]提出的方法較強(見表2)。在信息的隱藏量方面,本文算法較張仁昌[11]、龔劬[12]等大,不可見性和安全性更好。
表2 各種常規(guī)攻擊的實驗結果
為了驗證該算法的有效性,本文又分別以pepper,airplane,boat三幅512×512的彩色圖像為原始載體圖像(見圖3)。按照本文算法隱藏秘密圖像,然后經(jīng)過多種攻擊后提取秘密圖像。從受攻擊圖像中提取的秘密圖像的歸一化相關系數(shù)NC(見表3)。
圖3 不同載體圖像
表3 不同載體圖像各種攻擊下的實驗結果
該算法先使用復合混沌序列對秘密圖像,如圖4(a)所示,進行加密結果如圖4(b)所示。使用原始加密數(shù)據(jù)進行解密,初值和參數(shù)為μ=3.93,X0=0.45,Z0=0.4,A=4,B=2.5,解密結果如圖4(c)所示?;煦缂用芩惴ǖ陌踩灾饕谟诔踔岛蛥?shù)的個數(shù)比較多,即使其中幾個數(shù)據(jù)是正確的,只將Z0=0.4+10-9,比原先增加了10-9,其它數(shù)據(jù)均與原始數(shù)據(jù)相同進行解密所得結果如圖4(d)所示。驗證了混沌系統(tǒng)初始值的微小變化也會得到完全不同的解密結果。
圖4 秘密圖像
如果采用窮舉法攻擊,混沌系統(tǒng)的初始值和參數(shù)的取值范圍為整個實數(shù)域,混合混沌序列的密鑰由5個浮點數(shù)組成,如果采用32位的浮點數(shù)表示,該密鑰共需要160位,此時窮舉法的密鑰空間為2160,加密后的密圖是128×128,密鑰空間為16384!,要同時破解這兩個密鑰空間,幾乎是不可能的,因此其安全性非??煽俊?/p>
在信息隱藏的盲提取方面,大多都是對二值圖像信息的提取,這些方法隱藏的信息量相對較低。本文提出一種基于混沌和LWT-SVD的盲信息隱藏算法。對載體圖像進行提升小波變換,提取藍色分量低頻子帶并分塊奇異值分解,根據(jù)每塊最大奇異值最高位的奇偶性隱藏秘密圖像,并不修改載體圖像。在提取秘密圖像時,不需要原始載體圖像,實現(xiàn)了真正的盲提取。該算法是對灰度圖像進行隱藏和提取,隱藏的信息量較大。秘密圖像嵌入之前采用復合混沌加密,保證了秘密圖像的安全性。實驗結果表明,該算法保密性好,信息隱藏量大,算法簡單,能有效抵抗加噪、濾波、剪切、小角度旋轉(zhuǎn)、JPEG壓縮等攻擊,具有良好的安全性和魯棒性。下一步的工作將是提高大角度旋轉(zhuǎn)的魯棒性。
[1]甘甜,馮少彤,聶守平,等.基于分塊離散小波變換的圖像信息隱藏與盲提取算法[J].物理學報,2012,61(8):1-7.
[2]胡青,龍冬陽,盧偉.一種改進的小波系數(shù)差異量化水印算法[J].計算機科學,2010,37(11):261-264.
[3]周鵬穎,沈磊,田小林,等.基于小波—奇異值分解的數(shù)字水印新算法[J].計算機應用研究,2010,27(5):1896-1898.
[4]胡敏,平西建,丁益洪.基于圖像DCT域的信息隱藏盲提取算法[J].計算機工程與應用,2003,5:89-91.
[5]馬建湖,何甲興.基于小波變換的零水印算法[J].中國圖象圖形學報,2007,12(4):581-585.
[6]溫泉,孫錟鋒,王樹勛.零水印的概念與應用[J].電子學報,2003,31(2):214-216.
[7]焦問,丁文霞.一種基于混沌映射和奇異值分解的數(shù)字圖像水印算法[J].信號處理,2011,27(8):1219-1123.
[8]王麗娜,郭遲,李鵬.信息隱藏技術實驗教程[M].武漢:武漢大學出版社,2004.
[9]陳光喜,尹柳,易招師.基于整數(shù)提升小波變換的多功能數(shù)字水?。跩].計算機工程與應用,2011,46(11):115-118.
[10]周波,陳健.基于奇異值分解的、抗幾何失真的數(shù)字水印算法[J].中國圖象圖形學報,2004,9(4):507-512.
[11]張仁昌,耿國華.基于奇異值分解和小波變換的抗幾何失真數(shù)字水印新方法 [J].計算機應用與軟件,2007,24(6):78-81.
[12]龔劬,馬素春.基于分塊奇異值分解的小波域水印算法[J].計算機仿真,2009,26(5):138-142.