基于Logistic和Baker映射的視頻加密方法

為保證網(wǎng)絡(luò)信息傳輸?shù)陌踩?,提出一種視頻圖像文件加密方法。該方法引入混沌系統(tǒng)中的Logistic映射和 Baker映射,結(jié)合H.264視頻壓縮編碼特點,利用Baker映射對DCT (Discrete Cosine rrransform)變換量化后 的塊進(jìn)行位置置亂,改變空間像素的位置;利用Logistic映射產(chǎn)生的偽隨機(jī)序列生成密碼序列,對塊矩陣像素 的數(shù)值進(jìn)行改變;在熵編碼完成后,利用Logistic映射產(chǎn)生的偽隨機(jī)序列,對0,1二進(jìn)制串進(jìn)行漂移的流加密。該算法的計算復(fù)雜度低,具有良好的安全性和實時性,對編碼壓縮性能影響較小。

一、混沌學(xué)引入加密系統(tǒng)

混沌理論,是系統(tǒng)從有序突然變?yōu)闊o序狀態(tài)的一種演化理論,是對確定性系統(tǒng)中出現(xiàn)的內(nèi)在“隨機(jī)過程”形成的途徑、機(jī)制的研討。現(xiàn)代混沌學(xué)研究描寫隨機(jī)不規(guī)則的運(yùn)動特征。英國數(shù)學(xué)家Matthews首先明確地提出了用混沌系統(tǒng)來產(chǎn)生序列密碼的思想。他分析了用Logistic混沌映射作為密碼序列產(chǎn)生器的實際問題,近年來,隨著非線性和混沌理論的成熟,研究工作者們紛紛探索混沌在多媒體數(shù)據(jù)加密中可應(yīng)用性。混沌系統(tǒng)具有對初始條件極端敏感的特性,給定一個離散混沌系統(tǒng)兩個非常接近的初始值,經(jīng)過幾次迭代后,輸出結(jié)果可以完全不相關(guān)。因此,利用混沌系統(tǒng)對初始條件極其敏感的依賴性,可提供數(shù)量眾多、非相關(guān)、類隨機(jī)而又確定可再生的混沌序列。

二、 Baker映射

Baker映射是一種典型的混沌映射,一個連續(xù)的Baker映射B(x,y)可描述為:

基于Logistic和Baker映射的視頻加密方法

它是一個在IxI域上的混沌的雙射的自映射系統(tǒng),其作用效果如圖1所示。

基于Logistic和Baker映射的視頻加密方法
為適合于圖像處理,需要對其進(jìn)行規(guī)范化和離散處理。

1、規(guī)范化過程

把單位正方形劃分成后個豎直的長方形,邊長分別為Fi-Fi-1和1,表示成[Fi-1,F(xiàn)i]×[0,1],其中,i=1,…,k,F(xiàn)i =P1+P2+…+pi,F(xiàn)o =O,由于pi為長方形塊的寬,則P 1+p2+…+pk =1。

再把每個長方形的邊長水平拉伸到1/pi,垂直縮短Pi倍。同時,把各個長方形從底部向上堆積成一個大小和原始正方形相同的圖形。

基于Logistic和Baker映射的視頻加密方法

其過程如圖2所示??杀硎緸椋?/p>

基于Logistic和Baker映射的視頻加密方法

2、離散化過程

將上述單位正方形中連續(xù)Baker映射擴(kuò)展到離散域。設(shè)正方形為N×N,用BD(n1,n2,…,nk)代表離散化的一般Baker映射。若仍要保持連續(xù)域Baker映射的性質(zhì),則需要滿足下述條件:

基于Logistic和Baker映射的視頻加密方法

其中,f為連續(xù)的Baker影射,F(xiàn)為離散化的表達(dá)式。即離散映射應(yīng)該在像素個數(shù)N——∞時,趨向于連續(xù)映射。具體的離散Baker映射步驟如下。

1)把一個N×N的正方形矩陣垂直劃分成一個高為N,寬為ni的長方形矩陣,其中,ni為能被N整除的正整數(shù)。于是每個矩陣有N×ni個像素。

2)把每個長方形矩陣劃分成邊長為N/ni和ni的小長方形矩陣。于是得到N/ni×ni個小長方形矩陣,正好有N個像素。其過程如圖3所示。

基于Logistic和Baker映射的視頻加密方法
3)在每個矩形內(nèi),按從下到上,從左到右的順序重新將像素排列成一行。

4)把所有行堆積起來形成和原矩陣大小相同的矩陣。

三、Logistic映射

Logistic映射定義為:xn+1=λxn(1+xn),其中,O≤λ≤4稱為分支參數(shù),x∈(-1,1)。

由初始條件xo在Logistic映射的作用下所產(chǎn)生的序列{Xn,n=0,1,2,3,…},是非周期的、不收斂的,并對初始值非常敏感。這一序列也被稱為該離散時間動力系統(tǒng)的一條軌跡。簡化形式:

基于Logistic和Baker映射的視頻加密方法
其中,λ∈[O,2],Xn∈(-1,1),Xn+1是狀態(tài),f是把當(dāng)前狀態(tài)戈廳映射到下一個狀態(tài)xn+1,μ是參數(shù)。

由Logistic映射在參數(shù)μ=2時產(chǎn)生的混沌序列均值為0。對混沌序列的自相關(guān)、互相關(guān)性的研究,證明其自相關(guān)是δ函數(shù),互相關(guān)為0,其概率統(tǒng)計特性與白噪聲一致。其依據(jù)是混沌系統(tǒng)為確定性系統(tǒng),呈現(xiàn)出類隨機(jī)特性。

系統(tǒng)所產(chǎn)生的混沌序列的概率分布密度函數(shù)PDF(Probability Density Function)為:

基于Logistic和Baker映射的視頻加密方法ρ(x)不依賴于初始值,所以式(4)表達(dá)的混沌系統(tǒng)具有普遍性。

通過ρ(x),可計算得到Logistic映射所產(chǎn)生的混沌序列的統(tǒng)計特性。例如,X的時間平均,即混沌序列軌跡點的均值為:

基于Logistic和Baker映射的視頻加密方法

四、加密算法設(shè)計方案

視頻數(shù)據(jù)不同于二進(jìn)制數(shù)據(jù),因此,視頻信息加密有其特殊性。首先,視頻數(shù)據(jù)安全涉及到視覺內(nèi)容的安全??紤]到視覺數(shù)據(jù)通常冗余度很大,所以,要以內(nèi)容相關(guān)性較強(qiáng)的敏感信息作為加密的核心;其次,數(shù)據(jù)格式通常要保持不變,以便支持直接播放、復(fù)制和剪切操作;再次,傳輸錯誤在視頻傳輸中是難免的,這使加密算法要具有一定的容錯性。為此,加密算法設(shè)計思想為:視頻數(shù)據(jù)流應(yīng)該分塊加密,每個塊分配不同的密鑰。當(dāng)傳輸錯誤發(fā)生時,只有相應(yīng)塊在解密時會出現(xiàn)錯誤,而其他的塊能正確解密。

在H.264視頻編碼標(biāo)準(zhǔn)結(jié)構(gòu)基礎(chǔ)上,引入混沌加密思想,提出一種新的H.264視頻加密方案。該方案使用混沌塊密碼部分加密視頻,加密部分為:幀內(nèi)預(yù)測模式變換、整數(shù)變換、量化塊中非零系數(shù)加密、熵編碼后0,1字符串的流加密o H.264編碼視頻流先分割成圖像序列,圖像序列再分成幀(Frame),幀再分割成包含一定數(shù)量宏塊的片。編碼后的碼流是以宏塊、片、幀、圖像序列為單元存放,各個單元都有相應(yīng)的格式頭信息用于同步。在實際應(yīng)用中,傳輸錯誤是無法避免的,視頻流中的錯誤通常會破壞流密碼的同步。選擇宏塊作為塊加密的基本單位,且自定義一個可變長的塊分配密鑰,達(dá)到根據(jù)錯誤發(fā)生大小自動調(diào)節(jié)塊大小的目的。如果一塊中發(fā)生錯誤,只有相應(yīng)的塊解密時會發(fā)生錯誤,其他的塊仍可以正確解密。

1、加密算法

1)設(shè)對原始圖像所表示的矩陣量化變換后的矩陣為A1,A2,…,Ai,從左到右,從上到下依次讀取出K個矩陣中的非零元素,直到這些元素從左到右,從上到下組成一個新的N×N的矩陣,N為選定的單位塊的大小,通常為32,64,…

2)設(shè)置密鑰K(i,n1,n2,…,ni,m),由式(3)計算出各個元素的新位置,組成一個新的矩陣B'。

3)重復(fù)過程2)m次,即迭代次數(shù)為m,得到矩陣B"。

4)從左到右從上到下把矩陣B'm中的元素重新填回到原來的K個矩陣中的非零位置。得到的這些矩陣即為置亂加密后的結(jié)果,用矩陣B表示。對于解密過程,只需把數(shù)據(jù)形代人解密公式Bc-1(x,y)=(Pix+Ni,(y -Ni)/Pi),(x,y)∈[0,1]×[Ni-1,Ni],i=1,2,…,k,再迭代m次,即得到原始數(shù)據(jù)。

5)根據(jù)Logistic映射公式Xn+l =f(xn)=1一λX2,其中,λ∈[o,2],xn∈(-1,1)。生成實數(shù)值序列,即{xk,k=0,1,2,3,…},是混沌映射的軌跡點所形成的序列。生成位序列,由實數(shù)值混沌序列得到。位序列是通過對實數(shù)值混沌序列中的Xk改寫為r-bit的浮點數(shù)形式得到的。t|Xk|=O.bo (Xk)b1(Xk) b2 (Xk)…bi (Xk)…br-1(xc),其中bi(xk)是|Xk|的第i位。所需序列,即位m(X),i=0,1,2,…,r-1;k=0,1,2,3,…},其中,k是迭代次數(shù),r是指對該實數(shù)值序列取的小數(shù)點后的前r位,一般取宏塊大小。 Logistic映射生成的實數(shù)值序列是混沌序列,對應(yīng)生成的位序列也同樣具有混沌特性。

定義運(yùn)算:基于Logistic和Baker映射的視頻加密方法如果p=1,則對矩陣M的第f行各元素向右平移r位;如果p= -1,則對矩陣M的第Z行各元素向左平移r位。

定義運(yùn)算 :

基于Logistic和Baker映射的視頻加密方法如果q=1,則對矩陣M的第i列各元素向下平移r位;如果q= -1,則對矩陣M的第f列各元素向上平移r位。

2、視頻壓縮加密實現(xiàn)

1)把熵編碼后的0,1串按順序取出N×N個,從左到右,從上到下堆積成一個N×N的矩陣(N為宏塊大?。?,于是得到一個只有0,1元素的矩陣C。

2)給出初始條件x[0],t[0],μ[0],α[0],β[o],h[0],h'[0]。利用式(4)迭代t[0]次,計算出x[0t],取此實數(shù)的前16位。于是

基于Logistic和Baker映射的視頻加密方法
3)對矩陣C的每行i(0≤i≤N-1),進(jìn)行運(yùn)算xf’r[C],得到C'o其中p,r取值過程:取實數(shù)x[0t]的第(h+i)mod 16位,記為b(h+i)m0d16,1≤h≤15,如果b(h+i)m0d16為偶數(shù)或0,p=0;否則p=1;取實數(shù)x[0t]的第(h'+i)mod 16位,記為b(h'+i)m0d16,1≤h'≤15,如b(h'+i)m0d16為偶數(shù)或0,d=0;否則d=1。于是r=α[0]+β[O]b(其中O<α<N,O≤β<N,0<α+β<N)。

4)對矩陣C'的每列j(0≤j≤N-1),進(jìn)行運(yùn)算寫yjqs[C]',得到C"o其中g(shù),s取值過程:取實數(shù)x[0t]的第(h+j) mod 16位,記為b(h+i)mod 16,1≤h≤15,如果b(h+i)m0d16為偶數(shù)或0,p=O;否則p=1;取實數(shù)x[0t]的第(h'+j) mod16位,記為b(h'+j)m0d16,1≤h'≤15,如b(h'+i)m0d16為偶數(shù)或0,d=0;否則d= 1。于是r=α[0]+β[O]b(其中O<α<N,O≤β<N,0<α+β<N)。

5)把得到的N×N矩陣C"中元素從左到右,從上到下排列成0,1字符串存儲起來,用于網(wǎng)絡(luò)傳輸。

映射:

映射,或者射影,在數(shù)學(xué)及相關(guān)的領(lǐng)域還用于定義函數(shù)。函數(shù)是從非空數(shù)集到非空數(shù)集的映射,而且只能是一對一映射或多對一映射。