混沌加密信息隱藏技術中基于直方圖和HVS特性的應用

根據(jù)HVS(人眼視覺系統(tǒng))視覺特性,人眼對低灰度區(qū)和高灰度區(qū)的敏感度較差,對中灰度區(qū)的敏感度較好的特點,我們利用圖像直方圖中低灰度值區(qū)和高灰度值區(qū)的多個概率最大點來隱藏信息;并首先利用混沌系統(tǒng)Logistic映射產(chǎn)生的位序列對待隱藏信息進行加密以增加秘密信息的安全性。

一、Logistic映射混沌系統(tǒng)

混沌是指在確定性系統(tǒng)中出現(xiàn)的一種看似無規(guī)則的類隨機現(xiàn)象,這種過程既非周期又不收斂,并且對初始值具有極其敏感的依賴性。Logistic映射是目前運用較多的一個混沌系統(tǒng),公式為:

上式中μ∈[1,4],xn∈(0.1)。而當3. 569945<μ≤4時,Logistic映射才處于混沌狀態(tài)。

利用Logistic映射可以生成如下序列:

(1)二值序列:

(2)實數(shù)值序列:

(3)位序列:將實數(shù)值xn表示成浮點數(shù)形式,生成L位的二進制數(shù):

Logistic映射具有以下優(yōu)點:混沌序列的產(chǎn)生簡單,運算復雜度低、速度快,并且具有自相關強、互相關弱的特性,對初始條件極其敏感,差別甚小的初始值經(jīng)過迭代得到的混沌序列都不相同,因此經(jīng)過混沌加密的信息的安全性很高。本文利用Logistic映射產(chǎn)生的L位的位序列與秘密信息的ASCII碼組合而成的L位的二進制數(shù)組進行異或得到另一組序列,并將其隱藏在載體圖像中。

二、HVS的特性

圖像作為一種傳輸視覺信息的媒介,是通過人眼接收信息的。因此對于圖像的變換、壓縮,噪聲等對圖像的影響,除了可以從一些硬性的指標比如峰值信噪比來判斷之外,還可以從它們對人眼的影響來判斷,即要與人的視覺系統(tǒng)聯(lián)系起來加以研究。因此有必要了解人類視覺系統(tǒng)(HVS.Human Vi-sion System)的構成和特性。

根據(jù)對HVS的研究可知它具有以下特性:

①人眼對彩色的敏感度低于亮度;

②對高灰度和低灰度的敏感度低于中等灰度;

③對紋理區(qū)域噪聲的敏感度低于圖像平滑區(qū);

④對高頻信息的敏感度低于低頻信息;

⑤對不同方向上的敏感程度也不同,對傾斜方向的變化不太敏感;

⑥在不同背景亮度和不同邊緣變化程度的情況下,人眼對圖像變化的敏感度也不相同。

本文主要利用了HVS特性的第二點,人眼對于不同灰度具有不同敏感性,對高灰度和低灰度不太敏感,而對中等灰度最為敏感。如圖1所示,敏感度與灰度值的關系呈現(xiàn)為二次曲線,在灰度值I1=85以下(即低灰度區(qū)域),隨著灰度值的增加,敏感度以二次函數(shù)形式非線性增加;而在灰度值I2=170以上(即高灰度區(qū)域),隨著灰度值的增加,敏感度以二次函數(shù)形式非線性減?。辉贗1到I2之間,敏感度保持一個常數(shù)不變。

將圖像分成許多小塊,每塊的灰度均值為a。該塊中不同亮度的點對噪聲的掩蓋因子為ω(i,j):

其中:

其中,M*N是分塊的大小。

由ω曲線可知,人眼對圖像的低灰度部分和高灰度部分的變化較不敏感。對于信息隱藏來說,出于不可察覺性的考慮,秘密信息應該加在圖像的低灰度和高灰度部分上。

三、直方圖信息隱藏算法

根據(jù)人眼HVS對圖像的低灰度部分和高灰度部分的變化不敏感的特性,把秘密信息加在圖像的低灰度和高灰度部分上,人眼就察覺不出隱藏的秘密信息。圖像的低灰度和高灰度由圖像的直方圖確定,我們采用直方圖修改的方法進行信息隱藏。

1、直方圖修改的信息隱藏算法步驟

(1)生成圖像的直方圖h(g):

這里,n(g)是圖像中灰度值為g的像素點的個數(shù),I,J是圖像的行數(shù)和列數(shù),例如Lina圖像和直方圖如圖3、圖4所示。

(2)確定直方圖的概率最大點Gm和零點Gn。

在直方圖中選擇灰度級90和170作為分界點,在小于90的低灰度區(qū)搜索概率最大的灰度級Gm。在大于170的高灰度區(qū)搜索概率為零的灰度級Gn。如果沒有零點,就搜索最小概率灰度級。

(3)信息隱藏

順序掃描圖像I(i,j),如果像素的灰度值I(i,j)=Gm,而且待隱藏信息的數(shù)據(jù)data=1,則該灰度值加1,否則不變;如果Gm<I(i,j)<G,則該灰度值加1:

信息隱藏的結果,圖像的直方圖發(fā)生了修改。

2、提取隱藏信息和恢復圖像的算法步驟

(1)提取隱藏信息

順序掃描圖像I(i,j),如果像素值I(i,j)=G,則提取一個隱藏數(shù)據(jù)data=0;如果I(i,j)= Gn+1,則提取一個隱藏數(shù)據(jù)data=1:

(2)恢復原始圖像

在提取隱藏信息的同時,如果像素值I(i,j)=Gn+1,則恢復圖像原始灰度值I(i,j)=I(i,j)-l,如果G+1<I(i,j)<Gn+1,則恢復圖像的原始灰度值I(i,j)=I(i,j)-1。

順序掃描圖像,將像素值位于148和240的點的像素值都減1,圖像就得到了完全恢復。

當圖像掃描完畢,就完成了秘密信息的提取和原始圖像的恢復。

該算法利用了直方圖低灰度部分的一個最大概率點進行信息隱藏,隱藏的比特位數(shù)等于最大點灰度級的個數(shù)L=h(Gm) xIxJ。因此,該算法的信息隱藏量很小。為了增加信息隱藏量,提出了利用最大點和最小點隱藏更多比特的算法,這個算法是在一個概率最大點G,上隱藏71個比特位,把該點后的灰度級g向高灰度級移動d位,即:

該算法的信息隱藏容量L=h(Gm)*J*J*n,與之前的算法相比大大增加了信息隱藏的容量。但是,該算法并沒有考慮到圖像隱藏秘密信息后的質(zhì)量。而從HVS的特性中可知,人限對圖像的中等灰度部分更加敏感,對圖像的低灰度部分和高灰度部分的變化較不敏感。為此,我們提出將秘密信息經(jīng)過混沌加密后,再隱藏到圖像的高灰度和低灰度中多個概率最大點上,這樣不僅大大增加了信息隱藏容量,還增加了秘密信息的隱秘性。

四、改進的多位混沌加密信息隱藏算法

1、隱藏信息的混沌序列加密

設秘密信息是一個字符串C(i)。將C(i)的ASCII碼組合為二迸制碼CL(j)。設碼長為L位。

由Logistic映射產(chǎn)生一個L位的序列K(j),采用如下方法對信息進行加密:

其中①是異或運算,M(j)即為待隱藏信息,將經(jīng)過混沌序列加密后的信息再隱藏到圖像中,可以增加秘密信息被破譯的難度。

2、嵌入秘密信息

(1)確定隱藏信息的灰度級

根據(jù)直方圖,在低灰度值區(qū)尋找多個概率最大點和最小點對Gmls,Gnls(s=1,2,3,…),同樣在高灰度區(qū)也尋找多個概率最大點和最小點對Gmht,Gnht(t=1,2,3,…)。Gnls<Gmls,Gmls<Gmht,Gmht<Gnht。信息隱藏在這些概率最大點的灰度級上,且該灰度級上隱藏多個比特,則在每個最大點上隱藏的比特位為:

其中以是每個灰度級隱藏的比特數(shù)。

(2)圖像修改

順序掃描圖像,若像素的灰度值I(i,j)滿足Gnls<I(i,j)< Gmls,則灰度值修改為:

其中s為低灰度值區(qū)概率最大點和最小點的對數(shù)。

若Gmht<I(i,j)<Gnht,則灰度值修改為:

其中t為高灰度值區(qū)概率最大點和最小點的對數(shù)。在此需要注意的是對于低灰度區(qū)的Gmls,Gnls必須要大于(24一1)*s(否則相減時即會出現(xiàn)負值,超出了圖像灰度值的范圍),而且Gmls-1- Gnls也要不小于2n-1(否則空出的零點數(shù)就會小于2n-1個);對于Gmht也有相應的要求,Gnht必須要小于255-(2n-1) *t,而且Gnht( Gnht+1)也要不小于2n-1。整理后即:

(3)隱藏信息

順序掃描圖像的所有像素點,若I(i,j)=Gmls-(2n-1)*(s-1).則從M(j)序列中順次取出nl個比特位,在Gmls上減去由n個比特位所組成的十進制數(shù)值D;若I(i,j)=Gmht十(2n-1)*(t-l),則在Gmht上加上由n個比特位所組成的十進制數(shù)值D:

例如,圖4中低灰度值區(qū)最大點Gml1為70和Gml2為47,假設n=3。且此時待隱藏信息的三個比特位是110,則若掃描到像素點的灰度值為70,就在70上減去6,若掃描到像素點的灰度值是40,就在40上減去6。

反復進行步驟(3)的操作過程,直到所有的信息隱藏完畢。

3、提取隱藏信息和原始圖像的恢復

隱藏信息的提取即為隱藏的逆過程,從基本算法的提取過程可以看出,該算法可以實現(xiàn)秘密信息的完全提取,并且提取信息后,可以完整無損地恢復圖像。將提取的信息再與混沌序列相異或即可得到原秘密信息。

五、實驗結果對比

將上文描述的方法用于一些圖像中,然后將其結果與原方法的結果進行對比,結果如下。

對于256*256的lena圖像,當每個最大點隱藏2位信息的時候改進前后兩幅圖像差別不大;而當每個最大點隱藏三位的時候,改進后的圖像質(zhì)量明顯高于原方法;當隱藏四位時,差別更加明顯。顯然,用原方法在一個最大點上最多只能隱藏兩位數(shù)據(jù)時隱藏信息的不可見性才比較好,而此時信息的隱藏容量就只有1362個比特位,改進后可以隱藏3位,若在高低灰度區(qū)域各尋找兩個概率最大點,此時信息的容量達到4845個比特位,信息的隱藏容量大大增加,隱藏效果如圖5中a1到a4所示。

對于512*512的woman圖像,同樣給出幾組對比圖像,當隱藏三位的時候,使用原方法產(chǎn)生的圖中在左手肘,左臉以及右手臂處顏色明顯加深;當隱藏四位的時候,使用原方法的圖中,在之前顏色改變的地方變得更深;而改進后的圖像質(zhì)量高于原方法.所以,要保證秘密信息的不可見性,原方法最多只能隱藏4802個比特位,而改進后若在高低灰度各尋找兩個概率最大點,即可以隱藏17154個比特位,隱藏容量大大的增加,如圖5中b1到b5所示。

下面給出兩幅圖像經(jīng)過信息隱藏后與原圖比較得到的PSNR(峰值信噪比),如表一所示。PSNR,即峰值信噪比,英文全稱是Peak Signal toNoise Ratio,一種客觀的評價圖像的標準,PSNR一般是用來衡量經(jīng)過處理后的圖像或者是其他影像的品質(zhì),它是原圖像與處理圖像之間均方誤差相對于信號最大值平方的對數(shù)值,單位是dB。公式如下:

其中I為原始圖像,而K為經(jīng)過處理后的圖像;I(i,j)表示原圖像某點的像素值,K(i,j)表示經(jīng)處理后圖像相對應某點的像素值*MAXl即為圖像的像素點的最大值255。

小知識之直方圖

直方圖(Histogram)又稱質(zhì)量分布圖。是一種統(tǒng)計報告圖,由一系列高度不等的縱向條紋或線段表示數(shù)據(jù)分布的情況。 一般用橫軸表示數(shù)據(jù)類型,縱軸表示分布情況。