杜耀剛 楊自力 張艷碩 王澤豪
1(北京電子科技學(xué)院 北京 100070)
2(西安電子科技大學(xué)通信工程學(xué)院 陜西 西安 710071)
3(數(shù)據(jù)通信科學(xué)技術(shù)研究所 北京 100191)
信息隱藏技術(shù)[1-3]分為嵌入式信息隱藏技術(shù)[4-5]和無載體信息隱藏技術(shù)[6-8]。無載體信息隱藏技術(shù)的研究領(lǐng)域主要有基于文本[9-10]和基于圖像兩個(gè)方向。目前在圖像方面進(jìn)行的無載體信息隱藏方案,大多數(shù)集中在如何利用圖像的特征變化規(guī)律來進(jìn)行信息的隱藏設(shè)計(jì)。如將圖像進(jìn)行3×3分塊,然后通過每塊像素值按一定規(guī)則進(jìn)行比較產(chǎn)生秘密比特信息[11];又或者將圖像分塊之后通過比較子塊像素值變化方向來產(chǎn)生秘密比特信息[12]。這其中存在許多問題,如信息隱藏圖像在傳輸過程中受到攻擊或者刻意篡改,那么接收方就會(huì)提取出錯(cuò)誤的秘密信息。同時(shí)這些方案每幅圖像只能與固定的隱秘信息進(jìn)行對(duì)應(yīng),如果要傳輸大量秘密信息則需要大量的圖像,這就將產(chǎn)生不小的存儲(chǔ)負(fù)擔(dān)。而且這些方案的隱藏容量相對(duì)較低,還有很大的提升空間。
針對(duì)以上問題,本文提出了一種既能驗(yàn)證圖像完整性,同時(shí)減少系統(tǒng)存儲(chǔ)資源消耗并且有很高隱藏容量的無載體信息隱藏方案。該方案是基于線性碼[13]的生成矩陣和校驗(yàn)矩陣思想結(jié)合混沌映射理論以及迭代線性方程組[14]設(shè)計(jì)的無載體信息隱藏系統(tǒng)。方案通過提取圖像的像素值,然后經(jīng)過設(shè)計(jì)的系統(tǒng)的一系列變換來確定圖像與密文信息的對(duì)應(yīng)規(guī)則。信息發(fā)送方和接收方分別通過無載體信息隱藏系統(tǒng)可確定需要發(fā)送的圖像信息和接收的密文信息。該方案創(chuàng)新性地將混沌加密算法嵌入到線性碼理論中形成一種新的信息隱藏算法,使得信息在隱藏過程中具有混沌加密算法的隨機(jī)性和安全性,同時(shí)具有線性碼的可驗(yàn)證性。另外與圖像對(duì)應(yīng)的秘密信息在算法的實(shí)現(xiàn)過程中形成了相比于其他算法容量大的特點(diǎn),并且由于兩者之間的動(dòng)態(tài)關(guān)聯(lián)性,大大減少了信息庫的存儲(chǔ)資源消耗。
圖像在傳遞的過程中可能會(huì)遭受到攻擊方刻意的篡改或者數(shù)據(jù)缺失,這樣就會(huì)導(dǎo)致接收方解密出錯(cuò)誤的信息。為了避免出現(xiàn)這種情況,方案利用線性碼的可驗(yàn)證性對(duì)信息進(jìn)行認(rèn)證。
現(xiàn)有一個(gè)有限域Fq,若q=pn,其中p為素?cái)?shù)。則稱其n維向量空間為Qn,也記作Rn。
定義1若C是一個(gè)[n,k]線性碼,則C也一定是有限域Fq上的n維線性空間Rn中的一個(gè)k維線性子空間。
定義2一個(gè)k×n矩陣G,其行向量構(gòu)成的基底若能經(jīng)過線性組合表示[n,k]線性碼C中的任何碼字即:
C={aG|a∈Qk}
則稱矩陣G為線性碼C的生成矩陣。若G=(Ik,P)是標(biāo)準(zhǔn)型的矩陣,即Ik是k×k的單位矩陣,則每個(gè)碼字的前k個(gè)符號(hào)用來表示信息位,后面的n-k個(gè)符號(hào)用來表示校驗(yàn)位。
定義3若C是一個(gè)[n,k]線性碼,那么其對(duì)偶碼C⊥為:
混沌系統(tǒng)是指在一個(gè)確定性系統(tǒng)中,存在隨機(jī)的不規(guī)則的運(yùn)動(dòng),其行為表現(xiàn)為不確定性、不可重復(fù)性、不可預(yù)測(cè)性,這就是混沌現(xiàn)象。針對(duì)這種現(xiàn)象產(chǎn)生了多種混沌映射系統(tǒng):一維Logistic映射、二維Henon映射、三維Lorenz映射等。本文采用的是一維Logistic混沌映射[15]對(duì)信息進(jìn)行加密。
Logistic混沌映射從數(shù)學(xué)形式上看是一種相對(duì)簡單的混沌系統(tǒng),但卻具有極其復(fù)雜的動(dòng)力學(xué)行為,在選定合適的初始條件下,產(chǎn)生的混沌序列是非周期的、不收斂的、無法預(yù)測(cè)的。其數(shù)學(xué)表達(dá)式如下:
xk+1=μxk(1-xk)
(1)
式中:μ為系統(tǒng)參數(shù),根據(jù)輸出需求可以確定對(duì)應(yīng)的k值,0<μ≤4,xk∈(0,1)。如果初始參數(shù)發(fā)生變化,那么對(duì)應(yīng)的混沌序列也會(huì)跟著發(fā)生變化,且這種變化是無規(guī)律的。因此,確保了加密系統(tǒng)的安全性。本文方案初始參數(shù)x0取值為0.5,通信雙方通過協(xié)商之后在3.57≤μ≤4之間選取一樣的μ值來輸出混沌序列。
無載體信息隱藏的提出是針對(duì)傳統(tǒng)的嵌入式信息隱藏難以抵抗發(fā)展迅速的各類隱寫分析算法[16-18]的檢測(cè)。而難以抵抗檢測(cè)的根本原因是嵌入式的信息隱藏方式改變了載體信息,雖然嵌入方式是采用載體信息的冗余度進(jìn)行的,可以讓人無法通過感官系統(tǒng)察覺出來,但是卻逃不過隱寫分析算法的檢測(cè)。
無載體信息隱藏技術(shù)依然需要載體進(jìn)行信息的傳輸,與以往的信息隱藏方式不同的是,它沒有改變載體信息,而是利用載體本身具有的特征按照一定的規(guī)則來構(gòu)成與秘密信息的對(duì)應(yīng)聯(lián)系,以此來達(dá)到傳輸秘密信息的目的。當(dāng)然,為了增加安全性會(huì)對(duì)特征信息進(jìn)行量化加密處理。無載體信息隱藏技術(shù)利用的傳輸載體是原始的、未作改變的,因此不會(huì)引起攻擊者的懷疑,也不會(huì)被各類隱寫分析算法檢測(cè)出來。由于具有出眾的保密通信優(yōu)勢(shì),這項(xiàng)技術(shù)受到了大量專家的重視。
本節(jié)給出了所提的具體無載體信息隱藏實(shí)現(xiàn)方案,該方案是通過對(duì)選取的圖像進(jìn)行像素值的處理,得到對(duì)應(yīng)的像素矩陣,然后對(duì)像素值的二進(jìn)制矩陣?yán)镁€性碼的校驗(yàn)原理作可驗(yàn)證運(yùn)算,之后對(duì)生成的矩陣信息與經(jīng)過混沌加密的參數(shù)矩陣一起構(gòu)建迭代線性方程組,然后利用經(jīng)過迭代線性方程組變換得到的矩陣信息與公開的矩陣信息一起得到最終傳輸?shù)碾[秘信息,最后利用坐標(biāo)信息即可在信息庫中找到相應(yīng)的密文信息。發(fā)送方通過以上方案的步驟得到密文信息與圖像的對(duì)應(yīng)關(guān)系,然后根據(jù)要傳輸?shù)拿芪男畔⒄业綄?duì)應(yīng)的圖像進(jìn)行發(fā)送,接收方接收到圖像之后,根據(jù)方案的步驟進(jìn)行處理就可得到對(duì)應(yīng)的隱秘矩陣信息,進(jìn)而得到密文信息,并可對(duì)信息的完整性進(jìn)行驗(yàn)證。方案的具體步驟先后分為圖像處理、參數(shù)生成與發(fā)送、信息提取和完整性驗(yàn)證四部分。
一幅灰度圖像,可由r0×s0個(gè)像素pij(1≤i≤r0,1≤j≤s0)所構(gòu)成,因此可以將圖像用一個(gè)矩陣M來表示, 其中pij為圖像的組成像素值。
設(shè)有m幅傳輸圖像,其對(duì)應(yīng)的像素矩陣為r0×s0的矩陣Mi(i=1,2,…,m)。本文的任務(wù)即將這m個(gè)傳輸圖像提取像素值通過矩陣生成算法用m個(gè)矩陣來表示。
步驟1按照線性碼理論隨機(jī)生成一個(gè)s0×n0的標(biāo)準(zhǔn)型生成矩陣G(Gij∈[0,1]),對(duì)矩陣Mi(i=1,2,…,m),按式(2)計(jì)算對(duì)應(yīng)的Si(i=1,2,…,m)。
Si=MiGi=1,2,…,m
(2)
此時(shí)根據(jù)生成矩陣G的校驗(yàn)位矩陣提取出對(duì)應(yīng)在Si(i=1,2,…,m)上的驗(yàn)證矩陣Ji(i=1,2,…,m),根據(jù)定義2可知驗(yàn)證矩陣Ji(i=1,2,…,m)為Si(i=1,2,…,m)的后面n-k列形成的矩陣。
Mi來自于圖像的像素值作模二運(yùn)算生成的二進(jìn)制矩陣,本方案選用的生成矩陣G是標(biāo)準(zhǔn)型的矩陣,能最后對(duì)圖像的完整性進(jìn)行有效的檢驗(yàn)。
步驟2根據(jù)需求設(shè)置n個(gè)初始未經(jīng)加密的參數(shù)矩陣Bi(i=1,2,…,n)和選定初始值μ之后由式(1)產(chǎn)生混沌序列進(jìn)而轉(zhuǎn)化的混沌矩陣L,對(duì)參數(shù)矩陣Bi(i=1,2,…,n)按式(3)得到加密參數(shù)矩陣Ci(i=1,2,…,n)。
Ci=Bi⊕Li=1,2,…,n
(3)
定義如下矩陣序列:
S1,S2,…,Sm,C1,C2,…,Cn,D0,D1,…,Dn+m
其中,Di(i=0,1,…,n+m)是通過在它之前的n+m個(gè)矩陣進(jìn)行運(yùn)算而得到。即:
(4)
步驟3根據(jù)需要設(shè)置矩陣Ti(i=1,2,…,N),其中1≤N≤m+n,然后計(jì)算Ki(i=1,2,…,N):
Ki=Di-Tii=1,2,…,N
(5)
合并Ki(i=1,2,…,N)得到映射矩陣Yi(i=1,2,…,N),找出密文信息在映射矩陣上對(duì)應(yīng)的坐標(biāo)信息Zi(i=1,2,…,N),即可實(shí)現(xiàn)無載體信息隱藏。
步驟4將信息G,Bi(i=1,2,…,n),Ji(i=1,2,…,m),Ti(i=1,2,…,N),Zi(i=1,2,…,N)公開?;煦缂用芟禂?shù)μ通過可靠信道傳送給接收方。
秘密接收方接收到圖像之后對(duì)圖像進(jìn)行解析生成矩陣Mi(i=1,2,…,m),由式(2)和公開的生成矩陣G,可計(jì)算得Si(i=1,2,…,m)。再由得到的混沌加密系數(shù)μ得到混沌矩陣L,由公開的Bi(i=1,2,…,n)按式(3)得到加密參數(shù)矩陣Ci(i=1,2,…,n),結(jié)合式(4),可將S1,S2,…,Sm,C1,C2,…,Cn轉(zhuǎn)化為:
(D0,D1,…,Dn+m)T=Q(S1,S2,…,Sm,C1,C2,…,Cn)T
(6)
式中:系數(shù)a通過式(4)合并同類項(xiàng)得到。此刻也就能解出Di(i=0,1,…,n+m)。最后通過公開的矩陣Ti(i=1,2,…,N),結(jié)合式(5),可計(jì)算出秘密矩陣Ki(i=1,2,…,N),之后變換得到映射矩陣Yi(i=1,2,…,N),由坐標(biāo)信息Zi(i=1,2,…,N)即可找到在信息庫中對(duì)應(yīng)的密文信息。
本文選取的三幅實(shí)驗(yàn)圖像——lena、baboon、airplane均為512×512灰度圖像,如圖1所示。
圖1 實(shí)驗(yàn)用圖
將lena、baboon、airplane三幅實(shí)驗(yàn)用圖的像素調(diào)整為8×8之后,其像素矩陣分別如圖2所示。
圖2 lena,baboon,airplane像素矩陣(8×8)
對(duì)以上像素矩陣值模2取余生成二進(jìn)制矩陣Mi(i=1,2,3)分別如圖3所示。
圖3 lena,baboon,airplane二進(jìn)制矩陣(8×8)
然后構(gòu)造一個(gè)標(biāo)準(zhǔn)型生成矩陣G(8×9),如圖4所示。
圖4 生成矩陣G(8×9)
由式(2)可得Si(i=1,2,3)如圖5所示。
圖5 矩陣Si(i=1,2,3)(8×9)
由于傳送的圖像為3幅,因此,設(shè)置矩陣Bi(i=1,2),如圖6所示。
圖6 矩陣B1,B2(8×9)
根據(jù)傳輸?shù)摩讨等?.8和式(1)可得到對(duì)應(yīng)的混沌序列轉(zhuǎn)化的混沌矩陣L如圖7所示。
圖7 矩陣L(8×9)
根據(jù)Bi(i=1,2),混沌矩陣L和式(3),可求得參數(shù)矩陣Ci(i=1,2)如圖8所示。
圖8 矩陣C1,C2(8×9)
根據(jù)Si(i=1,2,3)、Ci(i=1,2)和式(4),可求得Di(i=0,1,…,5)如圖9所示。
圖9 矩陣Di(i=0,1,…,5)(8×9)
設(shè)置生成兩個(gè)8×9矩陣T1、T2如圖10所示。
圖10 矩陣T1,T2(8×9)
由式(5)可得K1、K2如圖11所示。
圖11 矩陣K1,K2(8×9)
將矩陣K1、K2每三位信息合并生成映射矩陣信息Y1、Y2如圖12所示。
圖12 矩陣Y1,Y2(8×3)
若傳輸?shù)男畔椤氨本?,而信息庫的?duì)應(yīng)關(guān)系為“北”?“013”,“,京”?“018”,則找到在矩陣中對(duì)應(yīng)的坐標(biāo)信息Z1=(2,1),Z2=(4,3),至此,公開G、T1、T2、B1、B2、Z1、Z2,然后將圖像發(fā)送給信息接收方,混沌系數(shù)μ通過可靠信道傳輸,信息發(fā)送的步驟完成。
秘密接收方接收到圖像之后對(duì)圖像進(jìn)行解析生成矩陣Mi(i=1,2,…,m),由式(2)和公開的生成矩陣G,可計(jì)算得Si(i=1,2,…,m)。再由接收到的混沌加密系數(shù)μ通過混沌映射變換由公開的Bi(i=1,2,…,m)也就能計(jì)算得到Ci(i=1,2,…,n),結(jié)合式(4),這時(shí)本文可以解出Di(i=0,1,…,n+m)。最后通過公開的Ti(i=1,2,…,N),結(jié)合式(5),可計(jì)算出加密矩陣Ki(i=1,2,…,N),然后可對(duì)應(yīng)得到映射矩陣Yi(i=1,2,…,N),根據(jù)得到的坐標(biāo)信息Zi(i=1,2,…,N),參照信息庫即可得到傳輸?shù)拿芪男畔⑷鐖D13所示。
圖13 密文信息
信息完整性驗(yàn)證,由于生成矩陣G為標(biāo)準(zhǔn)型矩陣G=(Ik,P),因此在本方案中其校驗(yàn)矩陣為:
H1=[11001010]
圖14 Mi(i=1,2,3)校驗(yàn)結(jié)果正確
假設(shè)由于傳輸過程中圖像遭到信息的篡改或破壞,進(jìn)而導(dǎo)致Mi(i=1,2,3) 中一個(gè)或多個(gè)出現(xiàn)變動(dòng),例如圖像lena信息被篡改導(dǎo)致M1中出現(xiàn)錯(cuò)誤,如圖15所示。
圖15 M1黑框中數(shù)據(jù)出現(xiàn)錯(cuò)誤
那么,J1+M1HTmod 2后得到的校驗(yàn)結(jié)果就不再是0,可以判斷接收數(shù)據(jù)出現(xiàn)錯(cuò)誤,如圖16所示。
圖16 錯(cuò)誤的M1導(dǎo)致錯(cuò)誤的校驗(yàn)值
該方案是通過對(duì)3幅圖像進(jìn)行像素值處理,得到對(duì)應(yīng)的3個(gè)像素矩陣,然后對(duì)像素矩陣?yán)镁€性碼的校驗(yàn)原理作可驗(yàn)證處理。之后對(duì)生成的矩陣信息與經(jīng)過混沌加密的參數(shù)矩陣一起構(gòu)建迭代線性方程組,利用迭代線性方程組得到的矩陣信息與公開的矩陣信息一起獲得最終要傳輸?shù)碾[秘矩陣信息,然后根據(jù)矩陣的坐標(biāo)信息找到與信息庫對(duì)應(yīng)的密文信息。方案采用的是利用3幅圖像進(jìn)行傳輸,最終解密出2個(gè)秘密信息矩陣的形式進(jìn)行信息的傳輸。另外本方案的圖像分割方式是采用8×8的像素值矩陣進(jìn)行,為了便于與其他方案進(jìn)行對(duì)比,本文采用3×3的形式進(jìn)行計(jì)算。故解密出的信息矩陣形式是3×4,由于十進(jìn)制信息矩陣每個(gè)值代表3比特的二進(jìn)制信息,因此平均每幅圖片最后可表示的比特值信息是:
3×4×3×2÷3=24 bit
與其他方案對(duì)比信息如表1所示。
表1 隱藏容量對(duì)比
由表1對(duì)比可知,本文方案相比于其他兩種方案在隱藏容量上有了較大的提高,隱藏容量是文獻(xiàn)[11]方案的四倍,比文獻(xiàn)[12]方案隱藏容量提升三分之一。
為了防止秘密信息在傳遞過程中遭遇毀壞或篡改而導(dǎo)致接收方無法察覺進(jìn)而解密出錯(cuò)誤信息,本文設(shè)計(jì)了一個(gè)可信任的無載體信息隱藏方案,需要根據(jù)線性碼理論中的生成碼和校驗(yàn)碼的思想,在解密信息的過程中加入生成矩陣和校驗(yàn)矩陣進(jìn)行完整性的驗(yàn)證,驗(yàn)證步驟如下:
步驟1通過信息發(fā)送方公開的生成矩陣G,根據(jù)定義3可得到對(duì)應(yīng)的校驗(yàn)矩陣H1。
表2 可驗(yàn)證性對(duì)比
該方案在信息的加解密的過程中引入了迭代線性方程組的形式使得信息被解密的難度加大,同時(shí)將混沌映射加密系統(tǒng)嵌入到加解密過程中,使得系統(tǒng)具有了混沌映射的隨機(jī)性、混沌特性,攻擊方無法找出其中的輸入輸出關(guān)系,若攻擊方無法得到正確的混沌加密系數(shù),則根本進(jìn)行不了解密操作,故本文方案具有很強(qiáng)的安全性。
本文方案由于將圖像的像素值矩陣作為加解密信息的一環(huán),與設(shè)置的混沌加密矩陣Ci(i=1,2,…,n)一起導(dǎo)出最終的秘密信息矩陣。同一幅圖像,與不同的參數(shù)矩陣Ci(i=1,2,…,n)將對(duì)應(yīng)的是不同的秘密信息矩陣,故圖像與秘密信息矩陣是動(dòng)態(tài)關(guān)聯(lián)的。一幅圖像將可以表示大量的隱秘信息,而傳統(tǒng)無載體信息隱藏系統(tǒng),圖像與隱秘信息是一對(duì)一的關(guān)系。因此本文方案能大大減少無載體信息隱藏系統(tǒng)的存儲(chǔ)資源消耗。
本文提出了一種利用線性碼的生成矩陣和校驗(yàn)矩陣思想結(jié)合迭代方程組以及混沌映射加密設(shè)計(jì)的無載體信息隱藏方案。該方案能在接收方收到圖像信息之后對(duì)圖像信息的完整性進(jìn)行驗(yàn)證,避免提取出錯(cuò)誤的信息。而一般的無載體信息方案則無法抵抗來自攻擊方對(duì)信息的無差別攻擊引起的解密誤差。并且方案采用了迭代方程組以及混沌映射系統(tǒng)結(jié)合的方式,使得系統(tǒng)的安全性和隨機(jī)性很高。因此這是一個(gè)可信任的無載體信息隱藏方案,同時(shí)該方案有著很大的隱藏容量提升,隱藏容量是文獻(xiàn)[11]方案的四倍,相比文獻(xiàn)[12]方案提升三分之一。并且方案的圖像信息與密文信息是動(dòng)態(tài)關(guān)聯(lián)的關(guān)系,大大減少了系統(tǒng)的存儲(chǔ)資源消耗。