基于混沌和Walsh變換的二值圖像加密算法

隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,圖像數(shù)據(jù)傳輸業(yè)務(wù)越來(lái)越頻繁,大批的重要資料已掃描成數(shù)字化文檔以二值圖像的方式存儲(chǔ)傳輸。給我們帶來(lái)方便的同時(shí)也帶來(lái)了很多安全隱患,傳統(tǒng)的加密技術(shù)只是將其作為普通的數(shù)據(jù)流進(jìn)行加密,而未考慮圖像數(shù)據(jù)的特點(diǎn),因此具有一定的局限性,所以圖像加密技術(shù)的應(yīng)用急需加強(qiáng)發(fā)展。

那么接下來(lái)我們就介紹一種采用混合光學(xué)模型生成混沌隨機(jī)序列加密圖像的方法,對(duì)加密后的圖像用Walsh變換再置亂的方法來(lái)達(dá)到更高的加密強(qiáng)度。

一、混沌加密 

近年來(lái)混沌加密技術(shù)發(fā)展十分迅速,這是由于混沌序列具有周期無(wú)限長(zhǎng)、頻譜寬等類似白噪聲的特性,是理想的密碼序列。這些使得混沌能很好地運(yùn)用于圖像加密。

本文采用混合光學(xué)雙穩(wěn)模型產(chǎn)生混沌隨機(jī)序列,下面是混合光學(xué)雙穩(wěn)模型的迭代方程:

基于混沌和Walsh變換的二值圖像加密算法

A和Xb是方程的系數(shù),隨著參數(shù)A和Xb的變化,系統(tǒng)將從同定點(diǎn)失穩(wěn),經(jīng)倍周期分岔進(jìn)入混沌,這里取A=4,Xb=2.5,此時(shí)方程處于混沌狀態(tài)。

二、Walsh變換 

圖像置亂是利用某種算法將一幅圖像各像素的次序打亂,之所以采用離散二維Walsh變換,因?yàn)榕c傅立葉變換相比,Walsh變換減少了存儲(chǔ)空間并提高了運(yùn)算速度,這對(duì)圖像以及對(duì)其他大數(shù)據(jù)量進(jìn)行實(shí)時(shí)處理是非常重要的。二維Walsh變換的定義如下:

基于混沌和Walsh變換的二值圖像加密算法

二維Walsh逆變換的定義為:

基于混沌和Walsh變換的二值圖像加密算法

若取N1=N2=N,則二維Walsh變換的矩陣表達(dá)式為:

基于混沌和Walsh變換的二值圖像加密算法

Walsh逆變換的表示式為:

基于混沌和Walsh變換的二值圖像加密算法

本文運(yùn)用Walsh變換,先對(duì)列進(jìn)行置亂,再對(duì)行進(jìn)行置亂。具體實(shí)現(xiàn)用哈達(dá)瑪變換。哈達(dá)瑪變換本質(zhì)是一種特殊排序的Walsh變換,它的最大優(yōu)點(diǎn)是它的變換核矩陣具有簡(jiǎn)單的遞推關(guān)系。采用快速算法可使運(yùn)算速度大大提高。

三、圖像加密

基于混沌和Walsh變換的二值圖像加密算法

步驟1

設(shè)待加密的圖像大小為N×N,首先根據(jù)輸入的混沌參數(shù)利用混沌光學(xué)模型開(kāi)始迭代產(chǎn)生混沌隨機(jī)序列,序列長(zhǎng)度為1000+N×N,將前1000個(gè)混沌數(shù)丟掉,得到大小為N×N的混沌序列。

步驟2

將生成的混沌序列N×N進(jìn)行二值化處理,當(dāng)Xn≥θ(θ是閾值),Yn為1,其它情況Yn為0。將二值化混沌序列與待加密的圖像進(jìn)行按位異或,生成置換加密后的一級(jí)加密圖像。

步驟3

對(duì)一級(jí)加密圖像先對(duì)列進(jìn)行離散Walsh變換,再對(duì)行進(jìn)行離散Walsh變換,得到二級(jí)加密像。

四、仿真結(jié)果及分析

本文的加密算法部是在Matlab7.0編程環(huán)境下實(shí)現(xiàn)的。

1、一級(jí)加密分析 

采用256×256的圖像進(jìn)行。這里選取混沌映射初值X0=0.6,A=4,Xb=2.5,二值化閥值θ取不同值,對(duì)加密效果有影響。經(jīng)過(guò)實(shí)驗(yàn)驗(yàn)證θ取值在θ=(2.7,3.8)的時(shí)候,生成的混沌加密圖像效果較其他取值區(qū)間好。下面的兩個(gè)圖是不同圖像內(nèi)容的仿真結(jié)果。當(dāng)圖像內(nèi)容是文字時(shí),如上圖所示;當(dāng)圖像內(nèi)容是圖像時(shí),如下圖所示。

基于混沌和Walsh變換的二值圖像加密算法

基于混沌和Walsh變換的二值圖像加密算法

可以看出,圖像內(nèi)容是圖像時(shí),θ取值范圍比是文字時(shí)取值范圍要小些,因此在進(jìn)行混沌加密時(shí),θ取值在θ∈(2.7,3.8)時(shí),不管圖像內(nèi)容是文字還是圖像都可得到較好的滿足。

2、二級(jí)加密及解密分析 

在一級(jí)加密圖的基礎(chǔ)上再進(jìn)行Walsh變換進(jìn)行置亂,采用8-256Walsh序列。下圖(b)是下圖(a)加密 的圖像。(c)是解密與加密初值相同時(shí),解密得到的圖像。(d)是取混沌映射初值:X0=0.6,A=4,Xb=2.5,θ=3.2,8-256Walsh序列時(shí),解密得到的圖像可以看出,初值中只有一個(gè)發(fā)生很小變化,也無(wú)法解密出正確的明文。攻擊者在不知混沌模型和Walsh變換的初始數(shù)據(jù)和參數(shù)時(shí),很難猜測(cè)或者重構(gòu)密鑰進(jìn)行解密,比傳統(tǒng)的混沌序列有更高的加密強(qiáng)度。

基于混沌和Walsh變換的二值圖像加密算法

本文將混合光學(xué)模型與Walsh變換運(yùn)用于圖像文件加密,比傳統(tǒng)的混沌序列有更高的加密強(qiáng)度,密鑰空間大,不易被破解;其次運(yùn)用Walsh變換可以很大程度地節(jié)約計(jì)算時(shí)間,減小計(jì)算的復(fù)雜度。

小知識(shí)之Walsh

即在同步傳輸情況下,得用Walsh碼作為地址碼具有良好的自相關(guān)特性和處處為零的互相關(guān)特性。此外,Walsh碼生成容易,應(yīng)用方便。但是,Walsh碼的各碼組由于所占頻譜帶寬不同等原因,因而不能作為擴(kuò)頻碼。