基于混合反饋的混沌圖像加密算法

針對現(xiàn)有基于混沌分組密碼的圖像加密算法中,擴散函數(shù)擴散速度慢、需要多輪迭代才能抵抗差分攻擊的缺點,一種新的基于密文和輸出混合反饋的混沌圖像加密算法應(yīng)運而生。該加密算法利用密文擾動混沌系統(tǒng)的初始值,既改善了數(shù)字混沌的退化,又能使擴散函數(shù)具有非??斓臄U散速度。

一、輸出和密文混合反饋混沌分組加密的設(shè)計

1、混沌加密系統(tǒng)設(shè)計

由于混沌系統(tǒng)是確定性的,混沌理論中一些工具可以用來辨別混沌系統(tǒng),一旦密碼分析者獲得了足夠的混沌軌道信息,就可能利用這些信息降低獲得密碼系統(tǒng)密鑰的復雜度。輸出和密文混合反饋混沌加密系統(tǒng)可以彌補上述缺陷,使密碼分析者不能從密文,或者明文—密文對獲得足夠的混沌軌道來攻擊加密系統(tǒng)。

基于混合反饋的混沌圖像加密算法

設(shè)圖像像素矩陣為N=m×n。圖中F1,F2都是式(2)所示的同一個混沌映射,x(0)為F1的初始值,p0為F1的參數(shù),qj為F2的參數(shù),q(j)=Lx(j)/2,x(j)為F1產(chǎn)生的混沌序列(j=1,2,…,N);p(i+1)為明文(圖像的第i+1個像素值),i=1,2,…,N-1;c(i+1)為密文(加密后圖像的第i+1個像素值),x(i+1)為混沌系統(tǒng)的輸出值。

2、加密函數(shù)和解密函數(shù)

輸出—密文混合反饋混沌分組密碼以圖像一個像素(8bit)為單位,對每一個圖像的像素進行逐位異或運算,其數(shù)學表達式如下:

加密:

c(i+1)=p(i+1)+[FK((c(i)+x(i))mod(2n0-1),qj)mod256]+c(i) _ (1)

解密:

p(i+1)=c(i+1)+c(i)+[FK((c(i)+x(i))mod(2n0-1),qj)mod256] _ (2)

3、加解密步驟

加密算法步驟如下:

步驟1:密鑰的產(chǎn)生

選擇一個192bit的序列作為密鑰,將這192bit分成6組,每組為32bit。將這6組比特流分別映射為6個整數(shù):k1,k2,…,k6。

步驟2:產(chǎn)生擾動系統(tǒng)參數(shù)的序列qj(j=1,2,…,N)

令x(0)=k1,p0=k2,其中x(0)為F1的初始值,p0為F1的參數(shù)。為了保持混沌序列qj有較好的混沌特性,取F1迭代1000次以后的N個數(shù)除以2再取整得到的數(shù)作為qj序列(q1,q2,…,qN)。

步驟3:選擇初始向量

將明文圖像像素矩陣變?yōu)?×N的矩陣p。在F1迭代產(chǎn)生的序列中任意選擇(比如選擇迭代100次)一個數(shù)作為初始向量X,將明文圖像的第一個像素p(1)與(Xmod256)進行逐位異或運算得到c(1)。

步驟4:令x(1)=k3,x(1)為F2的初始值

將x(1)、c(1)、p(i)、q(i)代入式(3),對明文圖像數(shù)據(jù)進行第一輪加密,得到第一輪加密后的圖像數(shù)據(jù)。

步驟5:令x(0)=k4,p0=k5,x(1)=k6

重復步驟1~4,對圖像數(shù)據(jù)進行第二輪加密,在第二輪加密中步驟3略有不同,為了使加密算法對明文非常敏感,第二輪迭代必須從最后一個像素開始,然后是倒數(shù)第二個像素,最后一直到第一個像素。

步驟6:將兩輪加密后的圖像數(shù)據(jù)1×N,變回到m×n的圖像數(shù)據(jù)矩陣

解密算法和加密算法相似,按式(2)進行。

二、基于混合反饋的混沌圖像加密算法安全性分析

與其他圖像加密方案相比,本加密算法具有高的安全性,能抵抗諸如已知明文攻擊、統(tǒng)計分析、差分攻擊等多種攻擊,并具有大的密鑰空間,更為重要的是,在具有高安全性的同時,該加密算法只需要兩輪迭代,加解密速度也非??臁?/p>

1、密鑰空間分析

本加密方案為192bit的加密,密鑰空間達2192≈10115。本方案采用的精度是32bit,如果采用64bit精度,密鑰空間可達。顯然,對于如此大的密鑰空間采用窮舉搜索法進行攻擊是不現(xiàn)實的。

2、密鑰敏感性測試

(1)對密鑰極其敏感,設(shè)加、解密密鑰為:[123,456,789,369,258,147],對其中任一個子密鑰,即使相差1都不能夠正確解密。

(2)密鑰有很小的改變所得到的加密圖像有很大的差異。

3、差分攻擊(明文敏感性測試)

攻擊者通常會通過改變圖像中很小的一點,比如只改變一個像素,來觀察加密后圖像的變化情況,通過這種方式,攻擊者可能破解加密圖像。

通過大量的實驗研究證明,該加密算法實現(xiàn)簡單,只需正反兩輪迭代,就能達到高的安全性和較快的加解密速度。

小知識之混沌理論

混沌理論(Chaos theory)是一種兼具質(zhì)性思考與量化分析的方法,用以探討動態(tài)系統(tǒng)中(如:人口移動、化學反應(yīng)、氣象變化、社會行為等)無法用單一的數(shù)據(jù)關(guān)系,而必須用整體、連續(xù)的數(shù)據(jù)關(guān)系才能加以解釋及預測之行為。