余生晨,李 敏,姚 宇,畢崇玲
(1.華北科技學(xué)院 計(jì)算機(jī)學(xué)院,北京 東燕郊 065201;2.山西潞安環(huán)保能源開(kāi)發(fā)股份有限公司 余吾煤業(yè)有限公司,山西 長(zhǎng)治 221000)
一般情況下,應(yīng)急救援現(xiàn)場(chǎng)通信環(huán)境惡劣。這種惡劣環(huán)境要求通信設(shè)備和技術(shù)是高性能、低成本、攜帶方便、便于快速移動(dòng)的。然而,目前,量子通信技術(shù)和設(shè)備安全性很高,但其設(shè)備笨重、昂貴、不便攜帶。這些缺點(diǎn)限制了其在應(yīng)急救援現(xiàn)場(chǎng)的使用。為了滿足應(yīng)急救援現(xiàn)場(chǎng)安全通信的需求,本文研制了一種低成本、高性能的安全傳輸應(yīng)急救援現(xiàn)場(chǎng)保密信息的技術(shù)。這種技術(shù)只需要把算法寫成計(jì)算機(jī)程序安裝在現(xiàn)有的通信設(shè)備上,不需要額外增加硬件設(shè)備。這種技術(shù)是把將要傳輸?shù)谋C苄畔⑾扔妹姘鼛熥儞Q技術(shù)變換為一堆亂碼,達(dá)到初級(jí)保密的目的,然后,再把這堆二進(jìn)制亂碼嵌入到一幅風(fēng)景圖像中,不嚴(yán)重改變?cè)摲L(fēng)景圖像的欣賞品質(zhì),以至于人們覺(jué)察不到該幅風(fēng)景圖像中嵌入了保密信息,達(dá)到迷惑攻擊者的目的。在現(xiàn)有的不安全網(wǎng)絡(luò)中,把這幅嵌入了保密信息的風(fēng)景圖像傳輸?shù)浇邮辗健.?dāng)接收者收到信息后,就可以提取出其中的保密信息。當(dāng)黑客等攻擊者接觸到該幅嵌入了保密信息的風(fēng)景圖像時(shí),不會(huì)引起懷疑,也就不會(huì)對(duì)其發(fā)起攻擊,從而達(dá)到迷惑攻擊者、安全傳輸保密信息的目的。這種技術(shù)等價(jià)于在不安全的互聯(lián)網(wǎng)上建立了一個(gè)傳輸保密信息的安全通道。
對(duì)將要安全傳輸?shù)膽?yīng)急救援信息(包括圖像)經(jīng)過(guò)一種預(yù)處理后,打亂原圖像排列順序,再嵌入到載體圖像中,后期的裁剪等破壞處理對(duì)提取出的應(yīng)急救援圖像的質(zhì)量影響將是很小的。面包師變換是一種置亂技術(shù),它反復(fù)拉伸和折疊一個(gè)連續(xù)的平面區(qū)域,攪亂圖像中像素的顏色或位置,使之變成一幅雜亂無(wú)章的圖像,使人眼視覺(jué)系統(tǒng)無(wú)法辨認(rèn)出原圖像所表達(dá)的意義。為了使該變換能適用于處理數(shù)字圖像離散數(shù)據(jù)陣列,本文給出了它的改進(jìn)形式,在嵌入前,對(duì)待隱藏圖像進(jìn)行預(yù)處理置亂。
二維應(yīng)急救援?dāng)?shù)字圖像可用一個(gè)矩陣A={a(i,j)}M×N表示,其中a(i,j)代表圖像第i行第j列像素的彩色紅綠藍(lán)(RGB)分量值(或灰度圖像的灰度值)。 若置亂變換為Φ,則B=Φ(A)即是對(duì)A置亂一次后得到的加密圖像矩陣,置亂Φ的作用是改變?cè)瓐D像A中像素的排列組合方式及其空間相關(guān)性。
(1) 正變換。置亂Φ不改變?cè)瓐D像素的彩色紅綠藍(lán)(RGB)分量值(或灰度圖像的灰度值),密圖B與原圖A有相同的RGB分量值(或灰度值)直方圖。依據(jù)組合計(jì)數(shù)原理可知[1]:如果應(yīng)急救援?dāng)?shù)字圖像A共有t個(gè)灰度級(jí),各個(gè)灰度級(jí)的像素?cái)?shù)分別是n1,n2,…,nl,若不考慮倒放±90°旋轉(zhuǎn),可以形成的數(shù)字圖像總數(shù)是:
其中,
n1+n2+…+nl=M·N
(1)
(2) 逆變換。應(yīng)急救援?dāng)?shù)字圖像可以看作是一個(gè)離散有限點(diǎn)集。依據(jù)群論的有關(guān)理論,可得如下結(jié)果:
定理:置亂Φ具有恢復(fù)性(或周期性,可以恢復(fù)出原圖),即,對(duì)圖像A,變換k次,使Φk(A)=A。
證明:假設(shè)由Φ變換生成的變換序列為<Φ>={Φl,Φ2,Φ3,…},則集合<Φ>關(guān)于變換的合成運(yùn)算構(gòu)成一個(gè)以Φ為生成元的循環(huán)群。該群是有限群,所以生成元Φ的階是有限的,必有自然數(shù)k使得Φk等于群的單位元,即Φk(A)=A。假設(shè)置亂后的應(yīng)急救援圖像是原圖變換k1次得到的,則從置亂后的圖像開(kāi)始變換k-k1 面包師變換建立了平面上單位正方形E到自身的變換,該變換的具體形式如下[2]: (2) 其中,0<λ<0.5 該變換的幾何意義是首先把E拉伸成為一個(gè)2×λ的矩陣,然后從中間分割成兩個(gè)1×λ的矩陣,把其中一個(gè)置于另一個(gè)的上方。變換f(x,y)在折疊后的上下兩個(gè)1×λ矩陣之間形成了寬為1/2-λ的帶狀空隙。特別地,當(dāng)λ=1/2時(shí),變換f(x,y)便成為是E上的滿變換,本文的離散型變換即是對(duì)這種特殊情況展開(kāi)的。 在利用面包師變換技術(shù)對(duì)應(yīng)急救援?dāng)?shù)字圖像進(jìn)行置亂時(shí),首先對(duì)各像素行按混沌隨機(jī)序列兩兩配對(duì)[3],依次記為r(1),r(2),r(3),…,r(M),其中r(i)與r(i+1)配對(duì)(i為奇數(shù)),r(1)=1且r(1) (3) 其中,k=1,2,…,M/2。 假設(shè)圖像A中的第i1,i2行配對(duì)后,被重新排為r(i)、r(i+1)行,則這兩行拉伸后變?yōu)閍(i1,1),a(i2,1),a(i1,2),a(i2,2),a(i1,3),a(i1,4),a(i2,4),再經(jīng)過(guò)折疊處理后,得到圖像B中的第i行為a(i2,4),a(i1,4),a(i2,3),a(i1,3);第i+1行為a(i1,1),a(i2,1),a(i1,2),a(i2,2)。 面包師圖像置亂變換的效果見(jiàn)后面的實(shí)驗(yàn)結(jié)果。 為了達(dá)到把密文的亂碼嵌入到一幅風(fēng)景圖像中,不嚴(yán)重改變?cè)搱D的欣賞品質(zhì),以至于人們覺(jué)察不到該幅風(fēng)景圖中嵌入了保密信息,進(jìn)而迷惑攻擊者的目的,本文考慮了人眼視覺(jué)上的不可見(jiàn)性缺陷,把應(yīng)急救援保密信息嵌入到圖像最不重要的像素位上,如最低幾位??梢栽?色、16色、256色以及24位真彩色圖像中隱藏信息。對(duì)于256色圖像,在不考慮壓縮的情況下,每個(gè)字節(jié)存放一個(gè)像素點(diǎn),那么一個(gè)像素點(diǎn)至少可隱藏1位信息,一幅640×480像素的256色圖像至少可隱藏38400字節(jié)(640×480=307200位)的信息。對(duì)于24位真彩色圖像,在不考慮壓縮的情況下,三個(gè)字節(jié)存放一個(gè)像素點(diǎn),那么一個(gè)像素點(diǎn)至少可隱藏3位信息,一幅1024×768像素的256色圖像至少可隱藏294912字節(jié)(1024×768×3=2359296位)的信息。 BMP圖像文件包括每個(gè)像素為1位、4位、8位和24位的圖像,其中,24位真彩色圖像在位圖文件頭和位圖信息頭后直接是位圖陣列數(shù)據(jù)[4]。我們選用24位BMP圖像很容易把急救援保密信息存儲(chǔ)到位圖陣列信息中,因?yàn)閺?4位BMP圖像文件的第55個(gè)字節(jié)起,每3個(gè)字節(jié)為一組記錄1個(gè)像素的紅(R)、綠(G)、藍(lán)(B)三種顏色的亮度分量高[5,6]。 實(shí)驗(yàn)證明,人眼對(duì)紅綠藍(lán)的感覺(jué)是不同的,根據(jù)亮度公式[5]:Y=0.3R+0.59G+0.11B,以及人眼視錐細(xì)胞對(duì)顏色敏感度理論,人眼對(duì)綠色最敏感,對(duì)紅色次之,而對(duì)藍(lán)色最不敏感,紅色分量改變最低2位,綠色分量改變最低1位,藍(lán)色分量改變最低3位,都不會(huì)讓圖像產(chǎn)生人眼容易察覺(jué)的變化。按照這種方法,一個(gè)長(zhǎng)度為L(zhǎng)字節(jié)24位BMP圖像可以隱藏信息的最大字節(jié)數(shù)是(L-54)/4字節(jié),其中,需要排除位圖文件頭和位圖信息的頭部共54字節(jié)。 (1) 應(yīng)急救援保密信息(以下簡(jiǎn)稱為“密文”)隱藏步驟如下: ① 選擇合適大小的BMP文件。設(shè)密文文件的長(zhǎng)度為N字節(jié),再考慮存儲(chǔ)該數(shù)字N要使用3個(gè)字節(jié),要選取的24位BMP圖像的字節(jié)數(shù)L應(yīng)滿足關(guān)系L≥4×(N+3)+54。 ③ 隱藏密文。從BMP圖像文件第67字節(jié)起按12字節(jié)一組(最后一組不夠時(shí)可少于12字節(jié))依次讀出,同時(shí)從密文文件頭開(kāi)始按3字節(jié)一組(最后一組不夠時(shí)可少于3個(gè)字節(jié))依次讀出密文文件字節(jié)到A、B、C。 (4) 每讀一組BMP圖像文件的12字節(jié)和一組密文文件的3字節(jié)后,嵌入到紅色分量的最低2位,綠色分量的最低1位,藍(lán)色分量的最低3位。例如,第67字節(jié)的紅色分量的最低2位改變?yōu)閍7a6,第68字節(jié)的綠色分量的最低1位改變?yōu)閍5,第69字節(jié)的藍(lán)色分量的最低3位改變?yōu)閍4a3a2,依此類推。 (2) 應(yīng)急救援保密信息提取步驟如下: 提取密文過(guò)程是隱藏密文的逆過(guò)程。從藏有密文的24位BMP圖像中抽取信息,并以字節(jié)為單位重新生成密文。 (3) 為了提高隱藏的可靠性,應(yīng)當(dāng)保證所選取的圖像文件的大小應(yīng)與待隱藏的加密文件的大小保持適當(dāng)?shù)谋壤ㄗh選取的圖片和密文文件的大小應(yīng)懸殊一點(diǎn),即,一張圖片中不要隱藏過(guò)多(或過(guò)大)的密文文件。 圖1為應(yīng)急救援?dāng)鄬臃植济芪膱D進(jìn)行面包師變換的實(shí)驗(yàn)結(jié)果。由圖中可以看出變換后圖像的顯示順序已被打亂而且是均勻地混合在一起。這如同面包師揉一塊面團(tuán),將一塊食品著色劑加入面團(tuán)中,經(jīng)過(guò)反復(fù)的拉伸和折疊,色劑便會(huì)均勻地混合在面團(tuán)中。 圖1 應(yīng)急救援?dāng)鄬臃植济芪膱D 圖4是在圖3的載體風(fēng)景圖中嵌入了圖2(圖1中密文經(jīng)面包師變換置亂后的圖像)后的圖像。由圖4可見(jiàn),嵌入了密文的載體風(fēng)景圖(圖2)和原圖(圖3)比較,在人眼視覺(jué)上,看不出有明顯的變化,或者說(shuō),沒(méi)有明顯改善載體風(fēng)景圖的欣賞品質(zhì)。圖4可以達(dá)到迷惑攻擊者的目的。 圖5是從圖4 中提取出來(lái)的密文(經(jīng)過(guò)面包師反變換還原后的應(yīng)急救援?dāng)鄬臃植紙D),該圖5和原密文圖(圖1)比較,在人眼視覺(jué)上,看不出有明顯的變化,或者說(shuō),沒(méi)有明顯改善密文圖的質(zhì)量。圖5說(shuō)明可以達(dá)到安全傳輸密文圖的目的。 目前主流安全傳輸技術(shù)主要是加密,例如,數(shù)字簽名,橢圓曲線加密算法,RSA等。圖2是圖1(待傳輸?shù)谋C苄畔?經(jīng)面包師變換置亂后的圖像,本質(zhì)上是加密待傳輸?shù)谋C苄畔?。加密后的密文是一堆亂碼,如圖2所示,這種亂碼容易引起攻擊者的注意,對(duì)其進(jìn)行破解。即使破解不了,也會(huì)破壞它,例如,中斷密文的傳輸,或截?cái)嗝芪牡囊徊糠?,破壞了密文的完整性,或,附加一部分干擾信息,篡改了密文。但是,用本文的技術(shù),把待傳輸?shù)谋C苄畔⒓用芎?,嵌入一幅日常生活常?jiàn)的風(fēng)景圖中。這種嵌入操作不嚴(yán)重改變?cè)擄L(fēng)景圖的欣賞品質(zhì),以至于攻擊者覺(jué)察不到該幅風(fēng)景圖中嵌入了保密信息(如圖4所示),達(dá)到迷惑攻擊者的目的,從而躲過(guò)攻擊者對(duì)密文的各種破壞。簡(jiǎn)而言之,攻擊者想不到該幅風(fēng)景圖中嵌入了保密信息,也就不會(huì)破壞它。 圖2 密文經(jīng)面包師變換置亂后的圖像 圖3 載體風(fēng)景圖 圖4 載體風(fēng)景圖中嵌入了圖2 (1) 為了達(dá)到把密文的亂碼嵌入到一幅風(fēng)景圖像中,不嚴(yán)重改變?cè)搱D的欣賞品質(zhì),以至于人們覺(jué)察不到該幅風(fēng)景圖中嵌入了保密信息,從而迷惑攻擊者的目的,本文考慮了人眼視覺(jué)上的不可見(jiàn)性缺陷,把應(yīng)急救援保密信息嵌入到圖像最不重要的像素位上。 (2) 為了提高隱藏密文圖像的魯棒性(抗剪切、加噪音等圖像處理),提高恢復(fù)圖像的質(zhì)量,本文先用面包師變換把將要傳輸?shù)谋C苄畔⒆儞Q為一堆亂碼,達(dá)到初級(jí)保密的目的,然后,再把該亂碼嵌入到一幅風(fēng)景圖像中。仿真實(shí)驗(yàn)證明該方法是有效的且性能價(jià)格比較高。特別適合應(yīng)急救援惡劣環(huán)境現(xiàn)場(chǎng)的安全通信。 (3) 本文的理論應(yīng)用價(jià)值是:在公共通信網(wǎng)絡(luò)中,建立了一個(gè)相對(duì)比較安全的傳輸應(yīng)急救援保密信息的通道。1.2 面包師變換及其離散形式
2 信息嵌入到圖像最不重要的像素位上
3 應(yīng)用實(shí)驗(yàn)
4 結(jié)論