新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于雙混沌映射的圖像加密算法研究

基于雙混沌映射的圖像加密算法研究

作者: 時間:2011-06-20 來源:網(wǎng)絡(luò) 收藏

  2.1 置換矩陣的構(gòu)造

  首先利用一種隨機(jī)全排列生成來生成置換中所需的全排列。所謂全排列即是將M個不同元素按照一定的順序排列起來,稱為這M個不同元素的一個全排列。本置換方法分為行置換和列置換,行置換描述如下:

 ?。?)設(shè)生成的置換矩陣大小為m×n,首先要生成一個0~M-1之間的全排列元素,元素數(shù)目為M(M>n)。

  (2)初始化全排列矩陣,令{0,1,…,M-1}中所有元素的一個全排列為{a0,a1,…,aM-1},當(dāng)i≠j時,有ai≠aj.全排列初始值系數(shù)為L,令n=?WL×M」,L可以當(dāng)密鑰給出,一般L在(0.5,0.7)區(qū)間即可。若太小,則產(chǎn)生的全排列隨機(jī)性差;若太大,則數(shù)據(jù)重復(fù)多,將會增加系統(tǒng)的迭代次數(shù)。

  (3)設(shè)所用系統(tǒng)方程為xn=f(xn-1),本文用的是Logistic模型,xn即為當(dāng)前序列,每次都要進(jìn)行迭代來產(chǎn)生新的混沌序列。利用不等分區(qū)間的動態(tài)量化對混沌序列進(jìn)行進(jìn)一步處理,以增強(qiáng)其隨機(jī)性和復(fù)雜度,本文利用判決公式(3)對Logistic混沌方程式(1)產(chǎn)生的序列{xn}進(jìn)行判決,可以得到K=2n進(jìn)

  定義序列{xn}經(jīng)過判決所在的位置構(gòu)成序列為Pn={p1,p2,…,pn},其中Pi=j,即每一個xi都和一個xpi相對應(yīng),可進(jìn)行兩個位置元素交換,然后再重新判決,通過這樣的量化即可得到n個0~M-1之間的隨機(jī)數(shù)。

 ?。?)初始化一個數(shù)組A,初始為空,最大長度為m,將步驟(2)生成的元素依次添加到A中,若A中不存在生成的元素,則添加到A末尾,否則舍棄。直到A中元素為n個,然后將0~M-1間元素不在A中的依次添加到A中,形成初始化全排列A.

 ?。?)對初始化全排列A再進(jìn)行一次全變換來增強(qiáng)隨機(jī)性,方法同步驟(2),即將兩個對應(yīng)位置元素A[Pi]同A[Ppi]的交換。這里全變換的次數(shù)可以自行設(shè)定,但考慮系統(tǒng)運(yùn)行的速度,全變換輪數(shù)r不宜過大,一般不超過5輪,由密鑰給出。

  (6)反復(fù)執(zhí)行步驟(3)、(4)、(5)可得到一個m行隨機(jī)全排列,即可構(gòu)成m×n大小的行置換矩陣A′。

  (7)行置換方法可看作函數(shù)B=E(A′,T),其中B為后矩陣,即是將T[i,j]的值賦給B[i,Ppj].列置換的方法和行置換方法相同,在此不再描述。設(shè)矩陣B經(jīng)過列置換后為B′m×n.

  該生成的全排列對混沌系統(tǒng)的初值敏感,密鑰的細(xì)微差別都將產(chǎn)生不同的全排列。利用該算法可以生成任意多所需長度的隨機(jī)全排列,算法中細(xì)微部分可以靈活處理,以增強(qiáng)密鑰強(qiáng)度。

  2.2異或矩陣的構(gòu)造

  利用Henon進(jìn)行迭代產(chǎn)生隨機(jī)數(shù)構(gòu)成異或矩陣。由于Henon有一定的局限性,對常用的幾種混沌模型產(chǎn)生的序列進(jìn)行隨機(jī)性測試,得出Henon混沌的隨機(jī)性強(qiáng)度并不是十分理想。因此,本文用Henon混沌序列進(jìn)行擾動變換后產(chǎn)生相關(guān)序列及參數(shù),將輸出結(jié)果進(jìn)行整數(shù)取余進(jìn)一步量化得到異或矩陣。其中部分細(xì)節(jié)可以靈活變換修改,在此不作詳細(xì)規(guī)定。

 ?。?)反復(fù)執(zhí)行步驟(1)、(2)、(3),直到構(gòu)成大小為m×n的異或矩陣所需隨機(jī)數(shù),設(shè)得到的異或矩陣為Cm×n.

 ?。?)將異或矩陣Cm×n與所得的置換矩陣B′m×n逐一異或即可得到矩陣。

  異或矩陣的使用增強(qiáng)了整個算法的安全性。置換矩陣和異或矩陣的使用,進(jìn)一步增強(qiáng)了加密效果,使抗攻擊能力得到增強(qiáng)。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉