彩色視頻加密之三維Lorenz混沌

混沌理論應(yīng)用于加密還是一個(gè)比較新的研究領(lǐng)域,現(xiàn)有的基于混沌理論的視頻加密大多采用單獨(dú)的低維映射,安全性不高;而高維混沌系統(tǒng)雖然加密性好,但由于其密鑰序列復(fù)雜的產(chǎn)生過程與視頻加密教據(jù)量大、實(shí)時(shí)性要求高的特點(diǎn)形成矛盾,至今仍鮮有應(yīng)用。針對(duì)于此,結(jié)合像素?cái)U(kuò)散的思想,提出了一種基于三維Lorenz混沌的彩色視頻加密算法。

一、Lorenz混沌系統(tǒng)

Lorenz系統(tǒng)是經(jīng)典的三維混沌系統(tǒng),它是由美國氣象學(xué)家E.N.Lorenz在研究對(duì)流實(shí)驗(yàn)時(shí)發(fā)現(xiàn)的。它的動(dòng)力學(xué)方程式如式(1)所示;

彩色視頻加密之三維Lorenz混沌

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混沌

二、基于Lorenz混沌的視頻加密/解密算法

數(shù)字視頻在許多方面與靜止的圖像有相同的特性,因?yàn)橐曨l信號(hào)本身即是由許許多多幅按照時(shí)間序列排列的連續(xù)圖像組成的,每一幅圖像稱為幀。此外,視頻數(shù)據(jù)還具有數(shù)據(jù)量大、冗余度高、實(shí)時(shí)性要求嚴(yán)格等特點(diǎn)。為了保證流暢的視覺效果,視頻加密必須考慮實(shí)時(shí)在線的能力,要求很高的處理速度?;诖?,本文提出了一種新的基于Lorenz混沌的視頻加密算法,該算法選取能使Lorenz系統(tǒng)產(chǎn)生最佳混沌序列的參數(shù)取值σ=10,β=8/3,ρ=28,以x,y,z混沌序列作為加密密鑰對(duì)視頻圖像進(jìn)行加密。因?yàn)閳D像像素值的取值范圍是[0,255],所以需要對(duì)產(chǎn)生的x,y,z混沌序列進(jìn)行改進(jìn),具體過程如下:

彩色視頻加密之三維Lorenz混沌

式中,round()的含義是取靠近0的整數(shù)。經(jīng)過處理后,新的混沌序列x',y',z'的取值范圍是[O,1]的任意實(shí)數(shù)。

該算法的基本思想是:在視頻采集的過程中,對(duì)采集的每幀圖像的每個(gè)像素都加入Lorenz系統(tǒng)產(chǎn)生的偽隨機(jī)序列噪聲,也就是將混沌系統(tǒng)產(chǎn)生的混沌序列和每一幀的每一個(gè)像素逐位處理。首先由Lorenz系統(tǒng)產(chǎn)生x,y,z混沌序列,然后將x,y.2混沌序列分別與每幀圖像中對(duì)應(yīng)的R,G,B分量值以及前一個(gè)像素加密后的R,G,B分最值進(jìn)行異或,從而完成對(duì)該幀的加密。在采集的過程中對(duì)每一幀圖像都做如上處理,進(jìn)而完成對(duì)整個(gè)視頻的加密。

整個(gè)系統(tǒng)加密、解密的算法框圖如圖2和圖3所示。

彩色視頻加密之三維Lorenz混沌

彩色視頻加密之三維Lorenz混沌

算法中每幀第一個(gè)像素加密的過程與其他像素不同,是用對(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)行加密的流程如下:

彩色視頻加密之三維Lorenz混沌

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è)視頻幀。

式中,R,G,取是當(dāng)前待加密像素點(diǎn)的3個(gè)分量值,xk'',yk''zk''分別是與當(dāng)前像素分量對(duì)應(yīng)的密鑰序列值,xk'',yk''zk''分別是前一個(gè)已加密的像素分量值.R’.G’,B’分別是當(dāng)前像素加密后的3個(gè)分量值。注意,對(duì)每幀圖像中的第一個(gè)像素進(jìn)行加密時(shí),xk'',yk''zk''的取值是取該幀圖像中最后一個(gè)像素的R.G,B值.

5.顯示加密后的視頻幀。

6.重復(fù)步驟4和5,完成對(duì)整個(gè)視頻的加密。

解密算法是加密算法的逆過程。

小知識(shí)之視頻

視頻(Video)泛指將一系列靜態(tài)影像以電信號(hào)的方式加以捕捉、紀(jì)錄、處理、儲(chǔ)存、傳送與重現(xiàn)的各種技術(shù)。