圖像加密算法之基于可逆記憶CA融合時(shí)間延遲的應(yīng)用

針對(duì)當(dāng)前的元胞自動(dòng)機(jī)加密系統(tǒng)不具備記憶功能,使其安全性和加密速度不理想;且目前的圖像加密算法都忽略考慮時(shí)間延遲現(xiàn)象,無(wú)法體現(xiàn)加密的真實(shí)過(guò)程。對(duì)此,我們提出了一種可逆線性記憶元胞自動(dòng)機(jī)與時(shí)間延遲函數(shù),采用三者相融合的加密算法來(lái)克服上述問題;并將非線性耦合置亂方法引入算法中。

該圖像加密算法首先將迭代一維線性分段映射所得到的一維數(shù)組,該數(shù)組通過(guò)非線性耦合置亂方法后得到一個(gè)置亂數(shù)組,并利用該數(shù)組對(duì)初始圖像進(jìn)行置亂處理,改變像素位置;然后將時(shí)間延遲引入到Logistic映射中,利用可逆線性記憶元胞自動(dòng)機(jī)的演變規(guī)則對(duì)三者相融合所生成的時(shí)間延遲偽隨機(jī)數(shù)組進(jìn)行迭代,得到迭代數(shù)組。

一、可逆線性記憶元胞自動(dòng)機(jī)

元胞自動(dòng)機(jī)( cellular automata,CA)是由m個(gè)相同元胞的數(shù)組構(gòu)成的,包括了四個(gè)部分:元胞、元胞鄰域、元胞空間以及演變規(guī)則。其每個(gè)元胞均可維持一個(gè)狀態(tài)值z(mì),z∈(0,1),并在離散的時(shí)間步長(zhǎng)內(nèi)根據(jù)演變規(guī)則來(lái)異步更新。用來(lái)表示第i個(gè)元胞,半徑r的對(duì)稱領(lǐng)域矢量可定義為ni。

用qi(t)為第i元胞在第t時(shí)刻的狀態(tài),則r的元胞自動(dòng)機(jī)的局部轉(zhuǎn)換函數(shù)為:

則可逆線性元胞自動(dòng)機(jī)的局部轉(zhuǎn)換函數(shù)為:

由于當(dāng)前的可逆線性元胞自動(dòng)機(jī)不具有記憶功能,其每個(gè)元胞都是根據(jù)它的鄰居元胞條件來(lái)更新其狀態(tài),而且只能在其前一個(gè)時(shí)間步更新。為此,提出可逆線性記憶元胞自動(dòng)機(jī),使其具備記憶貯存功能。

考慮到鄰居元胞在t時(shí)刻以及t-1時(shí)刻、t-2時(shí)刻、...的狀態(tài),從而有助于確定其在t+1時(shí)刻的狀態(tài),則第忌階線性記憶元胞自動(dòng)機(jī)的局部轉(zhuǎn)換函數(shù)為:

式(4)中,fi是元胞半徑為r的線性記憶元胞自動(dòng)機(jī)的局部轉(zhuǎn)換函數(shù),其中1≤i≤m,且利用時(shí)間延遲偽隨機(jī)序列來(lái)迭代該演變規(guī)則。

為了線性記憶元胞自動(dòng)機(jī)能夠可逆,成為可逆線性記憶元胞自動(dòng)機(jī),設(shè)立如下定義:

如果fk(nit-k+l)= qit-k+l,則線性記憶元胞自動(dòng)機(jī)是可逆的,成為可逆線性記憶元胞自動(dòng)機(jī),其演變規(guī)則如下:

二、時(shí)間延遲函數(shù)

時(shí)間延遲作為自然界必然的規(guī)律,在圖像加密領(lǐng)域中的混沌序列生成過(guò)程中也是如此。采用logistic映射作為序列的生成器,其模型如下:

設(shè)定初值面o,對(duì)模型(6)進(jìn)行迭代得到數(shù)組x={x1,X2,X3,...,xn}。

由時(shí)間延遲函數(shù)公式(7)將時(shí)間延遲引入到數(shù)組面中,不斷迭代更新,得到關(guān)于時(shí)間延遲數(shù)組x={x1,X2,X3,...,xn}。

在式(7)中,tk表示生成對(duì)應(yīng)的偽隨機(jī)數(shù)X1,X2,X3,…,Xn的第后個(gè)時(shí)間延遲值,這個(gè)時(shí)間延遲值由logistic映射模型式(6)控制。

因時(shí)間延遲造成了額外的時(shí)間成本。因此,需要限制時(shí)間延遲值Tk,以降低計(jì)算成本,若時(shí)間延遲Tk在t時(shí)間間隔步驟范圍內(nèi),如以下模型:

式(8)中,floor(h)代表是與X相距最小的X整數(shù),mod(h,t)代表的是h對(duì)t取余。

三、可逆線性記憶CA融合時(shí)間延遲的圖像加密算法

加密算法的流程圖如圖1所示。

1、加密算法描述

步驟1:令明文圖像大小為MxN,設(shè)定好初值vo,迭代一維線性分段混沌映射,得到一維數(shù)組v={v0,v1,v2,...,vM×N}。一維線性分段混沌映射模型如下:

式(9)中,v∈[O,1]以及p∈[O,0.5]視為密鑰。

步驟2:根據(jù)得到的數(shù)組構(gòu)造非線性耦合置亂方法,得到置亂數(shù)組v'={v0',v1',v2',...,vM×N'}。

式(10)中,后為本文所需的密鑰。

步驟3:設(shè)定好logistic映射的初值xo,并進(jìn)行迭代計(jì)算,得到數(shù)組x={x1,X2,X3,...,xn},由logistic控制時(shí)間延遲值Tk,根據(jù)時(shí)間延遲函數(shù)式(7)將時(shí)間延遲引入到數(shù)組x={x1,X2,X3,...,xn}中,得到一組時(shí)間延遲數(shù)組x={x1,X2,X3,...,xn}。

步驟4:對(duì)步驟3得到的時(shí)間延遲數(shù)組進(jìn)行修正,并對(duì)修正得到結(jié)果按照從小到大順序進(jìn)行排列,得到一組新數(shù)組x'={x1',X2',X3',...,xn'}修正模型如下:

步驟5:根據(jù)本文的演變規(guī)則模型式(5)對(duì)新數(shù)組進(jìn)行迭代計(jì)算,迭代時(shí)間為t,取該時(shí)刻的迭代數(shù)組x'={x1',X2',X3',...,xn'}根據(jù)像素?cái)U(kuò)散機(jī)制對(duì)置亂圖像進(jìn)行擴(kuò)散加密處理,像素?cái)U(kuò)散機(jī)制為:

可逆線性記憶元胞自動(dòng)機(jī)的演變規(guī)則為:

由于解密過(guò)程是加密過(guò)程的逆過(guò)程。

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

采用因特爾3 GH z雙核CPU,4 GB的內(nèi)存,操作電腦系統(tǒng)Windows XP。借助MATLAB仿真軟件對(duì)本文加密算法的安全性能進(jìn)行驗(yàn)證。輸入一個(gè)邊長(zhǎng)L為256的正方形明文圖像dolphin,色灰度為256,加密時(shí)間為635 mso,如圖2(a)所示。仿真結(jié)果如圖2(b)和2(c)所示。從圖2中可知,經(jīng)過(guò)非線性耦合置亂后,初始圖像的信息得到了充分?jǐn)_亂。

1、灰度直方圖

圖像像素灰度直方圖能夠直接反映出圖像像素的分布狀況口從圖3(a)可知,初始圖像的灰度分布不均勻;而經(jīng)過(guò)非線性耦合置亂后的像素灰度直方圖與3(a)相同,如圖3(b)所示,表明它們的偽隨機(jī)性以及冗余性較低,安全性較低,易受到攻擊。被本文加密算法處理后的灰度直方圖發(fā)生了質(zhì)的變化,如圖3(c)所示,其像素分布均勻,表明算法能夠顯著提高密文的偽隨機(jī)性與冗余性。這一結(jié)果表明加密新算法具有較好加密質(zhì)量,算法高度全。

2、密鑰空間

高度安全的加密系統(tǒng)的密鑰空間應(yīng)是巨大的。根據(jù)圖1可知,基于可逆線性記憶CA融合時(shí)間延遲的圖像加密算法的密鑰空間由四部分所決定,分別是一維線性分段混沌映射的初值v0,控制參數(shù)p、Logistic模型產(chǎn)生的序列初始值xo以及可逆線性記憶CA迭代時(shí)間to假設(shè)計(jì)算精度達(dá)到10 -16,則算法的密鑰空間為(1016)4×1016 =1 080,該值顯著大于2100。可見,算法的密鑰空間是巨大的,足以抵抗窮舉攻擊。

3、密鑰敏感性分析

安全的加密系統(tǒng)應(yīng)有極強(qiáng)的初值密敏感性能,很好地符合“雪崩效應(yīng)”。現(xiàn)對(duì)初值v0的敏感性能進(jìn)行了測(cè)試,對(duì)v0進(jìn)行增加或減掉一個(gè)非常小的干擾值β(β=10-16),其他的密鑰參數(shù)不變。仿真結(jié)果如圖4所示,其中,圖4(a)是未修改密鑰得到的密文;圖4(b)是修改后的密鑰(v0+β)加密得到的密文;圖4(c)是(v0-β)密鑰加密得到的密文。從圖中可知,當(dāng)初值發(fā)生了極其微小的變動(dòng),進(jìn)行加密后的密文發(fā)生了質(zhì)的變化。所提供的方法來(lái)計(jì)算初值%的敏感系數(shù),得到該系數(shù)為0.9993。這表明本文算法具有極強(qiáng)的密鑰敏感性能,能夠較好地滿足“雪崩效應(yīng)”。

4、相鄰兩像素點(diǎn)的相關(guān)性分析

由于圖像的相鄰像素之間一般都具有強(qiáng)烈的相關(guān)性。因此,理想的加密算法應(yīng)能夠顯著降低或者消除這個(gè)不利因素,從而提高該加密系統(tǒng)的安全性。在初始與密文圖像中隨意擇取1600對(duì)相鄰像素點(diǎn),用相關(guān)系數(shù)rxy,來(lái)表征。rxy的計(jì)算模型如下:

式中,x與y代表的是圖像相鄰像素點(diǎn)的灰度值。

圖5是加密前后圖像里任意兩個(gè)相鄰像素點(diǎn)在y軸方向上的相關(guān)性測(cè)試結(jié)果。從圖中可以看到,明文圖像的相鄰像素值逐漸變?yōu)橐粭l對(duì)角線,如圖5(a)所示,這表明初始圖像相鄰像素間具有強(qiáng)烈的相關(guān)性,達(dá)到0. 978 3,與1非常接近;而經(jīng)過(guò)本文加密算法處理后,其像素值均勻地布滿了整個(gè)灰度平面,如圖5(b)所示,其相關(guān)性得到了有效消除,約為0.000 11,趨于0。

其他兩個(gè)方向的相鄰像素點(diǎn)的相關(guān)性實(shí)驗(yàn)結(jié)果見表1。從表中可知,初始圖像相鄰像素間的相關(guān)性較強(qiáng)烈;而經(jīng)過(guò)本文算法處理后的密文圖像的相關(guān)性顯著降低,任意兩個(gè)相鄰的像素點(diǎn)幾乎是不相關(guān)的。

5、抗差分攻擊性能測(cè)試

優(yōu)異的加密系統(tǒng)應(yīng)該具備超強(qiáng)的抗差分攻擊能力,本文利用NPCR與UACI來(lái)評(píng)估該性能:

式(19)中,NPCR代表像素?cái)?shù)量變化率;UACI為平均強(qiáng)度變化率。

通過(guò)式(17)一式(19)來(lái)計(jì)算得到其NPCR為99. 46%,UACI為33. 57%,分別如圖6(a)與6(b)所示。圖6也顯示了在迭代計(jì)算1次時(shí),該算法就擁有較強(qiáng)的抗差分攻擊能力。可見,提出的加密新算法具有極強(qiáng)抗差分攻擊性能。

6、時(shí)間延遲數(shù)組的自相關(guān)性測(cè)試

偽隨機(jī)數(shù)組或序列的自相關(guān)性對(duì)加密質(zhì)量有著重要影響。在利用偽隨機(jī)數(shù)組或序列對(duì)圖像加密時(shí),數(shù)組的自相關(guān)性越低,其加密效果越好;反之,則不利于加密系統(tǒng)的安全性。自相關(guān)性應(yīng)該滿足以下關(guān)系:

式中,m為步長(zhǎng),若f(m)隨著步長(zhǎng)m變動(dòng)時(shí),其變化幅度很小,則顯示該數(shù)組或序列具有理想的自相關(guān)性。

為了驗(yàn)證引入時(shí)間延遲對(duì)加密算法的優(yōu)勢(shì),截取相關(guān)間隔[ -3 000,3 000]對(duì)X軸方向的自相關(guān)性進(jìn)行仿真測(cè)試口測(cè)試結(jié)果如圖7所示,從圖中可以看到,相比于圖7(a)而言,將時(shí)間延遲引入到一維數(shù)組后,其自相關(guān)性得到了有效消除,如圖7(b)所示,當(dāng)步長(zhǎng)m不斷變化時(shí),自相關(guān)系數(shù)變化的程度相當(dāng)小。可見,將時(shí)間延遲引入到數(shù)組或序列中,能夠使序列的自相關(guān)性達(dá)到理想狀態(tài),具有更好的偽隨機(jī)性,從而進(jìn)一步提高加密系統(tǒng)的安全性。

小知識(shí)之CA

CA中心又稱CA機(jī)構(gòu),即證書授權(quán)中心(Certificate Authority ),或稱證書授權(quán)機(jī)構(gòu),作為電子商務(wù)交易中受信任的第三方,承擔(dān)公鑰體系中公鑰的合法性檢驗(yàn)的責(zé)任。