基于混沌理論的多層次變密鑰視頻加密方法
基于混沌理論的多層次視頻流加密方法,此方法由于采用多層次的混沌迭代,因而達(dá)到了使密鑰實(shí)時(shí)改變的目的,極大地提高了保密性能。那么接下來(lái),我就給大家詳細(xì)的介紹一下。
一、基于混沌理論的多層次變密鑰視頻加密算法介紹
1、基于混沌理論的多層次變密鑰視頻加密算法的主要思想
當(dāng)前,混沌可以用來(lái)做數(shù)據(jù)加密的事實(shí)已為越來(lái)越多的研究者所知,各式各樣的加密算法也在不斷涌現(xiàn)。這樣做的理論依據(jù)是混沌行為具有三個(gè)特征:
1)貌似隨即的特性;
2)對(duì)初始條件和控制參數(shù)的敏感性;
3)有界性。
在這里,我們采用時(shí)域有限的非線性函數(shù)來(lái)實(shí)時(shí)改變密鑰,并對(duì)明碼序列進(jìn)行多層次混沌掩蓋處理。
2、 基于混沌理論的多層次變密鑰視頻加密算法描述
(1) 框圖建立
加密過(guò)程見(jiàn)圖1,采用了四個(gè)不同的混沌算法,分別為:

CM1、CMz、CM3、CM4,它們的表達(dá)式分別為(1)、(2)、(3)、(4)。

注floor(x)取x的整數(shù)部分;round(x)取x最接近的整數(shù);
由圖1可知,CM1和CM2的輸出相加得到R,R的取值范圍應(yīng)為[0,2),而CM3和CM4的輸入范圍應(yīng)為[0,256],為了滿足要求,其中必須加入一步數(shù)值放大器,其輸人為R,輸出
為I:
![]()
(2)密鑰生成
這里,初始條件X0(1)、X0(2)和參數(shù)a、λ作為種子,其取值是固定不變的,它們用來(lái)生成混沌掩碼序列所需要的密鑰I,隨著CM1和CM2的不斷迭代,密鑰也在不斷變化,這正是本加
密思想的精髓所在??梢?jiàn),X0(1)、X0(2)、a、λ這四個(gè)輸入值對(duì)于信息保密是至關(guān)重要的。
我們采用八個(gè)字節(jié)的比特流來(lái)表示初始狀態(tài),假設(shè)這八個(gè)字節(jié)分別為B1、B2、B3、B4、B5、B6、B7、B8,則四個(gè)初始狀態(tài)將會(huì)表示為:
![]()
考慮到這四個(gè)狀態(tài)的取值范圍分別為:o<X0(1),a≤1;λ> 1;0<X0(2)<1:如果(6)中有任何一個(gè)等式的計(jì)算結(jié)果不滿足條件時(shí),解決辦法是取其倒數(shù)。
(3) 加密流程
1)產(chǎn)生混沌掩碼
對(duì)于CM3和CM4的每一個(gè)輸入I,CM3和CM4分別進(jìn)行64次迭代運(yùn)算。因?yàn)樗鼈兊妮敵鼋Y(jié)果都是[O,256]范圍內(nèi)的整數(shù),所以共產(chǎn)生512bits的混沌掩碼序列。
2)選擇加密
加密的主要方式是利用上一步產(chǎn)生的掩碼序列,對(duì)需要加密的數(shù)據(jù)進(jìn)行異或運(yùn)算。但是,在這里,由于加密的對(duì)象是視頻信息,數(shù)據(jù)量龐大,而且要求實(shí)時(shí)性,所以不可能對(duì)全部的視頻數(shù)據(jù)都進(jìn)行加密處理,只對(duì)其中的關(guān)鍵性數(shù)據(jù)進(jìn)行處理。
我們要加密的對(duì)象是H.263編碼序列中的I幀(幀內(nèi)編碼)和P幀(幀間編碼)中經(jīng)過(guò)離散余弦變換后產(chǎn)生的DC系數(shù),以及P幀中通過(guò)運(yùn)動(dòng)估值算法產(chǎn)生的運(yùn)動(dòng)矢量(MV)和殘差值。加密時(shí),原始數(shù)據(jù)先與CM3中產(chǎn)生的521bits混沌序列進(jìn)行異或運(yùn)算,運(yùn)算的結(jié)果再與CM4產(chǎn)生的另外512bits進(jìn)行第二次異或運(yùn)算,這樣通過(guò)多次運(yùn)算使加密更徹底,從而增加破解難度。
3)密鑰轉(zhuǎn)換
在C'M3和CM4分別進(jìn)行64次迭代運(yùn)算完畢之后,CM1和CM2同時(shí)進(jìn)行一次迭代,輸出的結(jié)果使,的值發(fā)生變化,從而改變CM3和CM4的初始條件,也就是改變密鑰,這樣CM3和CM4再迭代64次得出的512bits混沌序列將會(huì)呈現(xiàn)完全不同的運(yùn)動(dòng)行為。從而極大的增加了破解難度。
3、算法推廣
通過(guò)加快密鑰的變換頻率、增加加密運(yùn)算的層次,以及選擇更多的原始數(shù)據(jù)進(jìn)行加密都可以進(jìn)一步增加系統(tǒng)的保密性。圖2所示為三層混沌序列加袒的流程圖。

二、基于混沌理論的多層次變密鑰視頻加密算法實(shí)現(xiàn)
加密對(duì)象:YUV(4:2:0)標(biāo)準(zhǔn)測(cè)試序列經(jīng)過(guò)H.263壓縮編碼后的數(shù)據(jù)流。所謂YUV測(cè)試序列是指由一些權(quán)威機(jī)構(gòu)提供的用于編碼測(cè)試的YUV格式的視頻序列,比較常用的有:Forernan. yuv、News. yuv、claire. yuv、grandma. yuv、salesman、yuv等等,我們用的是前面兩個(gè)。
加密工具:Visual C++編程語(yǔ)言、DirectShow開(kāi)發(fā)工具。
加密結(jié)果如圖3所示。

結(jié)果分析:
1)加密效率分析
我們這里選用的兩種視頻序列具有截然不同的運(yùn)動(dòng)特征:Forcman更加動(dòng)態(tài),而News偏向于靜態(tài)。之所以這樣選擇,目的是試圖分析這種加密方法對(duì)于不同的加密對(duì)象的加密效率如何。測(cè)試加密效率的方法之一就是用視頻壓縮所用的時(shí)間與加密時(shí)間作對(duì)比,如果加密時(shí)間只占?jí)嚎s時(shí)間很小的比例,那么就可以說(shuō)明我們的加密算法不會(huì)引起視頻傳輸?shù)妮^大時(shí)延,具有可以信賴的加密效率。
我們分別選用100幀和300幀的原始序列進(jìn)行測(cè)試,而且測(cè)試序列采用的格式分別為Cif和Qicf.結(jié)果如表1所示。

注:Tec、Tdc分別為原始視頻序列用H 263編碼和解碼所用的時(shí)間。
Tecc、Tdcc分別為原始視頻序列用H 263編碼、加密以及解碼、解密所用的總時(shí)間。
![]()
由表1可知,加解密時(shí)間與編解碼時(shí)間相比,只占很小的比例,完全可以滿足實(shí)時(shí)視頻交互的要求。
2)保密性能分析
在我們提出的視頻文件加密框圖中,如果沒(méi)有CM1,CM2,那么通過(guò)一些密碼分析方法來(lái)重新構(gòu)造CM3,CM4從而到達(dá)解密的目的是可能的。
但是,由于這里使用了多層次的加密方法,使得CM3、CM4的狀態(tài)實(shí)時(shí)改變,這樣,即使通過(guò)一些知道部分明文( known-p laintcxt)的攻擊方法得到CM3、CM4的輸入I也很難推算出最初始的輸入X0(1)、X0(2)、a、λ。因?yàn)镮是CM1、CM2的輸出相加的結(jié)果,要想得到這兩個(gè)加數(shù)各自的值非常困難。
小知識(shí)之混沌理論
混沌理論(Chaos theory)是一種兼具質(zhì)性思考與量化分析的方法,用以探討動(dòng)態(tài)系統(tǒng)中(如:人口移動(dòng)、化學(xué)反應(yīng)、氣象變化、社會(huì)行為等)無(wú)法用單一的數(shù)據(jù)關(guān)系,而必須用整體、連續(xù)的數(shù)據(jù)關(guān)系才能加以解釋及預(yù)測(cè)之行為。










