彩色視頻加密算法
混沌理論應(yīng)用于加密還是一個(gè)比較新的研究領(lǐng)域,現(xiàn)有的基于混沌理論的視頻加密大多采用單獨(dú)的低維映射,安全性不高;而高維混沌系統(tǒng)雖然加密性好,但由于其密鑰序列復(fù)雜的產(chǎn)生過(guò)程與視頻加密教據(jù)量大、實(shí)時(shí)性要求高的特點(diǎn)形成矛盾,至今仍鮮有應(yīng)用。針對(duì)于此,結(jié)合像素?cái)U(kuò)散的思想,提出了一種基于三維Lorenz混沌的彩色視頻加密算法,該算法遵循香農(nóng)信息論中的混淆與擴(kuò)散機(jī)制,視頻幀中任何一個(gè)像素的解密錯(cuò)誤都會(huì)影響整個(gè)視頻的解密,具有很高的安全性。此外,該算法還具有加密速度快等優(yōu)勢(shì),解決了高堆混沌系統(tǒng)應(yīng)用于視頻加密的難點(diǎn)。
一、Lorenz混沌系統(tǒng)
Lorenz系統(tǒng)是經(jīng)典的三維混沌系統(tǒng),它是由美國(guó)氣象學(xué)家EN.Lorenz在研究對(duì)流實(shí)驗(yàn)時(shí)發(fā)現(xiàn)的。它的動(dòng)力學(xué)方程式如式(1)所示:
Lorenz系統(tǒng)屬于耗散系統(tǒng),它是基于流體力學(xué)中的Navier-Stokes方程、熱力傳導(dǎo)方程和連續(xù)性方程構(gòu)建的。σ,ρ,β是系統(tǒng)的參數(shù),其取值范圍是大于0的任意數(shù)值,常取σ=10,β=8/3,ρ作為變量,當(dāng)保持σ,β的值不變,ρ>24.74時(shí)洛倫茲系統(tǒng)進(jìn)入混沌狀態(tài),當(dāng)ρ=28時(shí),系統(tǒng)達(dá)到最佳混沌狀態(tài)。
當(dāng)σ=10,β=8/3,ρ=28時(shí),洛倫茲系統(tǒng)產(chǎn)生的混沌吸引子如圖1所示。
二、基于Lorenz混沌的視頻加密/解密算法
數(shù)字視頻在許多方面與靜止的圖像有相同的特性,因?yàn)橐曨l信號(hào)本身即是由許許多多幅按照時(shí)間序列排列的連續(xù)圖像組成的,每一幅圖像稱為幀。此外,視頻數(shù)據(jù)還具有數(shù)據(jù)量大、冗余度高、實(shí)時(shí)性要求嚴(yán)格等特點(diǎn)。為了保證流暢的視覺(jué)效果,視頻加密必須考慮實(shí)時(shí)在線的能力,要求很高的處理速度?;诖?,本文提出了一種新的基于Lorenz混沌的視頻加密算法,該算法選取能使Lorenz系統(tǒng)產(chǎn)生最佳混沌序列的參數(shù)取值σ=10,β=8/3,ρ=28。以x,y,z混沌序列作為加密密鑰對(duì)視頻圖像進(jìn)行加密。因?yàn)閳D像像素值的取值范圍是[O,255],所以需要對(duì)產(chǎn)生的x,y,z混沌序列進(jìn)行改進(jìn),具體過(guò)程如下:
式中,round()的含義是取靠近0的整數(shù)。經(jīng)過(guò)處理后,新的混沌序列x',y',z'的取值范圍是[O,1]的任意實(shí)數(shù)。
該算法的基本思想是:在視頻采集的過(guò)程中,對(duì)采集的每幀圖像的每個(gè)像索都加入Lorenz系統(tǒng)產(chǎn)生的偽隨機(jī)序列噪聲,也就是將混沌系統(tǒng)產(chǎn)生的混沌序列和每一幀的每一個(gè)像素逐位處理。首先由Lorenz系統(tǒng)產(chǎn)生x,y,z混沌序列,然后將x,y,z混沌序列分別與每幀圖像中對(duì)應(yīng)的R,G,B分量值以及前一個(gè)像素加密后的R,G,B分量值進(jìn)行異或,從而完成對(duì)該幀的加密。在采集的過(guò)程中對(duì)每一幀圖像都做如上處理,進(jìn)而完成對(duì)整個(gè)視頻的加密。
整個(gè)系統(tǒng)加密、解密的算法框圖如圖2和圖3所示。
算法中每幀第一個(gè)像素加密的過(guò)程與其他像素不同,是用對(duì)應(yīng)的混沌序列與該像素以及該幀最后一個(gè)像索的R、G、B分量值進(jìn)行異或加密。本算法遵循香農(nóng)信息論中混亂與擴(kuò)散的設(shè)計(jì)準(zhǔn)則,且對(duì)不同的幀能產(chǎn)生不同的密鑰進(jìn)行加密,既能滿足視頻實(shí)時(shí)性的要求,又具有很高的安全性。
三、彩色視頻加密/解密算法的設(shè)計(jì)
1、加密算法的流程
設(shè)攝像頭采集的視頻幀大小為M*N,對(duì)視頻進(jìn)行加密的流程如下:
1)進(jìn)行視頻采集,輸入加密密鑰x,y,z的值。
2)為了使系統(tǒng)達(dá)到充分的混沌狀態(tài),先將Lorenz系統(tǒng)迭代1000次后,截取M*N組{x,y,z}的混沌序列。
3)將得到的M*N組混沌序列按式(2)進(jìn)行改進(jìn),獲得新的M*N組混沌序列x',y',z',對(duì)序列中的每個(gè)值取其第3,5,7位形成一個(gè)3位十進(jìn)制數(shù),并將該數(shù)與256取余,得到一個(gè)8位的密鑰流,這樣就得到了M*N組最終的密鑰序列{xk'',yk'',zk''},其中是k∈[1,M* N]。
4)按式(3)對(duì)幀中的每個(gè)像索逐一進(jìn)行加密,進(jìn)而加密整個(gè)視頻幀。
式中,Rk,Gk,Bk是當(dāng)前待加密像素點(diǎn)的3個(gè)分量值,xk'',yk'',zk''分別是與當(dāng)前像素分量對(duì)應(yīng)的密鑰序列值,Rk-1',Gk-1',Bk-1'分別是前一個(gè)已加密的像素分量值。Rk',Gk',Bk'分別是當(dāng)前像素加密后的3個(gè)分置值。注意,對(duì)每幀圖像中的第一個(gè)像素進(jìn)行加密時(shí),Rk-1',Gk-1',Bk-1'的取值是墩該幀圖像中最后一個(gè)像素的R、G、B值。
5)顯示加密后的視頻幀。
6)重復(fù)步驟4和5,完成對(duì)整個(gè)視頻的加密。
2、解密算法的流程
1)讀取加密后的視頻幀,輸人解密密鑰x,y,z的值。
2)重復(fù)加密的步驟2和3,得到最終的密鑰序列{xk'',yk'',zk''},其中k∈[1,M* N]。
3)按式(4)先對(duì)加密幀中的第2個(gè)像察解密,直到解密完最后一個(gè)像素,求得最后一個(gè)像素的原始值,再完成對(duì)第一個(gè)像素的解密,這樣整幀圖像解密完成。
4)顯示解密后的視頻幀。
5)重復(fù)步驟3和4,完成對(duì)整個(gè)視頻的解密。
四、實(shí)驗(yàn)及實(shí)驗(yàn)結(jié)果分析
1、實(shí)驗(yàn)結(jié)果
利用vc++6.0,結(jié)合OpenCV函數(shù)庫(kù),編寫程序驗(yàn)證本文提出的視頻加密算法。采用攝像頭采集視頻圖像,設(shè)置采集圖像的速度為30幀/s。此時(shí)視頻已經(jīng)看不出延遲,設(shè)置三維Lorenz加密系統(tǒng)的初值為x=-1. 613,y=0.452,z=3. 579,用其加密任一幀視額圖像的效果如圖4所示。
從實(shí)驗(yàn)結(jié)果上看,該算法充分利用了三維Lorenz混沌的混沌特性,具有加密速度快、實(shí)現(xiàn)簡(jiǎn)單、安全可靠的優(yōu)勢(shì),能滿足視頻加密實(shí)時(shí)性要求高、數(shù)據(jù)盈大的需求。
2、實(shí)驗(yàn)結(jié)果分析
1)密鑰空間分析
時(shí)視頻圖像進(jìn)行加密,密鑰個(gè)數(shù)過(guò)多滿足不了視頻加密實(shí)時(shí)性要求高的特點(diǎn),過(guò)低安全性又不可靠。本算法選擇x,y,z3個(gè)初值作為系統(tǒng)的初始密鑰,比一般單獨(dú)的低維混沌系統(tǒng)初值多,密鑰空間大,產(chǎn)生的混沌序列更加復(fù)雜,加密性能更好。x,y,z的取值空間取決于計(jì)算機(jī)的計(jì)算精度,因此,整個(gè)Lorenz加密系統(tǒng)的密鑰空間有1048,可以有效抵抗窮舉攻擊;此外,該系統(tǒng)還充分利用了Lorenz系統(tǒng)中最佳的混沌吸引子,可以產(chǎn)生更好的密鑰序列。
2)初值敏感性分析
采用以下步驟驗(yàn)證系統(tǒng)對(duì)初始條件的敏感性:
1)使用初始條件x=0.606,y=2.257,z=5.868加密任一幀視頻圖像。
2)極其微小的改變上述初始條件中的任意一個(gè)值,其他值保持不變,看能否能對(duì)視頻幀進(jìn)行解密。
3)比較原始幀、加密幀、正確解密幀和錯(cuò)誤解密幀的區(qū)別,如圖5所示。
從圖5中可以看出,本視頻加密系統(tǒng)具有極強(qiáng)的初值敏感性,即使初值有極馓小的變化如0. 000000001,系統(tǒng)也會(huì)產(chǎn)生極大的雪崩效應(yīng),驗(yàn)證了系統(tǒng)的安全性和穩(wěn)定性。
此外,本加密算法還遵循香農(nóng)信息論中提出的混淆與擴(kuò)散機(jī)制,圖像內(nèi)每個(gè)像素點(diǎn)的R,G,B分盈值不斷地作為密鑰擴(kuò)散到其他像索值中,形成你中有我、我中有你的局面,解密時(shí),圖像中任何—個(gè)像素點(diǎn)的解密錯(cuò)誤都會(huì)不斷地?cái)U(kuò)散開來(lái),進(jìn)而影響整幅圖像的正確解密。該算法還改變了原始圖像的直方圖統(tǒng)計(jì)特征,可以有效地抵抗統(tǒng)計(jì)分析攻擊。
小知識(shí)之香農(nóng)
香農(nóng)(Shannon)提出并嚴(yán)格證明了“在被高斯白噪聲干擾的信道中,計(jì)算最大信息傳送速率C公式”:C=B log2(1+S/N)。式中:B是信道帶寬(赫茲),S是信號(hào)功率(瓦),N是噪聲功率(瓦)。該式即為著名的香農(nóng)公式,顯然,信道容量與信道帶寬成正比,同時(shí)還取決于系統(tǒng)信噪比以及編碼技術(shù)種類香農(nóng)定理指出,如果信息源的信息速率R小于或者等于信道容量C,那么,在理論上存在一種方法可使信息源的輸出能夠以任意小的差錯(cuò)概率通過(guò)信道傳輸。該定理還指出:如果R>C,則沒(méi)有任何辦法傳遞這樣的信息,或者說(shuō)傳遞這樣的二進(jìn)制信息的差錯(cuò)率為1/2。










