穆 俊
(滇西科技師范學(xué)院 信息工程學(xué)院, 云南 臨滄 677000)
數(shù)字圖像在互聯(lián)網(wǎng)中的傳輸越來越廣泛和頻繁,與之伴隨而來的是不法分子在不可信信道中對(duì)一些具有重要價(jià)值圖像的竊取和篡改。此類事件的大量發(fā)生不僅導(dǎo)致了一系列嚴(yán)重的經(jīng)濟(jì)損失,還可能導(dǎo)致國家利益被侵犯[1-2]。針對(duì)重要數(shù)字圖像在不可信信道中的安全傳輸問題,相關(guān)領(lǐng)域的學(xué)者們提出了一系列的解決方案,包括圖像加密[3-10]、圖像隱寫[11-13]和圖像水印[14-18]。相比于圖像水印方案,圖像加密方案和圖像隱寫方案因?yàn)閷D像中的全部可用信息進(jìn)行了不可視處理,所以具有更高的安全性。
在圖像加密領(lǐng)域,近年來研究者們提出了相當(dāng)多種類的算法,這些算法使用的加密工具主要包括混沌映射[3-7]、DNA計(jì)算[10]、神經(jīng)網(wǎng)絡(luò)[8]、波變換[9]。由于混沌映射具有極端初值敏感性,同時(shí)其產(chǎn)生的隨機(jī)數(shù)序列具有高度的隨機(jī)性,與圖像加密的安全性不謀而合,因此混沌映射在圖像加密領(lǐng)域應(yīng)用是最為廣泛的一種工具。圖像加密算法的結(jié)構(gòu)一般為置亂-混淆結(jié)構(gòu),該結(jié)構(gòu)為Fridrich[3]首次提出,其高度的安全性已在實(shí)踐中得到了反復(fù)驗(yàn)證。其中,置亂指對(duì)圖像像素位置的規(guī)律性改變,混淆指對(duì)圖像像素值的規(guī)律性改變。
部分學(xué)者認(rèn)為圖像加密生成的類似馬賽克狀的圖像在信道中傳輸時(shí),很容易引起竊密者的懷疑,因此提出了通過一些手段將重要圖像隱藏到一些無價(jià)值圖像中,以最大程度降低竊密者的興趣,這種技術(shù)即為圖像隱寫。
本文提出了一種置亂-混淆-低位替換結(jié)構(gòu)的圖像隱寫算法。該算法結(jié)合了傳統(tǒng)置亂-混淆結(jié)構(gòu)的圖像加密方式和基于低位替換的圖像隱寫。通過圖像加密和隱寫的合并使用,算法的安全性得到了極大提高。在置亂步驟中,首先通過帳篷映射和Logistic映射的級(jí)聯(lián)設(shè)計(jì)了一種新型的混沌映射并用其產(chǎn)生具有高度隨機(jī)性的隨機(jī)數(shù)序列,然后隨機(jī)數(shù)序列被用于數(shù)字圖像的置亂,生成置亂圖。在混淆步驟中,加密方隨機(jī)選擇無價(jià)值的圖像作為偽裝圖,通過偽裝圖與置亂圖的與或操作實(shí)現(xiàn)置亂圖中像素值的混淆。最后,在低位替換步驟中,混淆步驟生成的圖像按照兩個(gè)位平面一組的規(guī)則被拆分成4份子圖像并嵌入到偽裝圖的最低兩位。在分叉圖、李亞普諾夫指數(shù)(Lyapunov exponent,LE)這兩個(gè)指標(biāo)的測試中,本文所提出的級(jí)聯(lián)混沌映射均表現(xiàn)優(yōu)異。在圖像安全性和性能分析實(shí)驗(yàn)中,本文所提出的圖像隱寫算法也表現(xiàn)出高度的安全性和極高的執(zhí)行效率。
圖1展示了一種新型級(jí)聯(lián)混沌映射,稱為帳篷-Logistic映射。在該映射中,帳篷映射的輸出被作為Logistic映射的輸入,Logistic映射的輸出再反饋到帳篷映射的輸入端。其中帳篷映射和Logistic映射的定義分別如公式(1)、(2)所示。通過圖1所示架構(gòu)生成的帳篷-Logistic映射的數(shù)學(xué)定義如公式(3)所示。
圖1 帳篷-Logistic映射架構(gòu)Fig.1 Structure of tent-logistic map
(1)
xn+1=rxn(1-xn), 3.566 9 (2) μ和r分別為帳篷映射和Logistic映射的系統(tǒng)參數(shù)。設(shè)定初始值x0和系統(tǒng)參數(shù),通過式(1)和(2)的持續(xù)迭代,可以生成混沌隨機(jī)數(shù)序列{x0,x1,x2…}。 (3) 對(duì)帳篷-Logistic映射而言,由于包含了更多的參數(shù),因此相比于原來的兩個(gè)混沌映射,其初值敏感性更高,混沌范圍更廣泛。 將本文所提出的帳篷-Logistic映射與帳篷映射、Logistic映射分別進(jìn)行了定性比較和定量比較。定性比較通過比較各自分叉圖的分叉范圍完成。定量比較通過比較李亞普諾夫指數(shù)譜完成。 2.2.1 分叉圖比較 當(dāng)系統(tǒng)參數(shù)μ的變化范圍為[1,2]時(shí),帳篷映射的分叉圖如圖2(a)所示。固定系統(tǒng)參數(shù)r=4,帳篷-Logistic映射的分叉圖如圖2(b)所示。當(dāng)系統(tǒng)參數(shù)r的變化范圍為[1,4]時(shí),Logistic映射的分叉圖如圖3(a)所示。固定系統(tǒng)參數(shù)μ=2,帳篷-Logistic映射的分叉圖如圖3(b)所示。 (a)帳篷映射的分叉圖(a) Bifurcation of tent map (b)帳篷-Logistic映射的分叉圖(b) Bifurcation of tent-logistic map圖2 帳篷映射和帳篷-Logistic映射的分叉圖Fig.2 Bifurcation of tent map and tent-logistic map (a) Logistic映射的分叉圖(a) Bifurcation of logistic map (b)帳篷-Logistic映射的分叉圖(b) Bifurcation of tent-logistic map圖3 Logistic映射和帳篷-Logistic映射的分叉圖Fig.3 Bifurcation of logistic map and tent-logistic map 通過圖2和圖3可以看出,本文所提出的新型映射的混沌范圍要遠(yuǎn)大于兩個(gè)原來的子映射的混沌范圍。更大的分叉圖范圍意味著混沌映射生成的隨機(jī)數(shù)序列的隨機(jī)性更高,這樣的混沌映射可以保證加密方案具有更高的安全性。 2.2.2 李亞普諾夫指數(shù)譜比較 李亞普諾夫指數(shù)譜的橫軸為系統(tǒng)參數(shù)變化范圍,縱軸為李亞普諾夫指數(shù)值。大于0的李亞普諾夫指數(shù)值表示此系統(tǒng)參數(shù)下的混沌映射處于混沌狀態(tài),小于0的李亞普諾夫指數(shù)值表示此系統(tǒng)參數(shù)下的混沌映射處于周期震蕩狀態(tài)[19]。為了定量分析所提出的混沌映射的性能,本文展示了3種映射的李亞普諾夫指數(shù)譜,如圖4所示。 (a)帳篷-Logistic映射與帳篷映射(a) Tent-logistic map and tent map (b)帳篷-Logistic映射與Logistic映射(b) Tent-logistic map and logistic map圖4 帳篷-Logistic映射與兩種原始映射的李亞普諾夫指數(shù)譜比較Fig.4 Comparison of tent-logistic map and two original maps in Lyapunov exponent spectra 圖5 隱寫模塊運(yùn)行流程圖Fig.5 Flow chart of steganographic module operation 通過圖4可以直觀地發(fā)現(xiàn)本文所提出的帳篷-Logistic映射相比于參與比較的其他兩個(gè)映射,其混沌系統(tǒng)參數(shù)的設(shè)置范圍要寬松許多,說明系統(tǒng)更容易進(jìn)入混沌狀態(tài),而這種特性正是圖像加密所需的。 將待隱藏的原始秘密圖像隱藏到偽裝圖像的過程分為3步:置亂、混淆和低位嵌入。整體流程如圖5所示。設(shè)原始秘密圖像為O,其大小為M×N,圖像隱寫的詳細(xì)步驟敘述如下,其中置亂為步驟1~3,混淆為步驟4,低位嵌入為步驟5。 步驟1:設(shè)定帳篷-Logistic映射的系統(tǒng)參數(shù)μ、r及初始值x0,驅(qū)動(dòng)帳篷-Logistic映射產(chǎn)生混沌隨機(jī)數(shù)序列C={x1,x2,…,xM+N}; 步驟2:將C拆分為C1={x1,x2,…,xM},C2={xM+1,xM+2,…,xM+N}。分別將C1和C2按照降序排列,得到C1和C2的排序矢量a={a1,a2,…,aM}和b={b1,b2,…,bN}; 步驟3:按照公式(4)對(duì)原始秘密圖像進(jìn)行置亂,生成置亂圖; (4) 步驟4:加密方隨機(jī)選擇一幅與置亂圖相同大小的無價(jià)值圖像作為偽裝圖。將偽裝圖的前6個(gè)位平面與步驟3生成的置亂圖的前6個(gè)位平面進(jìn)行與或操作,生成混淆圖; 步驟5:將步驟4生成的混淆圖按照相鄰兩個(gè)位平面一組的順序進(jìn)行拆分,得到4幅子圖像。將偽裝圖復(fù)制4份,每份偽裝圖的最低兩個(gè)位平面使用一幅子圖像進(jìn)行替換,生成新的偽裝圖C1,C2,C3,C4。 從低位被嵌入混淆圖的偽裝圖Ci,i=1,2,3,4中提取出原始秘密圖像O的整體流程框圖如圖6所示。 圖6 秘密圖像提取模塊運(yùn)行流程圖Fig.6 Flow chart of secret image extraction module operation 其詳細(xì)步驟如下所述: 步驟1:收集所有的Ci,i=1,2,3,4,通過提取最低兩個(gè)位平面然后重組的方式生成混淆圖; 步驟2:通過混淆圖與偽裝圖的與或操作生成置亂圖; 步驟3:設(shè)定帳篷-Logistic映射的系統(tǒng)參數(shù)μ,r及初始值x0,驅(qū)動(dòng)帳篷-Logistic映射產(chǎn)生混沌隨機(jī)數(shù)序列C={x1,x2,…,xM+N}; 步驟4:將C拆分為C1={x1,x2,…,xM},C2={xM+1,xM+2,…,xM+N}。然后分別將C1和C2按照降序排列,得到C1和C2的排序矢量a={a1,a2,…,aM}和b={b1,b2,…,bN}; 步驟5:按照公式(5)對(duì)置亂圖進(jìn)行還原,生成原始秘密圖像; (5) 本文所提出的算法對(duì)圖7所示的4張灰度圖各進(jìn)行了一輪隱寫-提取,生成的4幅類似于馬賽克圖像的加密圖像展示于圖8。4次加密所用的偽裝圖原圖和被嵌入了加密圖像的偽裝圖展示于圖9。 圖7 原始秘密圖像Fig.7 Original secret images 圖8 通過置亂-混淆環(huán)節(jié)生成的4幅加密圖像Fig.8 Ciphertext images (a)原始偽裝圖(a) Original cover image (b)最低2位嵌入圖8(a)的隱寫圖像(b) Steganographic images of lowest 2 bits embed-ding Fig.8(a) (c)最低2位嵌入圖8(b)的隱寫圖像(c) Steganographic images of lowest 2 bits embed-ding Fig.8(b) (d)最低2位嵌入圖8(c)的隱寫圖像(d) Steganographic images of lowest 2 bits embed-ding Fig.8(c) (e)最低2位嵌入圖8(d)的隱寫圖像(e) Steganographic images of lowest 2 bits embed-ding Fig.8(d)圖9 原始偽裝圖和隱寫圖像Fig.9 Cover image and steganographic images 為了測試本文所提出算法的高度安全性和執(zhí)行效率,本文所提出算法進(jìn)行了3種測試,分別是密鑰敏感性測試、抗統(tǒng)計(jì)攻擊測試和隱寫-提取用時(shí)測試。 本文所提出的算法使用的密鑰對(duì)k={μ,r,x0}主要用于驅(qū)動(dòng)帳篷-Logistic映射產(chǎn)生隨機(jī)數(shù)序列。一個(gè)優(yōu)良的加密算法對(duì)于密鑰應(yīng)該是極端敏感的,這樣才能有效對(duì)抗密鑰窮舉攻擊。密鑰敏感性分析的目的在于衡量密鑰的有效性,當(dāng)密鑰發(fā)生微小變化時(shí),若加密同一個(gè)明文圖像所得到的兩幅密文圖像有顯著差異,則該加密方案的密鑰敏感性強(qiáng)。 本小節(jié)測試中,以Barbara為樣例,以得到圖8(a)中加密圖像的密鑰對(duì){k={μ,r,x0}}為初值,以10-4為改變量,任意改變其中一個(gè)密鑰,得到3個(gè)新的密鑰對(duì)。以3個(gè)新密鑰對(duì)加密Barbara,得到新的3幅加密圖示于圖10。3幅新的加密圖與圖8(a)進(jìn)行同位置像素相減操作,得到的差值圖示于圖11。 圖10 新密鑰對(duì)得到的加密圖Fig.10 Ciphertext images generated from new secret key pairs 圖11 新加密圖與原加密圖之間的差值圖Fig.11 Difference images between new ciphertext images and original images 從圖11可以看出,3幅差值圖均呈現(xiàn)噪聲形式,說明密鑰值的微小改變造成了密文圖像的顯著差異性,這一點(diǎn)證實(shí)了本文所提出的算法具有高度的密鑰敏感性。 竊密者通過獲取大量加密圖像便可以通過統(tǒng)計(jì)學(xué)知識(shí)來獲取密文圖像中包含的原始秘密圖像信息,這種攻擊方式稱為統(tǒng)計(jì)攻擊。具有強(qiáng)抗統(tǒng)計(jì)攻擊能力的圖像安全算法應(yīng)當(dāng)使得通過加密生成的圖像類似于均勻分布的噪聲。 圖12展示了圖7中的4幅原始秘密圖像和圖8中4幅加密圖像的直方圖。根據(jù)圖12可以直觀看出,明文圖像的直方圖有很大起伏,而加密圖像則很平坦。因此可以認(rèn)為加密圖中像素為服從均勻分布的噪聲點(diǎn),本文所提出算法具有很強(qiáng)的對(duì)抗統(tǒng)計(jì)攻擊的能力。 為了滿足大批量圖片的實(shí)時(shí)性隱寫要求,圖像隱寫算法的隱寫-提取時(shí)間必須盡可能短。以圖7所示的4幅圖像作為測試樣例,為證實(shí)本算法的高執(zhí)行效率,本算法的100次隱寫-提取平均消耗時(shí)間與其他兩種常用算法[3-4]的執(zhí)行耗時(shí)列于表1。 通過表1可以看出,本文所提出的算法能夠滿足大批量圖片實(shí)時(shí)隱寫的要求。 表1 算法隱寫-提取平均耗時(shí)Tab.1 Average steganography-extracting time consuming 針對(duì)重要數(shù)字圖像的不可信信道安全傳輸問題,本文基于帳篷映射和Logistic映射的級(jí)聯(lián)設(shè)計(jì)了一種帳篷-Logistic映射,在此基礎(chǔ)上設(shè)計(jì)了一種基于帳篷-Logistic映射和偽裝圖低位嵌入的圖像隱寫算法。該算法為置亂-混淆-低位嵌入結(jié)構(gòu),通過結(jié)合傳統(tǒng)置亂-混淆結(jié)構(gòu)的圖像加密方式和基于低位嵌入的圖像隱寫,極大地提高了算法的安全性。在分叉圖和李亞普諾夫指數(shù)的測試中,本文所提出的帳篷-Logistic映射均表現(xiàn)優(yōu)異。在密鑰敏感性測試、抗統(tǒng)計(jì)攻擊測試和隱寫-提取用時(shí)測試實(shí)驗(yàn)中,本文所提出的圖像隱寫算法也表現(xiàn)出高度的安全性和極高的執(zhí)行效率。因此,本文所提出算法具有一定實(shí)用性。2.2 混沌性能測試
3 圖像隱寫方案設(shè)計(jì)
3.1 隱寫模塊方案設(shè)計(jì)
3.2 秘密圖像提取方案設(shè)計(jì)
4 算法安全性和執(zhí)行效率測試
4.1 密鑰敏感性分析
4.2 抗統(tǒng)計(jì)攻擊能力分析
4.3 算法執(zhí)行效率分析
5 結(jié) 論