廣義擬fcistel結(jié)構(gòu)三角混沌分組加密算法

為了提高加密信息的安全性等要求,我們提出了一種基于廣義擬feistel結(jié)構(gòu)的三角混沌分組加密算法。該加密算法將明文分成大小相等的子塊,利用三角混沌產(chǎn)生偽隨機(jī)序列和子塊相結(jié)合對子塊進(jìn)行值替換,然后將三角混沌映射作為加密密鑰,用替換后的子塊和密鑰相結(jié)合產(chǎn)生新的加密輪函數(shù),利用廣義擬feistel結(jié)構(gòu)對替換后的子塊進(jìn)行加密,從而使混沌迭代與明文子塊信息有機(jī)的結(jié)合,輸出最終的密文。

一、三角混沌系統(tǒng)及其性能分析

混沌系統(tǒng)具有良好的密碼學(xué)特性,常見的混沌系統(tǒng)有Logistic映射、Tent映射等,常將其產(chǎn)生相應(yīng)偽隨機(jī)序列同傳統(tǒng)密碼學(xué)加密算法相結(jié)合實現(xiàn)信息加密。

1、分段Logistic混沌映射性能分析比較

由于Logistic混沌映射的控制參數(shù)取值范圍小,其混沌特性較弱,并不完全適合信息加密的需要。針對Logistic混沌映射的缺點(diǎn),我們提出了分段Logistic混沌映射:

上述映射用表1所示的初始值,X0為混沌初始條件值,Yo為變化后的初始條件值,μ為Logistic混沌映射混沌控制參數(shù),n為混沌迭代次數(shù)。

循環(huán)迭代產(chǎn)生偽隨機(jī)序列并離散二值化,然后進(jìn)行頻數(shù)檢驗,平衡度分析,初值敏感性,Lyapunoy指數(shù)等性能測試,其結(jié)果如表2所示。

通過表2所示的結(jié)果看出,分段Logistic混沌雖然混沌特性良好,但是該混沌映射與傳統(tǒng)Logistic混沌映射都具有密鑰空間小的缺點(diǎn),仍不完全適合加密需要。

2、三角混沌映射

針對Logistic混沌映射密鑰空間小的缺點(diǎn),根據(jù)Logistic混沌映射的特性的思想,現(xiàn)構(gòu)造一種新的混沌映射,即三角混沌映射,如公式(2)所示:

其中初始條件x0的取值范圍是0到l之間的正實數(shù),參數(shù)t的選取范圍是0到無窮大之間的正實數(shù)。該三角混沌映射對初始條件非常敏感,初始值的變化,將使而的值發(fā)生變化。為了檢測三角混沌序列的性能特性,選取表3所示的初始條件,其中x0為混沌初始條件值,Yo為變化后的初始條件值,n為混沌迭代次數(shù)。

對所獲得三角混沌序列離散化為二值序列并進(jìn)行頻數(shù)檢驗,平衡度分析,初值敏感性,Lyapunov指數(shù)測試,其結(jié)果如表4所示。

通過表4所示的測試結(jié)果來看,三角混沌映射的各項技術(shù)指標(biāo)完全滿足混沌序列的性能要求,但該三角映射雖具有混沌特性,但其混沌特性較弱。

3、改進(jìn)三角混沌映射

為了改善該三角映射的混沌特性,在三角映射的基礎(chǔ)上提出一種改進(jìn)三角混沌映射為:

在表3所示的初始條件下,對改進(jìn)三角混沌映射序列進(jìn)行混沌性能測試,其結(jié)果如表5所示。從表5所示的測試結(jié)果來看,該映射具有隨著初始值的改變所得不同隨機(jī)序列之間的初值敏感性指數(shù)將發(fā)生顯著變化的特點(diǎn)。

從表2,表4,表5所示的測試結(jié)果來看,改進(jìn)三角混沌映射的性能指標(biāo)總體優(yōu)于分段Log18tic映射和三角映射,因此,將其應(yīng)用于信息加密時,能表現(xiàn)出良好的安全特性,能適應(yīng)不同場合的信息加密需要。

二、灰度擴(kuò)散像素替換

現(xiàn)將三角混沌和灰度擴(kuò)散機(jī)制相結(jié)合,對圖像像素值進(jìn)行替換,將大小為(mxn)的圖像L分成4個子塊矩陣A,B,C,D然后按照順時針方向循環(huán)進(jìn)行像素矩陣替換,如圖1所示。

替換步驟如下:

第一步:將圖像L分成四個子塊A,B,C,D,按A一>B一>C->D順時針方向?qū)Ω髯訅K矩陣像素值進(jìn)行灰度矩陣像素替換。

第二步:對各子塊按式(4)所示進(jìn)行像素值矩陣替換,其中N=256,I為四個子塊矩陣,K為混沌映射迭代n次后產(chǎn)生的混沌矩陣,Io為順時針方向的下一次待替換像素子塊矩陣。

上述變換的逆變換為:

第三步:依次對四個子塊矩陣進(jìn)行像素值的替換,然后對4個子塊進(jìn)行組合,得到像素替換后的圖像L’,即一輪替換結(jié)束。

三、基于混沌映射的分組加密應(yīng)用

feistel結(jié)構(gòu)加密算法、將輸入長度為2w的明文和密鑰K相結(jié)合,將明文分組分成左右兩個子塊L和R,與輪函數(shù)進(jìn)行邏輯運(yùn)算,然后進(jìn)行n輪迭代,迭代完成后,再將左右兩半合并到一起以產(chǎn)生密文分組。而本文提出的擬feistel結(jié)構(gòu)本質(zhì)是經(jīng)典類標(biāo)準(zhǔn)混沌映射函數(shù):

的推廣,因其具有feistel結(jié)構(gòu)相同的性質(zhì),因此,本文將該分組加密結(jié)構(gòu)稱為擬feistel結(jié)構(gòu)。

本文提出一種基于廣義的改進(jìn)擬feistel結(jié)構(gòu)的分組圖像加密結(jié)構(gòu)。將混沌迭代產(chǎn)生的偽隨機(jī)序列作為加密密鑰,將用灰度擴(kuò)散像素機(jī)制替換后的4個子塊像素矩陣與混沌密鑰相結(jié)合構(gòu)造新的加密輪函數(shù),通過迭代對圖像進(jìn)行加密。

1、加密過程

設(shè)像素替換后的圖像L’的大小為(mxn),m和n為任意正整數(shù)。對該圖像按順時針方向分成4個子塊,即左上角A為礎(chǔ),右上角B為X1i,右下角為C為x2i,左下角D為x3i,算法的具體加密過程為:

第一步:把像素替換后的圖像L’分成4個子塊矩陣(x0i,X1i,x2i,x3i)。

第二步:按照上述的混沌映射迭代變換(mxn)14次,產(chǎn)生加密密鑰矩陣K,其大小為(mj2)×(n/2)。用加密密鑰矩陣足的矩陣和子塊矩陣x0i和X2i進(jìn)行矩陣乘法運(yùn)算并取模(式(6),式(7),N=256)。從而構(gòu)造出輪函數(shù)F01+i,F(xiàn)21+i。

其中(X0i)T(X2i)T表示矩陣轉(zhuǎn)置運(yùn)算,輪函數(shù)矩陣露1和F’的大小均為(m/2)x(n/2),宰是指傳統(tǒng)矩陣乘法運(yùn)算。

第三步:用產(chǎn)生的輪函數(shù)F01+i矩陣和Xli子塊矩陣進(jìn)行邏輯異或并取模(式(8)N=256),并替換X0i子塊矩陣。用X2i替換X1i+1(式(9)),用產(chǎn)生的輪函數(shù)F01+i和X3i子塊矩陣進(jìn)行邏輯異或并取模(式(1o)N=256),并替換X2i字塊。用X0i替換X3i+1:

第四步:將加密后的四個子塊矩陣組合得到密文圖像,一輪加密運(yùn)算結(jié)束,具體的迭代加密網(wǎng)絡(luò)如圖2所示:

2、解密過程

由于廣義擬feistel結(jié)構(gòu)具有相同的加密和解密結(jié)構(gòu),只需按主密鑰相反的方向做迭代運(yùn)算就可以正確解密。

四、廣義擬fcistel結(jié)構(gòu)三角混沌分組加密算法實驗及結(jié)果分析

在實驗中,對明文為256×256攝影師灰度圖像和256×256 Lena灰度圖像,采用上述三種混沌映射按照灰度擴(kuò)散像素替換方法和廣義擬feistel結(jié)構(gòu)分組加密算法對攝影師圖像和Lena圖像進(jìn)行加密,所得加密結(jié)果及直方圖如圖3所示。三種混沌映射迭代次數(shù)都為32768,t=103,β=35,xo=0.2,μ=4,分組循環(huán)迭代16輪。

1、統(tǒng)計分析

分別利用分段Logistic混沌和上述分組加密算法相結(jié)合,以及三角混沌和上述分組加密算法相結(jié)合,改進(jìn)三角混沌和上述分組加密算法相結(jié)合分別對攝影師圖像和Lena圖像進(jìn)行加密,加密結(jié)果的灰度統(tǒng)計分析均相同,其加密結(jié)果及其直方圖如圖3所示。

加密后的圖像無法直接獲取原圖像信息,以及其灰度直方圖呈均勻分布,能夠抵抗統(tǒng)計攻擊。

2、像素相關(guān)性

分析加密后的密文圖像相鄰像素,通過使用上述三種方法產(chǎn)生的偽隨機(jī)序列對圖像像素替換并利用廣義擬feistel結(jié)構(gòu)進(jìn)行分組加密,對一幅加密后的圖像,隨機(jī)對明文和密文圖像分別抽取像素,測得像素相關(guān)性(rv)在水平、垂直、對角線方向的相關(guān)性的值。針對三種不同的混沌和廣義擬feistel結(jié)構(gòu)分組加密算法相結(jié)合對Lena圖像進(jìn)行加密所得結(jié)果,采用相關(guān)性統(tǒng)計分析的結(jié)果如表6所示(其中密文l是采用分段Logistic混沌和廣義擬fei8tel結(jié)構(gòu)分組加密算法相結(jié)合所獲結(jié)果,密文2是采用三角混沌和廣義擬feistel結(jié)構(gòu)分組加密算法相結(jié)合所獲結(jié)果,密文3是采用改進(jìn)三角混沌和廣義擬feistel結(jié)構(gòu)分組加密算法相結(jié)合所獲結(jié)果)。

從表6所得結(jié)果來看:改進(jìn)三角混沌和分組加密算法相結(jié)合能獲得相對于分段Logistic混沌和分組加密算法相結(jié)合以及三角混沌和分組加密算法相結(jié)合更好的像素不相關(guān)性。

由于這種統(tǒng)計相關(guān)性指標(biāo)無法真實刻畫圖像像素空間分布的均勻性程度,下面將引入描述圖像空間分布特征的共生矩陣特征,以便客觀地評價像素空間分布情況。

3、空間相鄰像素的隨機(jī)性分析

共生矩陣是一種通過計算圖像中特定方向和特定距離的兩像素灰度級出現(xiàn)次數(shù)的統(tǒng)計量,常用來研究圖像的紋理特性。本文利用共生矩陣所對應(yīng)的熵(BNT),相關(guān)性(COR),能量(ASM),對比度(CON)等指標(biāo)來研究圖像相鄰像素空間分布均勻性特性。

熵用于度量圖像中相鄰像素對的隨機(jī)特性,其值越大表示隨機(jī)性好。

相關(guān)性用于度量圖像中相鄰像素對在給定方向上的相似程度,其值越小表明相關(guān)性就越好。

角二階矩(即能量)是刻畫圖像紋理粗細(xì)程度和均勻程度的度,其值越小表明圖像紋理較細(xì)。

對比度是用來刻畫圖像紋理深淺和清晰程度的度,其值越大則表明紋理較深。

(1)分段Logistic混沌映射

采用分段Logistic混沌映射和分組加密算法相結(jié)合對Lena圖像進(jìn)行加密,其紋理特征指標(biāo)計算結(jié)果如表7所示。

通過表7所示的實驗結(jié)果來看,分段Logistic混沌映射和分組加密方法相結(jié)合的加密圖像所得共生矩陣呈均勻分布特性(因不同方向共生矩陣的熵值與最大熵值11.0904相差較小等)。表明加密圖像相鄰像素空間分布具有良好的隨機(jī)特性。

(2)三角混沌映射

采用三角混沌映射和分組加密算法相結(jié)合對Lena圖像進(jìn)行加密,其紋理特征指標(biāo)計算結(jié)果如表8所示。

通過表8所示的實驗結(jié)果來看,三角混沌映射和分組加密方法相結(jié)合的加密圖像所得共生矩陣呈均勻分布特性(因不同方向共生矩陣的熵值與最大熵值11.0904相差較小等),表明加密圖像相鄰像素空間分布具有良好的隨機(jī)特性。

(3)改進(jìn)三角混沌映射

采用改進(jìn)三角混沌映射和分組加密算法相結(jié)合對Lena圖像進(jìn)行加密,其紋理特征指標(biāo)計算結(jié)果如表9所示。

通過表9所示的實驗結(jié)果來看,改進(jìn)三角混沌映射和分組加密方法相結(jié)合的加密圖像所得共生矩陣呈均勻分布特性(因不同方向共生矩陣的熵值與最大熵值11.0904相差較小等)。表明加密圖像相鄰像素空間分布具有良好的隨機(jī)特性。

另外,通過對比表7、表8、表9中熵,角二階矩,對比度特征參數(shù)可看到,改進(jìn)三角混沌和分組加密算法相結(jié)合能保證相鄰像素的熵和對比度特征參數(shù)的平均值達(dá)到最大,角二階矩的特征參數(shù)的平均值達(dá)到最低(其它兩個特征參數(shù)的平均值相差較小),這進(jìn)一步表明了所提出的改進(jìn)三角混沌和廣義擬feistel結(jié)構(gòu)分組加密算法相結(jié)合具有較好的加密特性。

4、差分分析

針對Lena圖像采用上述三種混沌映射和廣義擬feistel結(jié)構(gòu)分組加密算法相結(jié)合,以及相同的初始條件進(jìn)行加密后的密文圖像,采用像素變化率NPCR來度量這種變化。對于一幅原始明文圖像,其加密圖像為C1,若對其修改一個像素點(diǎn)的灰度值進(jìn)行加密,結(jié)果為C2,比較灰度值矩陣C4和C2所有點(diǎn)的值。如果cl(iD=c2(i'力,則DI(i, j)=1,否則為0,定義:

采用像素變化率NPCR來度量,結(jié)果如表10所示。

通過表10所示的實驗結(jié)果來看,改進(jìn)三角混沌和分組加密算法相結(jié)合相對于分段Logistic混沌和分組加密算法相結(jié)合以及三角混沌和分組加密算法相結(jié)合的NPCR較高。表明這種廣義擬feistel結(jié)
構(gòu)分組加密算法具有相對較高的抗差分攻擊能力。

小知識之Feistel 密碼結(jié)構(gòu)在密碼學(xué)研究中,F(xiàn)eistel 密碼結(jié)構(gòu)是用于分組密碼中的一種對稱結(jié)構(gòu)。以它的發(fā)明者 Horst Feistel 為名,而Horst Feistel 本人是一位物理學(xué)家兼密碼學(xué)家,在他為 IBM 工作的時候,為Feistel 密碼結(jié)構(gòu)的研究奠定了基礎(chǔ)。