公安業(yè)務(wù)領(lǐng)域檢材樣本圖像加密算法

因目前許多加密算法都是基于一維混沌系統(tǒng)生成的,雖然一維混沌系統(tǒng)具有形式簡單,產(chǎn)生混沌序列效率高等特點(diǎn),但其密鑰空間有限,很難有效抵御窮舉攻擊。為了克服上述缺陷,我們提出了一種基于混合混沌序列的圖像加密算法,首先利用復(fù)合logistiC與Chebyshev映射生成的混沌序列對數(shù)字圖像位置進(jìn)行置亂,再次利用logistic映射對彩色圖像的RGB值進(jìn)行加密,從而達(dá)到對像素位置和像素色彩域雙重加密該加密算法現(xiàn)已應(yīng)用于公安業(yè)務(wù)領(lǐng)域中網(wǎng)絡(luò)會(huì)檢系統(tǒng)中,有力地保證網(wǎng)上會(huì)檢工作中有關(guān)案件的彩色圖片文件傳輸?shù)陌踩?/p>

一、混沌映射的分析

混沌現(xiàn)象是在非線性動(dòng)力系統(tǒng)中出現(xiàn)的確定性的、類似隨機(jī)的過程,這種過程既非周期,又不收斂,并且對初始值有及其敏感的依賴性。通過混沌映射可以提供數(shù)量眾多的不相關(guān)、可再生的信號,給定一個(gè)離散混沌系統(tǒng)兩個(gè)非常接近的初始值,經(jīng)過幾次迭代后,輸出的結(jié)果可以完全不相關(guān)。因此,我們利用混沌系統(tǒng)對初始條件的極其敏感的依賴性,可以提供數(shù)量眾多非相關(guān)、類隨機(jī)而又確定可再生的混沌序列。當(dāng)前在混沌系統(tǒng)中,應(yīng)用較為廣泛的一維非線性動(dòng)力系統(tǒng)主要有 Logistic映射與K階Chebyshev映射。

1、Logistic映射及其特性分析

Logistic映射是一種結(jié)構(gòu)簡單但應(yīng)用廣泛的一維非線性動(dòng)力系統(tǒng),其定義如下:

其中,O≤μ≤4稱為分枝參數(shù),Xk∈(0,l)。當(dāng)3.5699456...≤μ≤4時(shí),Logistic映射工作于混沌狀態(tài)。也就是說,由初始條件XO在Logistic映射的作用下所產(chǎn)生的序列{Xk}k=O,1,2…是非周期性的、不收斂的,且對初始值非常敏感。對于一般的混沌映射Xk+1=f(Xk),概率密度函數(shù)為:

對于式(1)形式的Logistic映射,如果μ=4,Logistic映射所生成的序列的概率分布函數(shù)可改寫為:

通過ρ(x),可以計(jì)算得到Logistic映射所產(chǎn)生的混沌序列的一些很有意義的統(tǒng)計(jì)特性。例如,混沌序列軌跡點(diǎn)的均值是:

關(guān)于相關(guān)函數(shù),獨(dú)立選取兩個(gè)初始值Xo和y0,則序列的相關(guān)函數(shù)為:

Logistic映射的以上特性表明,混沌動(dòng)力系統(tǒng)具有一定的確定性,其動(dòng)力統(tǒng)計(jì)特性具有形式簡單,對初始條件敏感等諸多特性D但是直接通過Logistic映射的迭代所產(chǎn)生的密鑰序列有以下缺點(diǎn):

(1)混沌序列參數(shù)μ易被破解。上述由公式生成的混沌序列,無論迭代次數(shù)多少,只要可以得到任意一點(diǎn)(Xk,Xk+l),就可確定參數(shù)μ=Xk+1/Xk(l-Xk)。

(2)在有限精度下,易陷入周期循環(huán),且周期不易確定,由于在迭代過程中,由于參數(shù)μ數(shù)值不變,只要產(chǎn)生同樣的Xk必將產(chǎn)生同樣的Xk+l。計(jì)算中由于有限精度效應(yīng),Xk只有有限個(gè)不同的值,因此必然存在一個(gè)迭代周期,此時(shí)混沌序列將陷入周期循環(huán)中。

2、K階Chebyshev映射及其特性分析

K階Chebyshev映射是一種簡單的參數(shù)為階數(shù)的一維混沌映射,其迭代方程為:

K階Chebyshev映射生成的混沌序列的概率密度函數(shù)為:

通過ρ(X),可以得到Chebyshev映射的混沌序列的統(tǒng)計(jì)特性。例如,混沌序列軌跡點(diǎn)的均值是:

關(guān)于相關(guān)函數(shù),獨(dú)立選取兩個(gè)初始值xo和y0,則序列的相關(guān)函數(shù)為:

K階ChebysheV映射的以上特性表明,混沌動(dòng)力系統(tǒng)具有一定的確定性,其動(dòng)力統(tǒng)計(jì)特性具有形式簡單,對初始條件敏感等諸多特性。

3、混沌序列的生成

為避免Logistic映射生成混沌序列參數(shù)μ易被破解和陷入周期循環(huán)的缺陷,提高混沌的復(fù)雜性、本文對混沌映射進(jìn)行改進(jìn),采用Chebyshev映射的迭代輸出的混沌序列作為Logistic映射的控制參數(shù)μ使Logistic映射的控制參數(shù)阻也同樣處于混沌狀態(tài),增加斗的變化情況,避免出現(xiàn)周期循環(huán),可以增加算法的密鑰空間,提高算法的抗攻擊能力。生成的混沌序列的具體方法如下:

(1)實(shí)數(shù)序列:將Chebyshev映射階數(shù)k,初始值xo,代人(6)式中輸出混沌序列{Xk,k=0,1,2,… },由于Logistic映射與k階Chebyshev映射在方程的定義值域存在較大差異,可采用線性分段函數(shù)將生成的Chebyshev映射混沌序列{Xk,k=0,1,2,… }轉(zhuǎn)化到3.5699456…≤μ≤4的值域范圍內(nèi),形成序列{μk,k=0,1,2,…},將|Xk|,μk代入(1)式中形成實(shí)數(shù)序列。

(2)比特序列:由上述的實(shí)數(shù)值混沌序列得到,比特序列是通過對(μk,k=0,l,2,…)中的μk改寫為L-bit的浮點(diǎn)數(shù)形式得到的。

其中bi(Xk)是Xk的第i位。所需數(shù)列即為:

二、基于復(fù)合混沌序列的彩色圖像加密算法

1、加密算法原理

彩色數(shù)字圖像通常都足由矩陣Amxn保存,每個(gè)矩陣元素ai,j的值表示彩色圖像對應(yīng)像素的RGB值以及Alpha(透明度)值;本算法首先采用對Am×n進(jìn)行數(shù)學(xué)變換,對原始彩色圖像各個(gè)像素點(diǎn)位置進(jìn)行置亂,即將原始圖像矩陣Amxn轉(zhuǎn)化為Bmxn,破壞原圖像的有序性,達(dá)到置亂的目的,從而實(shí)現(xiàn)對像素位置的加密,再利用復(fù)合比特混沌序列對Bm×n進(jìn)行像素值的變換,即通過轉(zhuǎn)化復(fù)合比特混沌序列,對Bm×n中的每一個(gè)元素bi,j的像素值進(jìn)行加密,改變密圖的R、G、B值,甚至改變Alpha(透明度)值,具體的加密算法如圖1所示,表示彩色數(shù)字圖像的矩陣中對應(yīng)的每一個(gè)元素值都是由32位4個(gè)字節(jié)構(gòu)成,其具體的存儲結(jié)構(gòu)如圖2所示。

通過加密算法對對每一個(gè)像素的32位進(jìn)行加密,徹底改變彩色圖像的像素值,將像素位置置亂和像素值置換的雙重加密技術(shù)可以大大提高加密算法的抗攻擊性。

2、加密與解密算法設(shè)計(jì)

基于復(fù)合混沌序列的彩色圖像加密算法設(shè)計(jì)基于Logistic映射和Chebyshev映射,算法的密鑰參數(shù)為Chebyshev映射的階數(shù)k和初始值xoo設(shè)原始圖像為A(i,j),i=0,1,2,...,M-1,j=0,1,2,...,N-1。其中(i,j)表示為某一像素的坐標(biāo),g(i,j)表示該像素點(diǎn)的RGB和Alpha值。彩色圖像的具體加密過程如下:

(1)利用Chebyshev映射的階數(shù)k和初始值xo,采用式(6)生成混沌序列{Xk,k=0,1,2,...,M×N-1},采用線性分段函數(shù)將生成的Chebyshev映射混沌序列{Xk,k=0,1,2,...,M×N-1}映射至3.5699456...≤μ≤4的值域范圍內(nèi),形成序列{μk,k=0,1,2,…MN-1},將|Xk|,μk代入(1)式中形成實(shí)數(shù)序列。取初始值xo=0.123,k=6,同時(shí)為了增加算法的隨機(jī)性,不使用該序列的初始段部分,由Logistic映射產(chǎn)生一個(gè)長度為MN的實(shí)數(shù)混沌序列L{L1,L2,...,LM×N}。

(2)將生成的實(shí)數(shù)混沌序列轉(zhuǎn)化為二維矩陣LMxN,并與原始圖像AMxN中的元素一一對應(yīng)。對二維矩陣LMxN從第1行至第M行,同行N個(gè)元素進(jìn)行排序,形成每行都是有序的二維矩陣L'M×N,由于原始圖像AM×N的每個(gè)元素位置與二維矩陣LM×N每個(gè)元素一一對應(yīng)w原始圖像ANtxN轉(zhuǎn)化為AtM×N科同理,再對二維矩陣L'MxN從第1列至第N列,同列M個(gè)元素進(jìn)行排序,形成每列都是有序的二維矩陣L"M×N,AMxN轉(zhuǎn)化成AlM×N。即完成彩色圖像的位置置亂;形成像素位置置亂的密圖BM×N。

(3)重復(fù)步驟(1)中,取初始值x1=0.156,k7=6,同時(shí)為了增加算法的隨機(jī)性,不使用該序列的初始段部分,由Logistic映射最終產(chǎn)生一個(gè)長度為4xMxN的實(shí)數(shù)混沌序列L{L1,L2,…L4×M×N},將生成的實(shí)數(shù)混沌序列按公式(12)轉(zhuǎn)化成比特混沌序列P{PI,P2…P4.xMxN)其中i=1,2…4xMxN。

(4)生成的比特混沌序列P{P1,P2,...,P2 xM×N),每四個(gè)元素構(gòu)成一維數(shù)組,比特混沌序列P轉(zhuǎn)化為二維矩陣P'M×N,其中元素是由比特混沌序列數(shù)組P’{PI’,P2’.., PMxN’)組成。Pl’={P4i+l,P41+2’
P41+3,P4i+4),i=0,1,2,..,M×N-1}。

(5)將BMxN的元素bjj的R、G、B、Alpha分量分別進(jìn)行像素值加密。具體的方法是將biJ的R、G、B、Alpha分量分別與Pi'數(shù)組中的4個(gè)分量,Pi‘{P4i+L, P4i+2,P4i+3,P41+4}進(jìn)行按位異或。由此得到數(shù)字圖像加密矩陣CM×N,即是經(jīng)過像素位置置亂與像素值加密后的密圖。

解密過程與加密過程互逆,先將密圖CMxN經(jīng)過像素值比特混沌序列解密得到密圖MxN,最后將M×N經(jīng)過像素位置置亂的混沌解密,先按列解密再按行解密,得到數(shù)字圖像AM×N,完成解密d解密算法的步驟順序與加密算法順序依次顛倒,各階段生成的混沌序列的初始值都不變。

三、實(shí)驗(yàn)結(jié)果與分析

1、實(shí)驗(yàn)結(jié)果

筆者在vc#.net實(shí)現(xiàn)上述算法,并采用本文算法針對多幅圖像進(jìn)行加密,實(shí)驗(yàn)中所用的原始圖片為如圖3所示的256×256彩色印章印文圖片。取初始值(密鑰)x0= 0.124,階數(shù)k=6.0,圖3(b)為采用本文復(fù)合混沌序列算法所得到的加密圖像。圖3 (c)為密鑰正確的解密后的圖像,圖3 (d)為密鑰錯(cuò)誤的解密后的圖像。從仿真實(shí)驗(yàn)結(jié)果來看,本算法能有效的加密和解密圖像,如初始值(密鑰)xo=0.125,階數(shù)k= 6.0,就無法對圖像進(jìn)行正確解密。

2、灰度直方圖分析

由于圖像的連續(xù)眭,其像素分布是不均衡,因此可以針對這—特殊隋況進(jìn)行統(tǒng)計(jì)攻擊。圖4 (a)和圖4(b)相比較,可見使用本算法的加密密圖的直方圖分布很均勻,完全掩蓋了變換前的分布規(guī)律。

3、密鑰敏感性分析

密鑰敏感度主要分析在加密一幅圖像后,采用不同的密鑰進(jìn)行解密實(shí)驗(yàn)中,檢測其是否可以還原出正確的批密圖像。錯(cuò)誤密碼解密如圖3(d)可以看到加密密鑰和解密密鑰相差千分之一,也不能正確解。

4、密鑰空間分析

基于復(fù)合混沌序列的圖像加密算法的密鑰參數(shù)為Chebyshev映射的初態(tài)取值空間為(-1,1),在計(jì)算機(jī)仿真實(shí)驗(yàn)中,其初態(tài)是由64位數(shù)表示,窮解法破解空間巨大,該算法明顯可以抵抗窮解法的攻擊。

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

首先從圖像中隨機(jī)選取3000對相鄰像素點(diǎn),然后利用以下公式計(jì)算:

式中,x和y分別表示圖像中2個(gè)相鄰像素的灰度值,kxy為2個(gè)像素點(diǎn)的相關(guān)系數(shù),統(tǒng)計(jì)結(jié)果表明印章印文圖像的原相鄰像素高度相關(guān),其相關(guān)系數(shù)接近1,經(jīng)過文本加密算法加密后的密圖,其相鄰像素的相關(guān)系數(shù)接近0,這說明密圖的相鄰像素已經(jīng)基本不相關(guān),表明本算法具有較強(qiáng)的抗統(tǒng)計(jì)分析能力。

小知識之檢材樣本

廣義地講,泛指有生命的動(dòng)植物的組成全部及部分殘留于刑事案件中的痕跡物證。狹義地講就是與人體有關(guān)的毛發(fā)、血液、分泌物、人體組織、骨骼等。