圖像文件加密方法之混沌偽隨機序列發(fā)生器

基于兩個混沌系統(tǒng)實現(xiàn)對潛在攻擊提高安全性以及更好的整體性能的可能性。我們提出了一種基于兩個混沌系統(tǒng)的新型偽隨機序列發(fā)生器,用此序列對圖像文件進行加密和解密具有非常不錯的效果。

一、基于雙混沌系統(tǒng)的偽隨機數(shù)發(fā)生器

1、參數(shù)隨機變換的一維線性映射

具有良好隨機統(tǒng)計特性的一維分段線性混沌映射,其定義為:

圖像文件加密方法之混沌偽隨機序列發(fā)生器

其中,X∈1=[0,1)p∈(0.1/2)。

F是一個在n-bit有限精度下實現(xiàn)的逐段線性混沌映射。

我們定義在n-bit精度下,迭代次數(shù)為k的一維線性映射的表達式為:

圖像文件加密方法之混沌偽隨機序列發(fā)生器

該映射產(chǎn)生的混沌序列足混沌的,其輸出信號{X(t)}在[0,1]上遍歷,且具良好的自相關(guān)特性和均勻分布特性。

實值混沌隨機序列經(jīng)過計算機運算后都會變成偽隨即序列甚至足周期序列。由于有限精度效應(yīng),直接通過迭代生成的序列有如下缺點:固定的混沌參數(shù)p易被破解,在有限精度實現(xiàn)下,易陷入周期循環(huán)。而且周期不能保證足夠大。

為了解決這些問題,本文設(shè)計了一個混沌參數(shù)隨機變換的混池系統(tǒng)如圖1所示。

圖像文件加密方法之混沌偽隨機序列發(fā)生器

Ep是2n個一維線性混沌映射,表示為Ep(1)-Ep(2n)。所有2n個Ep都是基于同一個定義在[0,1]上的一維混沌映射Fe(xe,pe)。只是控制參數(shù)pe(1)-pe(2n)和初始條件不同。所有的Ep都足在n=16bit精度F實現(xiàn)的。

Cp是一個單獨的一維線性混沌映射,用來控制2n個Ep的初始化和迭代過程。它也是定義在[O,l]上的一雉混沌映射Fc(xc,pc)。它的參數(shù)與初始值與Fe不同。它的初始值是系統(tǒng)隨機生成一個偽隨機序列s(i)。利用它作為Cp的初始條件根據(jù)式(2)生成隨機序列x(i);可知[x(i)]的取值空間為216。

以x(i)作為Ep的初始條件,系統(tǒng)中參數(shù)根據(jù)x的量化值在p的可能取值p1,p2,…,pn中選取p,則p的選取次序為I=Lx(j)x2161,從p(1)∈lp[216)}中得到,其中[*]為取整。

在生成密鑰的過程中,每次的p都不同且p的選取取決于s(i)。s(i)是隨機選取的。所以p是隨機變換的。這種系統(tǒng)可視為由n個具有不同參數(shù)的一維分段線性混沌級連而成。

2、基于雙混沌系統(tǒng)的效字化實現(xiàn)

根據(jù)式(2)產(chǎn)生的模擬序列圖像文件加密方法之混沌偽隨機序列發(fā)生器用量化函數(shù)進行傲化得到0-1二進制序列圖像文件加密方法之混沌偽隨機序列發(fā)生器

圖像文件加密方法之混沌偽隨機序列發(fā)生器

其中n>0為任意正整數(shù),I0n,I1n,I2n,…是區(qū)間[0,1]的2n個連續(xù)的等分區(qū)間。由于混沌序列{x(t)}具有良好的隨機統(tǒng)計特性,這樣生成的{Sn(t)}在理論上具有均衡的0.1比和σ-1ike的自相關(guān)等優(yōu)良的統(tǒng)計特性。

定義兩個一維線性映射F1,F(xiàn)2用參數(shù)切換法進行控制。當(dāng)它們都滿足式(1)定義的混沌映射,設(shè)計如圖2的加密系統(tǒng)。

圖像文件加密方法之混沌偽隨機序列發(fā)生器

F1, F2為圖1所示的參數(shù)隨機變換的一維混沌映射。{s1(i)},{s2(i)}均為n=16bit的偽隨機序列。為于擾混沌的動力學(xué)特性,將混沌軌道量化后義進行異或運算。

其中:圖像文件加密方法之混沌偽隨機序列發(fā)生器

3、量化混沌序列的密碼學(xué)特性

(1)統(tǒng)計特性

首先對系統(tǒng)產(chǎn)生的二進制序列進行分析。

(2)偽隨機比特的最小周期

取精度n=16,則兩個混沌系統(tǒng)生成的序列{x1(i)}和{x2(i)}的最小周期為22n=232.同樣二進制序列{S1(i)}和{S2(i)}的取值空間為22n。由異或特性,22n個序列值異或遍歷的序列空問為(22n)(22“)=24n=264,則二進制序列的最小周期長度為204,即混沌序列的最小周期Tmi。=3.4* 1039,這對一般的加密系統(tǒng)已經(jīng)足夠了。而且,可以通過提高精度n=32,這樣可以達到2128。這就很安全了。

(3)高線性復(fù)雜性和理想的相關(guān)特性

此密鑰序列為均勻分布序列,二值密鑰流序列為獨立同分布。序列具有σ-likc的自相關(guān)函數(shù)和近乎為o的互相關(guān)。二進制序列的線性復(fù)雜度大約為其長度的一半,即k(i)的線性復(fù)雜度為2n-1。

二、基于位運算的加密算法思想

在數(shù)字圖像的文件中存儲的主要是圖像的顏色和灰發(fā)信息。例如常用的BMP格式圖像文件由衷頭、調(diào)色板和圖像數(shù)據(jù)3部分組成。表頭長度固定為54個字節(jié),其中保留了有關(guān)圖像的參數(shù)信息,如使用的顏色、圖像尺寸、文件大小、壓縮標(biāo)志等。加密就是對一幅圖像的數(shù)據(jù)逐位進行特定的位運算,改變原有圖像的數(shù)據(jù)信息。這樣處理后的圖像掩蓋了原來的罔像信息,達到加密的目的。我們采用了基于流密鑰位運算的圖像加密算法。

由圖2所示,加密系統(tǒng)生成一個隨機性好、長周期的密鑰序列。采用流密鑰加密常用的異或運算對圖像數(shù)據(jù)文件進行加密。生成的密鑰長度和圖像數(shù)據(jù)位數(shù)相同,逐個進行輔助數(shù)據(jù)與圖像數(shù)據(jù)的異或操作,得到加密圖像。解密時,只有得剄正確的密鑰序列,才可以對加密的圖像數(shù)據(jù)進行異或運算恢復(fù)出原始的圖像。本文的實驗中用的是8位的BMP圖像,其文件中圖像腳1個字節(jié)的數(shù)據(jù)表示一個像素的顏色信息,因此生成的密鑰序列是圖像像素數(shù)的8倍。

三、實驗結(jié)果

利用本文提出的加密算法時多幅數(shù)字圖像文件進行了加密和解密實驗。系統(tǒng)參數(shù)和混沌序列的精度均為n=16bit,結(jié)果如圖3所示。

圖像文件加密方法之混沌偽隨機序列發(fā)生器

圖3(a)是一幅600×415的8位灰度圖像加密前原圖和灰度直方圖,可見其灰度分布與它的圖像特征相符合。圖3(b)是加密后的圖像和灰度直方圖,加密后的圖像灰度分布均勻,隱藏了原圖像的特征。圖3(c)是正確密鑰和密鑰切值變化變化0.000 015(1/2n)生成的二值序列解密的圖像??梢姡e誤解密的圖像無法辨認(rèn)出任何有用信息。

小知識之偽隨機序列

偽隨機序列是具有某種隨機特性的確定的序列。它們是由移位寄存器產(chǎn)生確定序列,然而他們卻具有某種隨機序列的隨機特性。